Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

output-management: Add more detailed vrr configuration #42

Merged
merged 1 commit into from
Nov 20, 2024

Conversation

Drakulix
Copy link
Member

@Drakulix Drakulix commented Nov 8, 2024

wlr-output-configuration simply differentiates between enabled and disabled for adaptive sync. Given the flickering issues of some displays, we want to opportunistically enable VRR for fullscreen applications, so we need more state variants to represent all our vrr "modes".

Additionally wlr-output-configuration does not make an attempt to advertise if VRR is even available. This makes some sense as there really isn't any good feedback mechanism in the DRM api. The property used to enable VRR is simply a hint and may or may not be honored by the compositor: https://drmdb.emersion.fr/properties/3435973836/VRR_ENABLED

However we can at least check, that said variable is available and the connector advertises support https://drmdb.emersion.fr/properties/3233857728/vrr_capable. While the wlr-output-management allows the compositor to simply fail any configurations trying to enable VRR in these cases, we would like to hide the UI, so lets add an event to advertise availability.

@Drakulix Drakulix requested a review from ids1024 November 8, 2024 13:52
@Drakulix Drakulix force-pushed the output-mgmt-vrr branch 2 times, most recently from 7ce1a2c to 885639f Compare November 8, 2024 16:25
@ids1024
Copy link
Member

ids1024 commented Nov 15, 2024

Seems reasonable. (As a protocol; I don't know much about how VRR works, but I presume the reasoning for this to exist is sound.) I guess it should document briefly how this interacts with zwlr_output_configuration_head_v1.set_adaptive_sync ?

Probably allow either, but calling both will produce an already_set error. (Looks like set_scale_1000 already documents that it works that way.)

@Drakulix
Copy link
Member Author

I guess it should document briefly how this interacts with zwlr_output_configuration_head_v1.set_adaptive_sync ?

Probably allow either, but calling both will produce an already_set error. (Looks like set_scale_1000 already documents that it works that way.)

Good idea, added.

@Drakulix Drakulix merged commit 27d70b6 into main Nov 20, 2024
4 checks passed
@Drakulix Drakulix deleted the output-mgmt-vrr branch November 20, 2024 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants