Report driver status to WebUI

This commit is contained in:
Yukino Song
2024-08-18 08:48:18 +08:00
parent 6fa277ec0b
commit 833c902a56
6 changed files with 29 additions and 18 deletions
+1 -1
View File
@@ -547,7 +547,7 @@ namespace confighttp {
outputTree.put("platform", SUNSHINE_PLATFORM);
outputTree.put("version", PROJECT_VER);
#ifdef _WIN32
outputTree.put("vdisplaySupported", proc::vdisplayDriverInitialized ? "true" : "false");
outputTree.put("vdisplayStatus", proc::vdisplayDriverInitialized ? "true" : "false");
#endif
auto vars = config::parse_config(file_handler::read_file(config::sunshine.config_file.c_str()));
+16 -16
View File
@@ -84,22 +84,6 @@ bool setPrimaryDisplay(const wchar_t* primaryDeviceName) {
return true;
}
bool openVDisplayDevice() {
SUDOVDA_DRIVER_HANDLE = OpenDevice(&SUVDA_INTERFACE_GUID);
if (SUDOVDA_DRIVER_HANDLE == INVALID_HANDLE_VALUE) {
return false;
}
if (!CheckProtocolCompatible(SUDOVDA_DRIVER_HANDLE)) {
printf("[SUDOVDA] SUDOVDA protocol not compatible with driver!\n");
CloseHandle(SUDOVDA_DRIVER_HANDLE);
SUDOVDA_DRIVER_HANDLE = INVALID_HANDLE_VALUE;
return false;
}
return true;
}
bool startPingThread() {
if (SUDOVDA_DRIVER_HANDLE == INVALID_HANDLE_VALUE) {
return false;
@@ -129,6 +113,22 @@ bool startPingThread() {
return true;
}
bool openVDisplayDevice() {
SUDOVDA_DRIVER_HANDLE = OpenDevice(&SUVDA_INTERFACE_GUID);
if (SUDOVDA_DRIVER_HANDLE == INVALID_HANDLE_VALUE) {
return false;
}
if (!CheckProtocolCompatible(SUDOVDA_DRIVER_HANDLE)) {
printf("[SUDOVDA] SUDOVDA protocol not compatible with driver!\n");
CloseHandle(SUDOVDA_DRIVER_HANDLE);
SUDOVDA_DRIVER_HANDLE = INVALID_HANDLE_VALUE;
return false;
}
return startPingThread();
}
std::wstring createVirtualDisplay(
const char* s_client_uid,
const char* s_client_name,
+1 -1
View File
@@ -15,8 +15,8 @@ namespace VDISPLAY {
LONG changeDisplaySettings(const wchar_t* deviceName, int width, int height, int refresh_rate);
bool setPrimaryDisplay(const wchar_t* primaryDeviceName);
bool openVDisplayDevice();
bool startPingThread();
bool openVDisplayDevice();
std::wstring createVirtualDisplay(
const char* s_client_uid,
const char* s_client_name,