! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Compositor refresh rate limited to 60Hz
Status:
RESOLVED: MOVED

Comments

Description jclc 2018-04-13 21:52:56 CEST
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)
Comment 1 jclc 2018-04-13 22:20:05 CEST
Well this is awkward... Seems like entirely restarting Xfwm fixed this for now
Comment 2 Olivier Fourdan editbugs 2018-04-16 08:46:51 CEST
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.
Comment 3 jclc 2018-12-22 04:04:19 CET
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.
Comment 4 jclc 2018-12-22 04:54:15 CET
Also, there is no option in the settings to change vsync method, although this is a separate issue altogether.
Comment 5 pqwoerituytrueiwoq 2019-04-27 16:55:19 CEST
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
Comment 6 Olivier Fourdan editbugs 2019-04-27 18:09:31 CEST
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?
Comment 7 pqwoerituytrueiwoq 2019-04-27 18:19:03 CEST
Just on the main desktop environment, easy to tell it is stuck at 60 based on dragging the calculator around the screen
Comment 8 pqwoerituytrueiwoq 2019-04-27 18:30:07 CEST
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
Comment 9 Olivier Fourdan editbugs 2019-04-27 21:21:11 CEST
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).
Comment 10 jclc 2019-04-27 21:34:16 CEST
For me it says --vblank isn't a supported option.
Comment 11 Olivier Fourdan editbugs 2019-04-27 21:35:45 CEST
Right, what gives “xfwm4 --version” ?
Comment 12 jclc 2019-04-27 21:44:31 CEST
4.13.1git.UNKNOWN (revision UNKNOWN) for Xfce 4.13
This is the latest packaged version for Manjaro
Comment 13 jclc 2019-04-27 21:45:28 CEST
	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
Comment 14 Olivier Fourdan editbugs 2019-04-27 21:52:33 CEST
Try this then:

$ xfconf-query -c xfwm4 -p /general/vblank_mode -s off
$ xfwm4 --replace &
Comment 15 jclc 2019-04-27 22:15:20 CEST
No difference.
Comment 16 pqwoerituytrueiwoq 2019-04-27 23:02:53 CEST
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
Comment 17 Olivier Fourdan editbugs 2019-04-28 15:22:40 CEST
Humm, yes, xfwm4 compositor adds a 10ms repaint timeout, whereas 144Hz is actually ~7ms so yes, it would miss the repaint.
Comment 18 Git Bot editbugs 2019-04-28 15:26:34 CEST
Olivier Fourdan referenced this bugreport in commit 10b15b1ad69239303944a86f91e5722066506414

compositor: Reduce repaint timeout to 2ms

https://git.xfce.org/xfce/xfwm4/commit?id=10b15b1ad69239303944a86f91e5722066506414
Comment 19 pqwoerituytrueiwoq 2019-04-28 15:37:42 CEST
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
Comment 20 Git Bot editbugs 2020-05-29 12:20:24 CEST
-- 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

Bug #14335

Reported by:
jclc
Reported on: 2018-04-13
Last modified on: 2020-05-29

People

Assignee:
Olivier Fourdan
CC List:
1 user

Version

Version:
4.12.0

Attachments

Additional information