Strange screen tearing problems on Arch Linux with RX 6600 XT
Hello! I've been experiencing an issue with my recently installed RX 6600 XT gpu where without any sort of vsync enabled in various games, it'd appear as though portions of the screen were running at a significantly lower framerate than other portions. When enabled it would sort of fix it but then introduce extreme input delay (probably to be expected). I've been wracking my brain on this issue for a few months now. I should note that I did not experience this issue on my old gpu (An RX 570 8gb), nor do I experience this issue under windows 11. This also does not appear to happen outside of 3D graphical applications.
Here's a comprehensive list of things I've tried, and their effects, to the best of my memory: -Turning TearFree on: caused some other issues where the entire screen would appear to run at a lower fps than reported by fps trackers such as mango hud under some circumstances. Also seemed to have a tear line consistently near the top of the screen. -Turning OFF TearFree AND allowpageflipping: seemed to have no effect. -Changing proton versions: no effect. -Enabling vsync: partially fixed, but introduced horrible input latency. Still has tear line near the top of the screen. Looking for alternatives. -Cranking up framerate cap to be significantly higher than refresh rate: Seemingly hides the effect entirely when feasible, but not feasible for heavier games. -Forcing RADV: Some games were already using this, doesn't seem to have an effect. -Attempted launching games with different schedulers: Admittedly I'm not sure what I'm doing here, and the effect appears to be nil. -Launching the game using mesa mailbox mode: for some strange reason has no effect. Doesn't even report mailbox present mode in mango. -Verifying that xrandr is configured correctly: xrandr is already set to my monitor's native resolution and refresh rate. -Playing under Wayland: same effect as tearfree. -Disabling Picom (my compositer): No effect. -Using AMDVLK: Problem persists. -Trying an OpenGL app: Game runs with seemingly normal tearing behavior. (perhaps the problem lies with DXVK?) -Using dxvk tearfree: Same as normal tearfree. Additional details as requested: -Resolution: 1920x1080 60hz -Mesa Ver: 24.0.2-1 (obtained via pacman) I've been looking everywhere on the internet for solutions and have come up entirely empty. Any suggestions would be very much appreciated. I'll update if I find a fix myself as well. EDIT: I should clarify - this doesn't occur on on the window manager (i3) itself. Only once i'm in a 3D game does it start appearing. |
Hello, Chloroxite & welcome to LQ.
I have exactly the same card, RX 6600XT on Slackware-15.0 and it runs with no issues. I'm onI'm not a gamer, so I'm not pushing limits. This is a cheapo version of the RX6800XT. The phoronix review pointed to the narrower memory bus width (128 bit) vs the RX6800XT, and said you'd notice it really above 1080p. I'm using mesa-21.3.5 & running on 1920x1080@60 Hz. Detail your settings, and mesa version, & compile details if you compiled it. What are you running at (e.g 1920x1080@60Hz), and does it still tear if you reduce settings? There's also proprietary drivers IIRC and you can try those. Check if the script includes an uninstall option, and keep it around if it does. |
Quote:
I'm assuming when you refer to the proprietary drivers you're refering to AMDGPU and AMDVLK. I suppose I could give those a shot to see what happens. |
Updated the post with the results of some of the things you suggested/requested. I haven't tried lowering my resolution past my monitor's native resolution, not sure I want to, since even if that worked it'd kinda be a non-solution. It's interesting you mention you're using an older version of Mesa than I am, but im not even sure if it matters in this case, since using pure AMDVLK also didn't fix it.
|
Don't update posts. Nobody remembers clearly except you what the problem was. Make new posts. It also leaves me looking like a twit asking you for details given in post 1.
The card is more than capable of that. AFAIK, it does 4K respectably, but performance suffers. The chip is the RX6800XT, AMD's top gpu chip of 2022/2023. I'm on the same card, same output, and 5.15.63 kernel modules, but I don't have your issues. Try and find a 3D test online that we both can take. I wouldn't pay much heed to Mesa versions unless you're on the bleeding edge. There are AMD proprietary modules, but the standard kit should work. While you're gaming, have htop open in a terminal so you can check the load. It might get you somewhere. |
https://www.matthew-x83.com/online/gpu-test.php
How's this? It's an in-browser test but im lazy. :D If you have any better ideas im all ears. |
I tried your test in on fullscreen in Brave Browser-1.61. I saw no tearing. I adjusted the number of balls until the refresh rate dropped. I could hold 60Hz pretty well with 440 balls. I occasionally dropped to 59 or 58, but it pulled back to 60. 440 also worked with Chromium & firefox.
That was a zoom level of 125-150% which is comfortable for my eyes. I'm on a six core AMD5600 & PCIE-4.x, FWIW. How does yours do? As for better ideas, phoronix.com have a test suite. That's a better idea. That's thorough and does have some comparative results. |
I forgot to run the test today, however I have noticed in my testing on games that my voltage is seemingly a bit low at times, at about 0.7... Surely enough if I open corectrl and set it to high performance mode, the voltage holds at a out 1.1/1.2v and the tearingnactually smoothes out. it might be my voltage.
|
I've narrowed it down further. I believe what fixes it is doing
Quote:
The second command sets the gpu to use power profile "3D_FULLSCREEN". On testing it after changing these settings, it's a night and day difference. Although there's still tearing even with vsync on, the frame stutter effect is entirely absent. If I wanted to I could be entirely content playing games like this. But I *would* like to figure out how to entirely cure the tearing. Will update as I learn more. EDIT: forgot to mention, I created a service to point to an .sh file that just runs these commands at startup. |
Quote:
|
I measured voltage in mangohud while playing a game to test it, it was measured in millivolts. All that being said all the problems have been figured out. In short I used the commands:
Quote:
Suppose I should mark the thread as solved now! Thanks again! |
All times are GMT -5. The time now is 02:45 AM. |