diff options
author | Simon Ser <contact@emersion.fr> | 2023-12-12 15:36:23 +0100 |
---|---|---|
committer | Simon Zeni <simon@bl4ckb0ne.ca> | 2023-12-12 10:04:14 -0500 |
commit | a6ef12d968111d4d8c480124575d9d86ae61e470 (patch) | |
tree | c68aa911d4bf26cac391dcf70664151c36747273 /sway/server.c | |
parent | Detect Nvidia proprietary driver via drmGetVersion() (diff) | |
download | sway-a6ef12d968111d4d8c480124575d9d86ae61e470.tar.gz sway-a6ef12d968111d4d8c480124575d9d86ae61e470.tar.zst sway-a6ef12d968111d4d8c480124575d9d86ae61e470.zip |
Detect proprietary DisplayLink drivers
evdi is open-source, but is just some condom for their proprietary
user-space driver.
Diffstat (limited to 'sway/server.c')
-rw-r--r-- | sway/server.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/sway/server.c b/sway/server.c index 267e46c0..d173581f 100644 --- a/sway/server.c +++ b/sway/server.c | |||
@@ -128,18 +128,27 @@ static void detect_proprietary(struct wlr_backend *backend, void *data) { | |||
128 | return; | 128 | return; |
129 | } | 129 | } |
130 | 130 | ||
131 | bool is_unsupported = false; | ||
131 | if (strcmp(version->name, "nvidia-drm") == 0) { | 132 | if (strcmp(version->name, "nvidia-drm") == 0) { |
132 | if (allow_unsupported_gpu) { | 133 | is_unsupported = true; |
133 | sway_log(SWAY_ERROR, "!!! Proprietary Nvidia drivers are in use !!!"); | 134 | sway_log(SWAY_ERROR, "!!! Proprietary Nvidia drivers are in use !!!"); |
134 | } else { | 135 | if (!allow_unsupported_gpu) { |
135 | sway_log(SWAY_ERROR, | 136 | sway_log(SWAY_ERROR, "Use Nouveau instead"); |
136 | "Proprietary Nvidia drivers are NOT supported. " | ||
137 | "Use Nouveau. To launch sway anyway, launch with " | ||
138 | "--unsupported-gpu and DO NOT report issues."); | ||
139 | exit(EXIT_FAILURE); | ||
140 | } | 137 | } |
141 | } | 138 | } |
142 | 139 | ||
140 | if (strcmp(version->name, "evdi") == 0) { | ||
141 | is_unsupported = true; | ||
142 | sway_log(SWAY_ERROR, "!!! Proprietary DisplayLink drivers are in use !!!"); | ||
143 | } | ||
144 | |||
145 | if (!allow_unsupported_gpu && is_unsupported) { | ||
146 | sway_log(SWAY_ERROR, | ||
147 | "Proprietary drivers are NOT supported. To launch sway anyway, " | ||
148 | "launch with --unsupported-gpu and DO NOT report issues."); | ||
149 | exit(EXIT_FAILURE); | ||
150 | } | ||
151 | |||
143 | drmFreeVersion(version); | 152 | drmFreeVersion(version); |
144 | } | 153 | } |
145 | 154 | ||