mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-22 15:11:31 +00:00
[idd] recovery: restore fallback display
Add a protocol-independent recovery channel outside LGMP so clients can request a usable guest display even when transport versions differ. Synchronize recovery state with the helper across driver restarts and restore the configured topology without persisting temporary changes.
This commit is contained in:
@@ -24,18 +24,30 @@
|
||||
|
||||
static constexpr wchar_t LG_PIPE_NAME[] = L"\\\\.\\pipe\\LookingGlassIDD";
|
||||
|
||||
#pragma pack(push, 4)
|
||||
struct LGPipeMsg
|
||||
{
|
||||
unsigned size;
|
||||
enum
|
||||
enum Type : uint32_t
|
||||
{
|
||||
SETCURSORPOS,
|
||||
SETDISPLAYMODE,
|
||||
GPUSTATUS,
|
||||
RELOADSETTINGS,
|
||||
RESOLUTIONREJECTED
|
||||
RESOLUTIONREJECTED,
|
||||
SET_RECOVERY,
|
||||
RECOVERY_OFF,
|
||||
RECOVERY_ON,
|
||||
RECOVERY_FAILED,
|
||||
RECOVERY_NO_DISPLAY
|
||||
}
|
||||
type;
|
||||
|
||||
enum : uint32_t
|
||||
{
|
||||
RECOVERY_ACTIVE = 0x1U
|
||||
};
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
@@ -66,7 +78,15 @@ struct LGPipeMsg
|
||||
uint32_t requiredSizeMiB;
|
||||
}
|
||||
resolutionRejected;
|
||||
|
||||
struct
|
||||
{
|
||||
uint64_t session;
|
||||
uint32_t request;
|
||||
}
|
||||
recovery;
|
||||
};
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(LGPipeMsg) == 20, "LGPipeMsg wire layout changed");
|
||||
|
||||
Reference in New Issue
Block a user