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

Add Native Wayland Support + MailBox Mode #309

Closed
wants to merge 7 commits into from

Conversation

thr3343
Copy link
Contributor

@thr3343 thr3343 commented Sep 25, 2023

Rebase of #291 onto the new 1.20.x default branch

This is mostly identical to the prior PR, outside of expanding Mailbox mode to be usable on all platforms, not just Wayland
(if the GPU driver supports MailBox Mode)

As before this won't include support for tearing-control-unstable-v1, (can't figure out how to enable/use it properly)
so Mailbox instead of Immediate mode will be used as the default display mode when Vsync is disabled

This also will not use swapchain images above 2 if Wayland + AMD is detected to avoid game breaking glitches
(Due to a suspected RADV driver bug)
(This was actually due to a limitation with the current Swapchain system used in the mod,
this has been fixed and will be added when the new version of this PR is opened)

Avoids "65548: Wayland: The platform does not support setting the cursor position" log spam
(not just Wayland)
@thr3343 thr3343 changed the title Add Native Wayland Support Add Native Wayland Support + MailBox Mode Sep 25, 2023
@thr3343 thr3343 force-pushed the NativeWaylandSupportTest branch 2 times, most recently from 6599a58 to f81f751 Compare September 25, 2023 22:45
@thr3343
Copy link
Contributor Author

thr3343 commented Sep 26, 2023

Apolgies will reopen this again, as i got carried away and started adding too many features
(that are irrelevant to Wayland support)

@thr3343 thr3343 closed this Sep 26, 2023
@iMonZ
Copy link

iMonZ commented Oct 11, 2023

@thr3343 Hey any news on Wayland support? This would be so awesome!
And the other features can be added in other PRs?

@thr3343
Copy link
Contributor Author

thr3343 commented Oct 11, 2023

@thr3343 Hey any news on Wayland support? This would be so awesome! And the other features can be added in other PRs?

This PR got closed due to several game breaking issues

  • Had swapchain glitches with Mesa/RADV Driver (disabling VSync causes glitches if Queued Frames was too high)
  • FastSync (Mailbox Mode In Vulkan) was unintuitive to enable
  • Wayland can't set the cursor position without workarounds (causes odd cursor glitches when using the Inventory menu)

With the exception of the cursor position bug, these issues have been fixed with a new improved version of this PR,
However i will need to cleanup the commit history in a new branch, so it likely won't get opened until later this/next week

@iMonZ
Copy link

iMonZ commented Oct 11, 2023

@thr3343 Hey any news on Wayland support? This would be so awesome! And the other features can be added in other PRs?

This PR got closed due to several game breaking issues

  • Had swapchain glitches with Mesa/RADV Driver (disabling VSync causes glitches if Queued Frames was too high)
  • FastSync (Mailbox Mode In Vulkan) was unintuitive to enable

These issues have been fixed with a new upgraded/updated version of this PR, However i will need to cleanup the commit history in a new branch, so it likely won't get opened until later this/next week

Thanks for the followup!

@thr3343
Copy link
Contributor Author

thr3343 commented Oct 11, 2023

@thr3343 Hey any news on Wayland support? This would be so awesome! And the other features can be added in other PRs?

This PR got closed due to several game breaking issues

  • Had swapchain glitches with Mesa/RADV Driver (disabling VSync causes glitches if Queued Frames was too high)
  • FastSync (Mailbox Mode In Vulkan) was unintuitive to enable

These issues have been fixed with a new upgraded/updated version of this PR, However i will need to cleanup the commit history in a new branch, so it likely won't get opened until later this/next week

Thanks for the followup!

One other thing is I never figured out how to fix High input lag with VSync, especially with X11 Vsync which is very sluggish on my system.

However i believe this input lag issue exists upstream as well, so i won't be too concerned with fixing it

I also will adjust the code so the PR can also handle supporting tearing_control_v1 when that is added to the Mesa Driver at some point in the future

@iMonZ
Copy link

iMonZ commented Oct 11, 2023

@thr3343 Hey any news on Wayland support? This would be so awesome! And the other features can be added in other PRs?

This PR got closed due to several game breaking issues

  • Had swapchain glitches with Mesa/RADV Driver (disabling VSync causes glitches if Queued Frames was too high)
  • FastSync (Mailbox Mode In Vulkan) was unintuitive to enable

These issues have been fixed with a new upgraded/updated version of this PR, However i will need to cleanup the commit history in a new branch, so it likely won't get opened until later this/next week

Thanks for the followup!

One other thing is I never figured out how to fix High input lag with VSync, especially with X11 Vsync which is very sluggish on my system.

However i believe this input lag issue exists upstream as well, so i won't be too concerned with fixing it

I also will adjust the code so the PR can also handle supporting tearing_control_v1 when that is added to the Mesa Driver at some point in the future

X11 is going more and more down. I think it's better to focus on Wayland improvements.

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