Replies: 17 comments 10 replies
-
One reason for compositors being blacklisted for VRR in the driver is because they have insane variations between the presentation duration of different frames, as they throttle compositing when the screen content doesn't change every frame. Though it might work with some displays, and I agree that it would be cool to get rid of vsync lag entirely. It might already work by simply removing Compton from the driver's blacklist and setting a refreshrate below the display's maximum in Compton's config. |
Beta Was this translation helpful? Give feedback.
-
Looks to me your can just enable vrr in mesa's config file (if you are using AMD, not sure about the other drivers), I don't think there is anything compton needs to do in particular? |
Beta Was this translation helpful? Give feedback.
-
As the Linux FreeSync implementation currently doesn't offer implicit low framerate compensation (IIRC), so maybe it would help if the compositor queried the monitor's minimum refresh rate (and/or make it configurable) and make sure to refresh at this minimum rate. That'd also be a waste of energy though. Currently compton doesn't refresh at all if there is no change and I haven't checked the outcome. I'm also not sure if this feature is that desired on desktop usage to justify including this functionality into compton. Another issue is that a hardware cursor won't make the compositor update (unless the cursor changes state of any hovered object) and if the mouse cursor is stuttering at the monitor's minimum refresh rate as the compositor is effectively handling it, this will surely impact the user experience. |
Beta Was this translation helpful? Give feedback.
-
It seems manually setting the refresh rate doesn't force Compton to actually render at that rate (anymore?). |
Beta Was this translation helpful? Give feedback.
-
What will happen right now, if you just remove compton from the blacklist? |
Beta Was this translation helpful? Give feedback.
-
I haven't done extensive testing, just gave it a quick shot. It will refresh at minimum rate, which is 35 Hz for my monitor and very unpleasant to use with a hardware cursor. It didn't eliminate the lag iirc. I'll see if I can do better testing but it'll take a while until I have access to the hardware again |
Beta Was this translation helpful? Give feedback.
-
There is also this option Maybe give that a try. |
Beta Was this translation helpful? Give feedback.
-
you can use Application Profiles in nvidia-settings to disable gsync only for picom (also turn on the gsync indicator to verify that it doesn't use gsync). |
Beta Was this translation helpful? Give feedback.
-
Can someone with a VRR monitor paste their |
Beta Was this translation helpful? Give feedback.
-
Screen 0: minimum 16 x 16, current 4480 x 1440, maximum 32767 x 32767 i'm on wayland i hope this is still useful |
Beta Was this translation helpful? Give feedback.
-
@Kommynct thanks, but I need someone who runs X natively. |
Beta Was this translation helpful? Give feedback.
-
If nobody else bothers I can do this tomorrow |
Beta Was this translation helpful? Give feedback.
-
Here is mine, native X with 3 VRR monitors. `xrandr --verbose`
|
Beta Was this translation helpful? Give feedback.
-
@accelbread Thanks! |
Beta Was this translation helpful? Give feedback.
-
So far, there is no way to make picom work with VRR other than using the unredir-if-possible parameter to make VRR work at least in full-screen windows. This disables compositing and the monitor gets the FPS of the current opened window. I don't know how, but somehow compiz doesn't have this problem, VRR works in full screen windows without disabling compositing. Is there a practice of using VRR in non full-screen window enviroments? |
Beta Was this translation helpful? Give feedback.
-
picom can't use VRR because drivers are specifically disabling it for picom. and they have a good reason to do so, because picom doesn't have a fixed update rate (it only updates when something on screen changes), i think that's messing up the refresh rate somehow. i think people are saying the screen updates very slowly. now we have frame pacing implemented maybe there is something we can do to improve the situation, but i am not sure. i'll left this as a TODO, maybe someone can take on this if they are interested. |
Beta Was this translation helpful? Give feedback.
-
As of the AMD cursor fixes in Linux 6.11, cursor movements under picom have been buttery smooth even with VRR enabled. My
|
Beta Was this translation helpful? Give feedback.
-
This is mostly a technical curiosity, honestly, i'd be interested if you could actually eliminate input latency from vsync, could that be done?
Beta Was this translation helpful? Give feedback.
All reactions