Graphical "jitter" in all games on Sway with Vulkan when not in fullscreen
Quick summary
Running any game on Sway will have "jittering" graphical issues with Vulkan when not in fullscreen
Details
Loading any game on RPCS3 with Vulkan when using Sway and not fullscreened seems to have graphical issues, there is a constant "jitter" where the display seemingly goes backwards and then quickly goes back to where it's meant to be, and depending on the game the effect can be minor or serve.
Attach a log file
RPCS3 v0.0.33-16919-8131f402 Alpha | HEAD
13th Gen Intel(R) Core(TM) i5-13600KF | 20 Threads | 31.17 GiB RAM | TSC: 3.494GHz | AVX+ | FMA3
Operating system: POSIX, Name: Linux, Release: 6.10.8-200.fc40.x86_64, Version: #1 SMP PREEMPT_DYNAMIC Wed Sep 4 21:41:11 UTC 2024
Qt version: Compiled against Qt 6.6.3 | Run-time uses Qt 6.6.3
Current Time: 2024-09-13T22:05:48
Initialization times before main(): 0.046454s
·! 0:00:00.000004 SYS: argc: 1, argv: '/tmp/.mount_RPCS3.oV0EAT/usr/bin/rpcs3'
·! 0:00:00.000011 SYS: Maximum open file descriptors: 4096
·! 0:00:00.041423 UUID: Installation ID: {e1685af0-37c8-4a02-bab0-240c72d0a626}
·A 0:00:00.086387 {Vulkan Device Enumeration Thread} RSX: Found Vulkan-compatible GPU: 'AMD Radeon RX 6600 XT (RADV NAVI23)' running on driver 24.1.7
·A 0:00:00.086720 {Vulkan Device Enumeration Thread} RSX: Found Vulkan-compatible GPU: 'llvmpipe (LLVM 18.1.6, 256 bits)' running on driver 0.0.1
·! 0:00:00.087419 CFG: Setting the default renderer to Vulkan. Default GPU: 'AMD Radeon RX 6600 XT (RADV NAVI23)'
·! 0:00:00.097895 SYS: Setting user ID '00000001'
·! 0:00:00.105795 VFS: VFS config missing. Using default settings. Path: /home/REDACTED/.config/rpcs3/vfs.yml
·! 0:00:00.105876 SYS: Using VFS config:
$(EmulatorDir): ""
/dev_hdd0/: $(EmulatorDir)dev_hdd0/
/dev_hdd1/: $(EmulatorDir)dev_hdd1/
/dev_flash/: $(EmulatorDir)dev_flash/
/dev_flash2/: $(EmulatorDir)dev_flash2/
/dev_flash3/: $(EmulatorDir)dev_flash3/
/dev_bdvd/: $(EmulatorDir)dev_bdvd/
/games/: $(EmulatorDir)games/
/app_home/: ""
/dev_usb***/:
/dev_usb000:
Path: $(EmulatorDir)dev_usb000/
Serial: ""
VID: ""
PID: ""
·! 0:00:00.105886 VFS: Mounted path "/dev_hdd0" to "/home/REDACTED/.config/rpcs3/dev_hdd0/"
·! 0:00:00.105889 VFS: Mounted path "/dev_flash" to "/home/REDACTED/.config/rpcs3//dev_flash/"
·! 0:00:00.105890 VFS: Mounted path "/dev_flash2" to "/home/REDACTED/.config/rpcs3//dev_flash2/"
·! 0:00:00.105891 VFS: Mounted path "/dev_flash3" to "/home/REDACTED/.config/rpcs3//dev_flash3/"
·! 0:00:00.105892 VFS: Mounted path "/app_home" to "//"
·! 0:00:00.105898 VFS: Mounted path "/dev_usb000" to "/home/REDACTED/.config/rpcs3/dev_usb000/"
·! 0:00:00.105905 SYS: Applying global config: /home/REDACTED/.config/rpcs3//config.yml
·! 0:00:00.108904 SYS: Logged in as user '00000001' with the username 'User'
·! 0:00:00.108961 IPC: IPC config missing. Using default settings. Path: /home/REDACTED/.config/rpcs3/ipc.yml
·! 0:00:00.108969 SYS: Using IPC config:
IPC Server enabled: false
IPC Port: 28012
·A 0:00:00.108975 SYS: Firmware version: 4.91
·! 0:00:00.136522 GUI: Current language changed to English (en)
·! 0:00:00.153110 Compat: Database file not found: /home/REDACTED/.config/rpcs3/GuiConfigs/compat_database.dat
·! 0:00:00.171529 GUI: Determined 'fusion' as default style
·! 0:00:00.175318 GUI: Changing stylesheet to 'Kuroi (Dark) by Ani'
·! 0:00:00.236321 NET: Starting download from URL: https://update.rpcs3.net/?api=v2&c=8131f402
·! 0:00:01.722794 NET: Download finished
·S 0:00:01.723021 UPDATER: RPCS3 is up to date!
Attach capture files for visual issues
https://www.mediafire.com/file/nnn9yynzndzlwwi/Video.7z/file
System configuration
Linux Distro: Fedora Sway Spin CPU: 13th Gen Intel(R) Core(TM) i5-13600KF (20) @ 5.10 GHz GPU 1: AMD Radeon RX 6600 XT (The one being used for the emulation) GPU 2: NVIDIA GeForce RTX 3060 Lite Hash Rate RAM: 32 GBs
Other details
Tested games:
Minecraft: PlayStation 3 Edition (BLUS31426) | Effect is barely noticeable Driver: San Francisco (BLUS30536) | Effect happens occasionally Grand Theft Auto IV (BLUS30127) | Effect is constant and happens every 1 - 5 seconds
Attempted solutions:
- Using OpenGL instead of Vulkan (Works, but not a good solution)
- Clearing RPCS3 cache (In
.configand.cache) - Updating system/drivers
- Changing GPU settings (Don't remember which ones exactly, but I did mess around with them for a bit)
- Using default configuration (Or recommended game configuration)
- Rebooting the computer (It was worth a shot)
Final note:
I'm unsure of if this issue happens because of Wayland, I've ran RPCS3 on this computer before using Wayland without issue, but that was months ago on a desktop environment, I feel if this was an issue in that environment it would of been reported and looked into ages ago.
We don't have any special wayland logic. This is most likely a sway bug. Try forcing xwayland (QT_QPA_PLATFORM=xcb ./rpcs3)
We don't have any special wayland logic. This is most likely a sway bug. Try forcing xwayland (QT_QPA_PLATFORM=xcb ./rpcs3)
I tried this, appears to have made no difference.
I personally suspect Fedora's Sway spin just doesn't come with a dependency that there other spins that use Wayland do, I could be wrong as I haven't really developed much software but I'm just spitting out ideas.
Are you using the nvidia gpu for desktop acceleration? That is most likely the culprit if that is the case.
Are you using the nvidia gpu for desktop acceleration? That is most likely the culprit if that is the case.
No, not only is my NVIDIA card disabled (I use it for VMs) I also have RPCS3's GPU setting set to my AMD card.
GPU selected for rpcs3 does not mean it's the one pushing pixels through to the final output, just that it's driver is loaded. I have had a similar issue before with corruption and poor performance, and I only got around it by making my AMD card the X11 host card througg xorg.conf. I don't think wayland allows this selection though so no idea if there is a workaround other than just installing Xorg and using that.
Surely there is a proper solution though, I didn't have this issue when using GNOME with Wayland.
Well, yes, but not from our side. Rpcs3 doesn't have that kind of control over your display server.
I still believe my missing dependency theory, thanks for the help, if no proper solution is found soon I'll mark your Xorg workaround as the solution.
I was doing some deep level experimenting (Checking system journal, checking RPCS3 error logs, etc) and I accidentally figured out the best solution to the issue for a player, turns out being in fullscreen gets rid of the issue. This fix is good enough for me as I always play RPCS3 games in fullscreen (Except for when debugging, which is why I didn't notice this sooner) but I can imagine this issue being annoying for Sway users wanting to develop PS3 cheats or develop for RPCS3 in general, because of this I'll keep the issue open and I can provide more information to help developers fix the issue if requested.
I think that makes sense if the desktop is accelerated using the nvidia card but rpcs3 is rendering on AMD since the data has to be copied over.
I don't think my NVIDIA card has anything to do with it, I have my Nouveau driver blacklisted on boot.
@thisisauser9 is that still an issue?