Tearing in games (wayland)

hi
since a few weeks i’ve been experiencing a LOT of tearing in every game that runs with WINE/Proton
reddit couldn’ve give me an answer, so here are the things i’ve tried

  • unchecking this options in the KDE settings :
    image
  • enabling VRR, disabling VRR, setting it to auto

the only thing that actually works is to lower the FPS limit below my monitor (it used to be 75, 74-73 eliminates tearing). but that increases the frametime and reduces the FPS, whihc is an extremely bad solution

i’m hopeless… someone please help me solve that

Without knowing anything of your hardware, it’s seriously difficult to help. Please paste here, in between two lines containing only ```, input & output & trailing shell prompt, from running inxi -GSaz.

1 Like
System:
  Kernel: 6.11.8-1-default arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.11.8-1-default
    root=UUID=eafd5d7c-08e8-46db-8e3d-ed192fb30d8f mitigations=auto
    amdgpu.ppfeaturemask=0xfff7ffff amd_iommu=on iommu=pt security=apparmor
    resume=UUID=eafd5d7c-08e8-46db-8e3d-ed192fb30d8f resume_offset=23747122
    crashkernel=346M,high crashkernel=72M,low
  Desktop: KDE Plasma v: 6.2.3 tk: Qt v: N/A info: frameworks v: 6.8.0
    wm: kwin_wayland with: krunner tools: avail: xscreensaver vt: 3 dm: SDDM
    Distro: openSUSE Tumbleweed 20241117
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 22 [Radeon RX 6700/6700
    XT/6750 XT / 6800M/6850M XT] vendor: Micro-Star MSI driver: amdgpu
    v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22
    pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-1,DP-2,DP-3
    empty: HDMI-A-1,Writeback-1 bus-ID: 0c:00.0 chip-ID: 1002:73df
    class-ID: 0300
  Device-2: NVIDIA TU116 [GeForce GTX 1660 SUPER] vendor: Gigabyte
    driver: vfio-pci v: N/A alternate: nouveau non-free: 550.xx+ status: current
    (as of 2024-09; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 0d:00.0
    chip-ID: 10de:21c4 class-ID: 0300
  Device-3: Microsoft LifeCam VX-5000 driver: snd-usb-audio,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-4:4
    chip-ID: 045e:0728 class-ID: 0102
  Display: wayland server: X.org v: 1.21.1.14 with: Xwayland v: 24.1.4
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: vesa
    alternate: fbdev dri: radeonsi gpu: amdgpu,vfio-pci d-rect: 5760x1080
    display-ID: 0
  Monitor-1: DP-1 pos: center res: 1920x1080 size: N/A modes: N/A
  Monitor-2: DP-2 pos: primary,left res: 1920x1080 size: N/A modes: N/A
  Monitor-3: DP-3 pos: right res: 1920x1080 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
    wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.6 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 6700 XT (radeonsi navi22 LLVM
    19.1.3 DRM 3.59 6.11.8-1-default) device-ID: 1002:73df memory: 11.72 GiB
    unified: no display-ID: :1.0
  API: Vulkan v: 1.3.296 layers: 9 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6700 XT (RADV NAVI22) driver: N/A device-ID: 1002:73df
    surfaces: xcb,xlib,wayland

here it is :slight_smile:

You need to draw the attention of those familiar with Optimus (dual GPU, AMD+NVidia) issues. I get by on one GPU per PC, and never use NVidia’s drivers. @malcolmlewis is one of them.

I’m not a game player, but are you able to explain to us how you launch your game(s)? I’m wondering if the Wine application is running the via Xwayland or as a Wayland client in this situation?

@kyral Hi, so your passing through the Nvidia GPU to a virtual machine, so the issue is with the AMD gpu… If you were running X11, then would suggest using xrandr, but your on Plasma and Wayland… You need to wait for a Plasma/Wayland/AMD user…

it’s not an optimus sytem
the nvidia card is the slave card which has a vfio-pci driver loaded, it’s something i need for VMs, the nvidia card isn’t used by the desktop environment nor kwin/wayland or else
only qemu can use it, so this is not a problem at all

very simple :slightly_frowning_face: open steam → click play on any game → the game launches → most games will have screen tearing beyond 73FPS, 74 creates a very slight tearing but it’s barely noticable, 75 causes too much tearing.

i haven’t changed my FPS limiter settings in years, and this issue started happening only a few weeks ago. i’ve only had to change the limiter settings to 72 to stop this.

as far as i know every WINE instance runs on XWayland

yeah i’m fully aware of the gpu passthrough, it’s completely intentional and this is something i need.
i don’t use X11, because i have an AMD GPU i use wayland

@kyral Yes, I use the same here :wink:

Graphics:
  Device-1: NVIDIA GM107GL [Quadro K620] vendor: Hewlett-Packard
    driver: vfio-pci v: N/A arch: Maxwell pcie: speed: Unknown lanes: 63
    bus-ID: 01:00.0 chip-ID: 10de:13bb
  Device-2: NVIDIA TU117GLM [Quadro T400 Mobile] driver: nvidia v: 560.35.03
    arch: Turing pcie: speed: 2.5 GT/s lanes: 16 bus-ID: 02:00.0
    chip-ID: 10de:1fb2
  Device-3: Intel DG2 [Arc A380] vendor: ASRock driver: i915 v: kernel
    arch: Gen-12.7 pcie: speed: 2.5 GT/s lanes: 1 ports:
    active: HDMI-A-1,HDMI-A-3,HDMI-A-4 off: HDMI-A-2 empty: DP-1,DP-2,DP-3
    bus-ID: 05:00.0 chip-ID: 8086:56a5
...

I’m not sure how it’s done on Wayland with AMD gpu, can you adjust the refresh rates on the monitors?

It would be interesting to try running as a pure Wayland client…

DISPLAY= wine <app>

https://wiki.archlinux.org/title/Wine#Wayland

yes of course i can adjust the refresh rates, they’re all set to 75Hz

the issue being that every game doesn’t run directly with WINE but with proton which afaik doesn’t ship the latest WINE version
the last time i tried my game wouldn’t even launch

It is a work-in-progress situation I guess, and will improve once running in a pure Wayland environment. Are you using a flatpack version, or installed via openSUSE repo?

https://en.opensuse.org/Steam

installed form the openSUSE repo, i always avoid flatpak when there’s an rpm package available on the main repos

Understandable - it means you’re using an older version unfortunately.

1 Like

@kyral adjust to 60Hz and see if it’s different?

same problem, and in any case i don’t want to play at 60Hz

@kyral Yes, understand that, just looking to see if there was an improvement. My suggestion it to wait for the next Mesa version to drop and see if that makes a difference, else I feel you may need to produce a bug report.

1 Like