virtualx-engine/platform/linuxbsd
Riteo 2e07dcf1e7 Wayland: suspend window after frame timeout or suspend state
This is a pretty popular approach that took a while for me to wrap my
head around and which only recently got "official" support through an
update (xdg_shell version 6), so I think that this is all-in-all a
better option than the overkill 2000Hz ticking we have now :P

Basically, we wait for a frame event and, if either too much time passes
or we get the new `suspended` state, we consider the window as "hidden"
and stop drawing, ticking by the low usage rate.

This should work great for KDE and Mutter, which support the new state,
but not yet for sway, which is still stuck at a very old xdg_shell
version and thus falls back to the timeout approach.

Be aware that if we rely on timing out the engine will have to stall for
the whole timeout, which _could_ be problematic but doensn't seem like
it. Further testing is needed.

Special thanks go to the guys over at #wayland on OFTC, who very
patiently explained me this approach way too many times.
2024-02-15 23:48:56 +01:00
..
doc_classes Doctool: Remove version attribute from XML header 2023-07-06 10:08:21 +02:00
export Add Wayland support 2024-01-30 16:44:47 +01:00
wayland Wayland: suspend window after frame timeout or suspend state 2024-02-15 23:48:56 +01:00
x11 Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
crash_handler_linuxbsd.cpp Made signal handling more uniform. Fixes #82102 2023-09-22 20:06:58 -06:00
crash_handler_linuxbsd.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
dbus-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
dbus-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
detect.py SCons: "Environment" to "SConsEnvironment" 2024-02-14 09:26:47 -06:00
fontconfig-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
fontconfig-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
freedesktop_portal_desktop.cpp Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
freedesktop_portal_desktop.h Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
freedesktop_screensaver.cpp Check DBus loading status before attempting to detect its version 2023-05-11 19:29:10 +02:00
freedesktop_screensaver.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
godot_linuxbsd.cpp [Linux] Add support for PCK embedding section with non GNU-ld linkers. 2024-01-24 12:21:05 +02:00
joypad_linux.cpp [Linux/Freedesktop] Implement native file selection dialog support. 2023-08-17 10:56:16 +03:00
joypad_linux.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
libudev-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
libudev-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
os_linuxbsd.cpp Wayland: suspend window after frame timeout or suspend state 2024-02-15 23:48:56 +01:00
os_linuxbsd.h Wayland: suspend window after frame timeout or suspend state 2024-02-15 23:48:56 +01:00
platform_config.h [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching. 2023-09-21 14:21:00 +03:00
platform_gl.h [X11] Add support for using EGL/GLES instead of GLX. 2023-10-04 14:15:36 +03:00
platform_linuxbsd_builders.py
README.md Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
SCsub Add Wayland support 2024-01-30 16:44:47 +01:00
speechd-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
speechd-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
tts_linux.cpp TTS_Linux: Fix size_t template issue on OpenBSD by using int consistently 2023-10-27 12:23:39 -04:00
tts_linux.h TTS_Linux: Fix size_t template issue on OpenBSD by using int consistently 2023-10-27 12:23:39 -04:00
xkbcommon-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
xkbcommon-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00

Linux/*BSD platform port

This folder contains the C++ code for the Linux/*BSD platform port.

See also misc/dist/linux folder for additional files used by this platform.

Documentation

Artwork license

logo.png is derived from the Linux logo:

Permission to use and/or modify this image is granted provided you acknowledge me lewing@isc.tamu.edu and The GIMP if someone asks.