Detect proprietary DisplayLink drivers

evdi is open-source, but is just some condom for their proprietary
user-space driver.
This commit is contained in:
Simon Ser 2023-12-12 15:36:23 +01:00 committed by Simon Zeni
parent ff07eab85b
commit a6ef12d968

View file

@ -128,18 +128,27 @@ static void detect_proprietary(struct wlr_backend *backend, void *data) {
return; return;
} }
bool is_unsupported = false;
if (strcmp(version->name, "nvidia-drm") == 0) { if (strcmp(version->name, "nvidia-drm") == 0) {
if (allow_unsupported_gpu) { is_unsupported = true;
sway_log(SWAY_ERROR, "!!! Proprietary Nvidia drivers are in use !!!"); sway_log(SWAY_ERROR, "!!! Proprietary Nvidia drivers are in use !!!");
} else { if (!allow_unsupported_gpu) {
sway_log(SWAY_ERROR, sway_log(SWAY_ERROR, "Use Nouveau instead");
"Proprietary Nvidia drivers are NOT supported. "
"Use Nouveau. To launch sway anyway, launch with "
"--unsupported-gpu and DO NOT report issues.");
exit(EXIT_FAILURE);
} }
} }
if (strcmp(version->name, "evdi") == 0) {
is_unsupported = true;
sway_log(SWAY_ERROR, "!!! Proprietary DisplayLink drivers are in use !!!");
}
if (!allow_unsupported_gpu && is_unsupported) {
sway_log(SWAY_ERROR,
"Proprietary drivers are NOT supported. To launch sway anyway, "
"launch with --unsupported-gpu and DO NOT report issues.");
exit(EXIT_FAILURE);
}
drmFreeVersion(version); drmFreeVersion(version);
} }