This can be fixed with a config file edit. It doesn't require unlocking the read-only partition, so it should persist between updates (though I haven't tested this).
Instructions
- If you haven't set a sudo password using passwd in the terminal before, do so now. Just type passwd in Konsole, and you will be asked to set a password. When you type, it won't show you what you're typing, that's normal, just type your password confidently. Make sure you remember your password. If it asks you for an existing password instead, you need to reset it using this guide.
- Type sudo nano /etc/X11/xorg.conf.d/20-amdgpu.conf in Konsole. Enter your sudo password if asked.
- Copy and paste this into the text editor using Shift+Ctrl+V or the Paste button at the top right:
Code: Select all
Section "OutputClass" Identifier "AMD" MatchDriver "amdgpu" Driver "amdgpu" Option "TearFree" "true" EndSection
- Press Ctrl+O, then Enter, to save.
- Press Ctrl+X, to exit the text editor.
- Restart your Steam Deck.
Why does this happen?
Gaming Mode uses Wayland, while Desktop Mode uses X11.
The default config on Steam Deck apparently still allows for screen tearing under X11. Under Wayland, this doesn't happen anyway, which is why this only happens in Desktop Mode. I think this only happens with some external display setups, but I'm not entirely sure - this happened to me with both the official Valve dock and a third party "Hiearcool" dock from Amazon, with multiple HDMI cables, and with multiple TVs.
Either way, the config file we created enables the "TearFree" AMD driver option, which does exactly what it sounds like.
Thanks to gwen_dolly on the Steam Deck Discord for assisting me with this!