X11 Tearing on Intel Iris Xe

Installed GNOME with X11 using the Basic and X11 patterns on my laptop. Experiencing tearing when in fullscreen (youtube in ungoogled-chromium, native steam games). Complete GPU info:

$ inxi -G
  Device-1: Intel Raptor Lake-P [Iris Xe Graphics] driver: i915 v: kernel
  Device-2: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
  Display: x11 server: X.org v: driver: X: loaded: modesetting
    unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1920x1080~60Hz
  API: OpenGL v: 4.6 vendor: intel mesa v: 24.0.7 renderer: Mesa Intel
    Graphics (RPL-P)

That’s incomplete GPU info. Much closer to complete is:

$ inxi -Gaz
  Device-1: Intel HD Graphics 630 vendor: Gigabyte driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: HDMI-A-2
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-3 bus-ID: 00:02.0 chip-ID: 8086:5912
    class-ID: 0300
  Display: x11 server: X.Org v: compositor: kwin driver: X:
    loaded: modesetting alternate: fbdev,intel,vesa dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1200 s-dpi: 120 s-size: 406x254mm (15.98x10.00")
    s-diag: 479mm (18.85")
  Monitor-1: HDMI-A-2 mapped: HDMI-2 model: Samsung SMS24A850
    serial: <filter> built: 2012 res: 1920x1200 hz: 60 dpi: 94 gamma: 1.2
    size: 518x324mm (20.39x12.76") diag: 611mm (24.1") ratio: 16:10 modes:
    max: 1920x1200 min: 720x400
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris x11: drv: iris
    inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 22.3.5 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel HD Graphics 630 (KBL GT2)
    device-ID: 8086:5912 memory: 30.08 GiB unified: yes

If you make the window almost fullscreen (small gaps on only two sides), is it any better than fullscreen?

If you open an IceWM session from the login screen instead of of Gnome, is fullscreen any better?

$ inxi -Gaz
  Device-1: Intel Raptor Lake-P [Iris Xe Graphics] vendor: ASUSTeK
    driver: i915 v: kernel alternate: xe arch: Gen-13 process: Intel 7 (10nm)
    built: 2022+ ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 0000:00:02.0
    chip-ID: 8086:a7a0 class-ID: 0300
  Device-2: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-9:4 chip-ID: 13d3:5463
    class-ID: fe01 serial: <filter>
  Display: x11 server: X.org v: compositor: gnome-shell v: 46.1
    driver: X: loaded: modesetting unloaded: fbdev,vesa alternate: intel
    dri: iris gpu: i915 display-ID: :1 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-1 model: Samsung 0x4161 built: 2020 res: 1920x1080 hz: 60
    dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 vendor: intel mesa v: 24.0.7 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel Graphics (RPL-P)
    device-ID: 8086:a7a0 memory: 14.9 GiB unified: yes

Yes, as I said, the tearing is fullscreen-only (as in fullscreen video view - not when the window is just maximised, but when it covers the top status bar and doesn’t have a title bar). Everything works fine in IceWM, no tearing.
EDIT: I also tried adding Option “TearFree” to my X11 config files because that’s what fixed it on arch, but I guess things work differently in OpenSUSE because X wouldn’t start with that

Installing xdpyinfo would replace missing: xdpyinfo with additional information, not necessary now, but for when xdpyinfo itself is needed or inxi -Gaz is next needed. inxi -GSaz or inxi -Saz or cat /proc/cmdline or grep d\ line /var/log/Xorg.0.log are methods of including possibly relevant additional graphics info - kernel cmdline options. Are you using any kernel cmdline options that affect graphics?

That suggests a Gnome rather than an X issue. Does the problem exist if you use Gnome on Wayland instead of X11?

Failure to start shouldn’t happen just from using that option, and suggests need for a bug report. When you try tearfree, what (EE) lines appear in Xorg.0.log? Normally there are no /etc/X11/xorg.con* files affecting graphics in TW. If you have any, please show their content.

I’ve read the graphics information again, then I read the arch wiki again and realised I put the wrong driver in the config - intel instead of modesetting, which is the active one. This is confirmed by the X log saying that it can’t find the intel module.
The X server does indeed start now, but the tearing didn’t go anywhere.
My 20-intel.conf:

Section "Device"
  Identifier "Intel Graphics"
  Driver "modesetting"
  Option "TearFree" "true"

@MrDomocle FWIW I was running an Intel Arc A380 with the Xe driver rather than i915 on GNOME without any screen tearing either Xorg or Wayland without the need for any conf files.

After some more googling, it turns out that the tearing is a fullscreen-only issue because it happens on windows that don’t get processed by the compositor. By default in GNOME fullscreen windows bypass it, so I get screen tearing. I’ve found a shell extension that disables this and now the tearing is gone

@MrDomocle Hmmm an issue from 2011? I see the bug report is for a HP 4520s which I use to run way back them with openSUSE GNOME, but never had screen tearing issues…

I had screen tearing with Intel UHD 630 on GNOME 40-46 on Xorg with Dota 2, WoW, and Old School RuneScape all when fullscreen, and that unredirect fullscreen windows GNOME extension also solved it for me.

I don’t know if this solved fullscreen game tearing, but this is what I had on openSUSE TW about 2 weeks ago:

sudo zypper install -y 'xf86-video-intel' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'

Section "OutputClass"
    Identifier "Intel Graphics"
    MatchDriver "i915"
    Driver "intel"
    Option "TearFree" "1"

On Fedora 40 I had to also include this:

    Option "DRI" "iris"
    Option "AccelMethod" "sna"

The DRI option was commonly 3, but since some change needs to be iris. iris was automatically used for me on openSUSE TW but I had to specify it on Fedora 40.

I have pre-Xe and don’t know how that’s handled on Xe, and I think there’s even a newer Xe-specific Xorg DDX driver too (which might have a different xf86-video- package to install along with needing a different name for MatchDriver "i915").

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.