Xfwm compositor limits refresh rate to 60Hz when enabled, even when vsync is disabled. Works when compositor is disabled. Using two monitors, one is 144Hz and the other is 60Hz; Nvidia proprietary drivers 390.42. Set to sync to the 144Hz monitor. Here's the xrandr output: $ xrandr Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384 DVI-I-0 disconnected (normal left inverted right x axis y axis) DVI-I-1 disconnected (normal left inverted right x axis y axis) HDMI-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 521mm x 293mm 1920x1080 60.00*+ 59.94 50.00 1680x1050 59.95 1600x900 60.00 1440x900 59.89 1280x1024 75.02 60.02 1280x800 59.81 1280x720 60.00 59.94 50.00 1152x864 75.00 1024x768 75.03 70.07 60.00 800x600 75.00 72.19 60.32 56.25 720x576 50.00 720x480 59.94 640x480 75.00 72.81 59.94 DP-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm 1920x1080 60.00 + 144.00* 119.98 99.93 59.94 50.00 1680x1050 59.88 1440x900 59.90 1280x1024 75.02 60.02 1280x720 60.00 59.94 50.00 1024x768 119.99 99.97 75.03 70.07 60.00 800x600 119.97 99.66 75.00 72.19 60.32 56.25 720x576 50.00 720x480 59.94 640x480 119.52 99.77 75.00 72.81 59.94 59.93 DP-1 disconnected (normal left inverted right x axis y axis) DVI-D-0 disconnected (normal left inverted right x axis y axis)
Well this is awkward... Seems like entirely restarting Xfwm fixed this for now
Most likely a driver issue, xfwm4 doesn't doesn't set/change/limit the refresh rate in any way (I wouldn't even know how to do that), it just uses either GL or Present for vsync.
I'm going to have to reopen this issue since it popped up again after installing another distro. I made a forum post about this https://forum.xfce.org/viewtopic.php?pid=50754#p50754 as well. The Xfwm compositor is choosing the refresh rate incorrectly. My lower refresh rate monitor is first in xrandr's output (the output seems to be the same as I posted earlier). Turning that monitor off and back on again will make the compositor run at the higher refresh rate, however this is reset after a restart. I believe the compositor should always choose the highest refresh rate being used; if the user wants to limit the refresh rate on all monitors then they can do so from the monitor settings. Compton works properly in this regard.
Also, there is no option in the settings to change vsync method, although this is a separate issue altogether.
I have 2 matching 144Hrz monitors and the compositor is stuck at 60fps Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767 DVI-D-0 disconnected (normal left inverted right x axis y axis) DP-0 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 521mm x 293mm 1920x1080 60.00 + 144.00* 119.98 119.88 99.93 59.94 50.00 1680x1050 59.88 1280x1024 75.02 60.02 1280x720 60.00 59.94 50.00 1024x768 119.99 99.97 75.03 70.07 60.00 800x600 119.97 99.66 75.00 72.19 60.32 56.25 720x576 50.00 720x480 59.94 640x480 119.52 99.77 75.00 72.81 59.94 59.93 DP-1 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) DP-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm 1920x1080 60.00 + 144.00* 119.98 119.88 99.93 59.94 50.00 1680x1050 59.88 1280x1024 75.02 60.02 1280x720 60.00 59.94 50.00 1024x768 119.99 99.97 75.03 70.07 60.00 800x600 119.97 99.66 75.00 72.19 60.32 56.25 720x576 50.00 720x480 59.94 640x480 119.52 99.77 75.00 72.81 59.94 59.93 DP-3 disconnected (normal left inverted right x axis y axis) DP-4 disconnected (normal left inverted right x axis y axis) DP-5 disconnected (normal left inverted right x axis y axis) Using sync to vbank has no effect Using ForceCompositionPipeline in nvidia settings has no effect If i turn the compositor off it works fine xfconf-query -c xfwm4 -p /general/use_compositing -t bool -s false Using xubuntu 18.04 (Linux 4.18.0-17-generic) w/ these PPAs: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa (Nvidia driver: 418.56) https://launchpad.net/~xubuntu-dev/+archive/ubuntu/ppa It also works fine when using compton
Again, what I wrote in comment 2 still stands, xfwm4 doesn't set or limit the actual refresh rate, it just uses XPresent or GLX for vblank synchronization. Where/how do yo use it's stuck at 60?
Just on the main desktop environment, easy to tell it is stuck at 60 based on dragging the calculator around the screen
Is there a command i can use to query what refresh rate XPresent and/or GLX are reporting for the sync rate? the only reason i have to blame the compositor is disabling it gives me full frames as well as it working in a diff compositor
So it's more perception of the repaint than accurate measurement. Chances are this is because of the vblank sync, which can be disabled. Not sure which version of xfwm4 you're using, but you may try “xfwm4 --vblank=off --replace” from a terminal within the session (please note that disabling vblank will cause tearing).
For me it says --vblank isn't a supported option.
Right, what gives “xfwm4 --version” ?
4.13.1git.UNKNOWN (revision UNKNOWN) for Xfce 4.13 This is the latest packaged version for Manjaro
Build configuration and supported features: - Startup notification support: Yes - XSync support: Yes - Render support: Yes - Xrandr support: Yes - Xpresent support: Yes - Embedded compositor: Yes - Epoxy support: Yes - KDE systray proxy (deprecated): No
Try this then: $ xfconf-query -c xfwm4 -p /general/vblank_mode -s off $ xfwm4 --replace &
No difference.
For me that setting does not exist, but i have a older version * /general/sync_to_vblank does exist and it is set to false This is xfwm4 version 4.12.5 (revision d730ebb6) for Xfce 4.12 Released under the terms of the GNU General Public License. Compiled against GTK+-2.24.32, using GTK+-2.24.32. Build configuration and supported features: - Startup notification support: Yes - XSync support: Yes - Render support: Yes - Xrandr support: Yes - Embedded compositor: Yes - KDE systray proxy (deprecated): No with the compositor disabled it looks like i have a high refresh rate that it does when on even with the panel at 60hrz maybe the compositor is running closer to 30 FPS maybe it is updating at 1/2 the refresh rate, i really need a better way to test it
Humm, yes, xfwm4 compositor adds a 10ms repaint timeout, whereas 144Hz is actually ~7ms so yes, it would miss the repaint.
Olivier Fourdan referenced this bugreport in commit 10b15b1ad69239303944a86f91e5722066506414 compositor: Reduce repaint timeout to 2ms https://git.xfce.org/xfce/xfwm4/commit?id=10b15b1ad69239303944a86f91e5722066506414
Do you have any idea when/if this patch will be available for me to try in this ppa? https://launchpad.net/~xubuntu-dev/+archive/ubuntu/ppa?field.series_filter=bionic if not instructions for compiling would be appreciated
-- GitLab Migration Automatic Message -- This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfwm4/-/issues/286. Please create an account or use an existing account on one of our supported OAuth providers. If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev