1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2025-04-21 18:03:02 -04:00
picom/src
Yuxuan Shui e65ebd7d53
vblank: better workaround for NVIDIA duplicate MSCs
We used to teardown the whole vblank thread and restart it every time we
got a duplicate msc. This used to work OK, but newer NVIDIA drivers
broke this. And to recap, simply wait for vblank again upon reception
of duplicate MSCs _does not_ work either, and will just stuck us in an
infinite loop.

After some experimentation, I found that rendering a new frame gets us
out of the infinite duplicate msc loop. So that's what we do now, i.e.
inserting a synthetic vblank to trigger a new frame. Some care is taken
to make sure synthetic vblanks' msc numbers don't conflict with real
ones.

Fixes #1265

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-10-17 16:28:38 +01:00
..
backend misc: fix warnings when building for arm, aarch64, and i686 2024-10-17 00:00:54 +01:00
fuzzer c2: add a libfuzzer fuzzer for c2 2024-02-17 16:48:58 +00:00
renderer api/backend: backend_command doesn't need to be here 2024-10-15 01:57:12 +01:00
transition misc: fix warnings when building for arm, aarch64, and i686 2024-10-17 00:00:54 +01:00
utils utils/ui: show remaining time progress bar 2024-10-17 03:37:46 +01:00
wm wm/win: remove an unused field of struct win 2024-10-17 00:11:32 +01:00
api.c misc: general chores 2024-06-03 17:21:54 +01:00
api_internal.h api: introduce the concept of backend specific plugins 2024-05-25 11:08:49 +01:00
atom.c wm: don't reap orphans 2024-09-07 10:59:29 +01:00
atom.h misc: fix a few typos in the comments 2024-10-16 05:55:08 +03:00
c2.c config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
c2.h config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
common.h common: remove an unused function 2024-10-16 23:49:54 +01:00
compiler.h wm/win: fix handling of windows with multiple window types 2024-08-06 06:48:26 +01:00
config.c misc: fix/silence a bunch of linter warnings 2024-10-14 15:45:31 +01:00
config.h config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
config_libconfig.c config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
dbus.c misc: fix/silence a bunch of linter warnings 2024-10-14 15:45:31 +01:00
dbus.h misc: general chores 2024-06-03 17:21:54 +01:00
diagnostic.c misc: print better versions 2024-08-30 00:56:37 +01:00
diagnostic.h picom: make sure --diagnostics works when another picom is running 2020-03-11 19:15:26 +00:00
event.c misc: fix/silence a bunch of linter warnings 2024-10-14 15:45:31 +01:00
event.h core: recheck focus when client windows change 2024-07-29 17:57:16 +01:00
inspect.c animation: add geometry animation trigger 2024-08-12 03:30:37 +01:00
inspect.h inspect: support inspection of the new window rules 2024-08-09 23:21:04 +01:00
log.c inspect: support inspection of the new window rules 2024-08-09 23:21:04 +01:00
log.h config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
meson.build general: remove code related to the legacy backends 2024-10-14 15:00:43 +01:00
options.c config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
options.h plugin: add picom API headers 2024-05-25 11:08:43 +01:00
picom.c config: pop a message box for problematic options 2024-10-17 03:58:00 +01:00
picom.h misc: fix/silence a bunch of linter warnings 2024-10-14 15:45:31 +01:00
picom.modulemap rename: fix the name of the modulemap file 2019-10-24 19:41:35 +01:00
region.h misc: fix/silence a bunch of linter warnings 2024-10-14 15:45:31 +01:00
rtkit.c misc: general chores 2024-06-03 17:21:54 +01:00
rtkit.h misc: fix/silence a bunch of linter warnings 2024-10-14 15:45:31 +01:00
vblank.c vblank: better workaround for NVIDIA duplicate MSCs 2024-10-17 16:28:38 +01:00
vblank.h core: fix poll for event loop (i hope) 2024-10-13 00:28:11 +01:00
x.c utils/misc: add a helper for spawning detached processes 2024-10-17 03:37:36 +01:00
x.h utils/misc: add a helper for spawning detached processes 2024-10-17 03:37:36 +01:00
xrescheck.c Run clang-format 2019-03-10 12:35:38 +00:00
xrescheck.h Run clang-format 2019-03-10 12:35:38 +00:00