output: introduce WLR_NO_HARDWARE_CURSORS

This commit is contained in:
emersion 2018-09-14 18:07:21 +02:00
parent 769a8e9917
commit 524702eb16
2 changed files with 9 additions and 0 deletions

View file

@ -14,6 +14,8 @@ wlroots specific
* *WLR_X11_OUTPUTS*: when using the X11 backend specifies the number of outputs * *WLR_X11_OUTPUTS*: when using the X11 backend specifies the number of outputs
* *WLR_HEADLESS_OUTPUTS*: when using the headless backend specifies the number * *WLR_HEADLESS_OUTPUTS*: when using the headless backend specifies the number
of outputs of outputs
* *WLR_NO_HARDWARE_CURSORS*: set to 1 to use software cursors instead of
hardware cursors
rootston specific rootston specific
------------------ ------------------

View file

@ -720,6 +720,13 @@ static bool output_cursor_attempt_hardware(struct wlr_output_cursor *cursor) {
transform = cursor->surface->current.transform; transform = cursor->surface->current.transform;
} }
const char *no_hardware_cursors = getenv("WLR_NO_HARDWARE_CURSORS");
if (no_hardware_cursors != NULL && strcmp(no_hardware_cursors, "1") == 0) {
wlr_log(WLR_DEBUG,
"WLR_NO_HARDWARE_CURSORS set, forcing software cursors");
return false;
}
struct wlr_output_cursor *hwcur = cursor->output->hardware_cursor; struct wlr_output_cursor *hwcur = cursor->output->hardware_cursor;
if (cursor->output->impl->set_cursor && (hwcur == NULL || hwcur == cursor)) { if (cursor->output->impl->set_cursor && (hwcur == NULL || hwcur == cursor)) {
// If the cursor was hidden or was a software cursor, the hardware // If the cursor was hidden or was a software cursor, the hardware