-
Notifications
You must be signed in to change notification settings - Fork 161
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
vsync broken and freesync missing #96
Comments
I know the Windows driver got broken vsync too. |
There seems to be something broken in the recent Windows drivers, I'm getting uneven presentation in Serious Sam Fusion. But I think that must be an actual regression, it it used to work without issues before (Edit: The issue on Windows is the application's fault, it incorrectly sets backbuffers). |
Good to see an assignment for this. But: As expected, this doesn't touch this amdvlk issue. |
Got it, hopefully I can take a look at the stuttery issue with vsync enabled next week. |
Fantastic, thank you. :) |
Hi @aufkrawall , is this issue only with dxvk? It's not seen on my end, native Linux. Did you install amdgpu-pro driver? And also, amdgpu.dc = 0 or 1? I'm little confused because it's a long thread continious from #16 . Could you describe again about how to reproduce this issue step by step, including OS, HW, and how to proceed with the Game (I tried with Rise Tomb benchmark, but the issue is not seen)? It will be helpful if there is any simple demo, such as modified vkcube, to reproduce this issue. |
@JacobHeAMD Without vsync, it runs with stable 82fps in that scene: This is with amdgpu.dc=1. As I mentioned before, this issue does not occur with radv. |
Is it 4k resolution of your monitor? Mine is 2k, that's probably the reason why I don't see it. I'll try 4k monitor later. |
I'm on a 1440p display and the games' render resolution is also set to it and fullscreen mode (so there should be no problem with fullscreen windows to trigger pageflipping on xorg). |
Could you please tell me which gpu are you using? You can get it by "lspci | grep VGA" in cosole. |
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef) |
I still didn't see this issue, probably I missed something important. Our CQE will try to reproduce it, will take a look if it's reproduced. |
Still broken with v-2019.Q4.1. |
Hi @aufkrawall , could you please clarify if the tearing happens to "UseFlipHint,1" + vsync on ? Or it just happens to UseFlipHint=0 or vsync off? |
@JacobHeAMD |
Hi @aufkrawall , may I know which kernel are you testing with? Is it 5.0? |
@JacobHeAMD It is 5.3.7. I'd be surprised if it made a difference, as radv just works. |
As expected, the Shadow of the Tomb Raider port by Feral shows tearing with amvlk + vsync, while radv + vsync does not. Edit: That was with amdvlk-proprietary. amdvlk-open just crashes the game. |
Now that they fixed AMDVLK on Hybrid Graphics I can see the tearing issues too when playing NI No Kuni Remastered. |
Are you rendering on a different GPU than the one that outputs to display? If yes, that might be a very similar, but actually different issue. I'm also getting tearing with radv/anv when rendering on the IGP of my 6700k while outputting via Polaris dGPU. That might be an Xorg limitation. But this amdvlk issue is not, it's an amdvlk limitation. ;) |
Ya but the thing is when i use "UseFlipHint,1" like you said the tearing stops and gets replaced by stutters (unless that's also part of "very similar issue" you meant). |
Hi @aufkrawall , would you mind to try the latest amdvlk driver? |
As broken as ever with 2019.Q4.5-1 from Arch repo. |
Do you mean it's same as before no matter if UseFlipHint is turned on or off? |
Thanks! I'll take a look the issue of "UseFlipHint,1 + Vsync". |
You likely need to get into frame rates below the display's maximum refresh rate to trigger it. In my layman terms, it appears to me like an issue of the logic that decides how frame draws are repeated to match the refresh rate as good as possible. |
The issue with tearing on fixed referesh rate displays is still a thing :X (at least on Windows) . |
@JacobHeAMD May I ask if this is fixed, now that page flipping is turned on by default in amdvlk? |
@aufkrawall , I think it's not fixed since it's not seen at my end. I will try to add timestamp log to check the issue when I have time. The flip is enabled by default now. |
Adaptive refresh can now be manually enabled in the PAL settings. |
Could somebody please retest the situation with vsync and page flipping when frame rate is below refresh rate (see Hitman 2 screenshots above)? |
@JacobHeAMD |
Enabling vsync still gives me tearing no matter the game. |
@mojojojodojo Perhaps you have an But unlike with radv, vsync with amdvlk still gives me oscillating frame time graph and thus more stutter in any game when fps are below maximum refresh rate and FreeSync is disabled: Some competitor btw. fixed their Vulkan triple buffered fifo mode in a recent driver. ;) |
Is there a way to set |
@JacobHeAMD If I understood you right, you said you couldn't reproduce. So does your DXVK frame time graph ( Recent test with RX 480, amdvlk v-2020.Q3.4, Linux 5.8/5.9-rc, xorg-server 1.20.8, xf86-video-amdgpu 19.1.0, Proton 5.0-9 and latest Hitman 2 version via Steam, compositor entirely disabled, fullscreen: amdvlk with vsync capping fps at refresh rate (85Hz) as GPU can deliver enough fps = flat: amdvlk when dropping below 85fps GPU bound = spiky: radv when dropping below 85fps GPU bound = flat (minor variance in GPU frame time like without vsync): amdvlk definitely feels more stuttery than radv when fps are below refresh rate when vsync is enabled (the result of both drivers is entirely free of tearing), it's not just a cosmetic issue in DXVK frame time graph. Could you please have another look? |
I guess they are banking on people using Freesync monitors and not using non-freesync/laptop monitors. |
With recent amdvlk-open 2021.q1.6 and amdvlk-pro 20.50.1232447 drivers, it seems mailbox vsync mode now also seems to work correctly when the application doesn't have a backbuffer queue length of at least 3 configured. But: Fifo vsync is still bad on both Linux on Windows when it comes to frame rates below refresh rate, despite of a backbuffer queue length of 3. :( |
Continuation from #16 , as I think situation is too unsatisfying to have no open ticket for it.
Vsync in amdvlk is basically broken. It tears when fps fall below refresh rate. When setting
UseFlipHint,1
inamdPalSettings.cfg
, it doesn't tear anymore, but looks way too stuttery compared to radv. This seems to be a general issue, as every game I tested shows the same behavior.Like I said in the original ticket, use amdgpu.dc=0 or modesetting Xorg DDX for testing, as there is an issue with xf86-video-amdgpu + amdgpu.dc=1:
https://bugs.freedesktop.org/show_bug.cgi?id=110659
FreeSync is missing. It is implemented in radv since Mesa 19.1 and doesn't comprise many lines of code.
The text was updated successfully, but these errors were encountered: