You are not logged in.

#1 2026-01-28 22:31:10

Archfan87
Member
Registered: 2026-01-28
Posts: 2

Screen tearing on T420 with Intel HD4000 graphics

Hello all,

I'm in a very similar situation as the user in this post: https://bbs.archlinux.org/viewtopic.php?id=291596.
I've been using Arch for a few years now across several different machines with very few issues, most if not all were easily fixed by reading the wiki or forum posts.

However, I just installed Arch on a T420 (ivy bridge, HD4000 GFX) and am dealing with the Intel gpu drivers for the first time.
I'm running X11 with xcompmgr as a compositor.

GFX driver is the modesetting driver as recommended by the wiki, and I experience a lot of screen tearing even when browsing the web or watching youtube videos.
Evidently, --tear-free = true doesn't work as I'm not using the inferior xf86-video-intel driver.

I've since replaced xcompmgr with Picom, using the --vsync option and the --unredir-if-possible options with xrender as the backend.
This works relatively well for me, as I no longer get screen tearing in the browser or when watching videos, and --unredir-if-possible allows me to play games without the performance hit (a compositor causing FPS drops might sound ridiculous, but this i7-3540M can barely push 40 frames in 2D games without one and tanks to low 30s with Picom enabled).
I'm still unsatisfied with this solution as some games and applications run fullscreen (disabling the compositor) but don't have any built-in Vsync options so I'm stuck with screen tearing again.

However, I can't wrap my head around WHY there isn't a tearfree option for the modesetting driver?
The commits to xserver that would add it have existed for years at this point, and its a bit odd that anyone running intel graphics has no option besides installing a (relatively, in this case) cpu heavy compositor or running unstable drivers. Yes, X11 is old now, but how did people manage when it wasn't old?
I swear these thinkpad memes have been around for at least 10 years lol. And they're all either running intel graphics or (even worse) old nvidia graphics.

Any certified OGs have any advice for a newgen like me?

Thanks in advance smile

Offline

#2 2026-01-29 13:53:08

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,429

Re: Screen tearing on T420 with Intel HD4000 graphics

Pre-haswell (antually maybe even pre-broadwell, ie. iris) you might very well test the performance w/ xf86-video-intel and mesa-amber

I'm running X11 with xcompmgr as a compositor.

xcompmgr runs on xrender and xrender cannot provide meaningful vsync (picom uses a special glx context to intercept the vblank signal and then estimates when to push the render update) => try picom w/ the glx backend.

That being said most browsers™ will do GL accelerated rendering and should™  adhere to the vblank signal - does glxgears tear (w/o any compositor)?

can barely push 40 frames in 2D games without one and tanks to low 30s with Picom enabled

nb. that this is unlikely the overhead of the compositor but the nature of *any* vsync.
If you can't render at the sync interval (16.667 ms) you'll end up sitting out every other frame and drop to 30fps at a 33.333 ms interval - 40fps when using triple buffering AND you can render >> 40fps (switching between 30fps and 60fps update)

However, I can't wrap my head around WHY there isn't a tearfree option for the modesetting driver?
The commits to xserver that would add it have existed for years at this point

The official conspiracy theory is that X11 is being choked  to death to promote wayland.
The pushback will be that organizing X11 releases is a lot of work and nobody got around to do that.
Last major change certainly didn't end all that well, https://bbs.archlinux.org/viewtopic.php?id=309874&p=3

Offline

#3 2026-01-30 01:12:18

Archfan87
Member
Registered: 2026-01-28
Posts: 2

Re: Screen tearing on T420 with Intel HD4000 graphics

Hi Seth,
Thank you for the reply

xcompmgr runs on xrender and xrender cannot provide meaningful vsync (picom uses a special glx context to intercept the vblank signal and then estimates when to push the render update) => try picom w/ the glx backend.

Yeah I had tried the glx backend a bit previously, didn't look into it much since picom xrender with --vsync seemed to work.
Will read into it more and give it a shot, thanks.

That being said most browsers™ will do GL accelerated rendering and should™  adhere to the vblank signal - does glxgears tear (w/o any compositor)?

Can confirm glxgears does NOT tear (w or w/o compositor), and that both Librewolf and Brave tear without a compositor running.
The browsers also tear when Picom is running (glx/xrender backend), unless I set the --vsync flag.
I am getting some black dot artifacts on glxgears, although this is unrelated and I'm still trying to figure that one out.

nb. that this is unlikely the overhead of the compositor but the nature of *any* vsync.
If you can't render at the sync interval (16.667 ms) you'll end up sitting out every other frame and drop to 30fps at a 33.333 ms interval - 40fps when using triple buffering AND you can render >> 40fps (switching between 30fps and 60fps update)

Can confirm (sample size of one game so take with a grain of salt):
Running without a compositor - 37fps
Running with Picom (glx or xrender as backend) - 32-33fps (no noticeable lag, surprised that the compositor actually lost me 4 frames)
Running with Picom and --vsync flag (glx or xrender as backend) - 32-33 fps (noticeable lag, assuming this is due to the sync intervals you mentioned)

The official conspiracy theory is that X11 is being choked  to death to promote wayland.
The pushback will be that organizing X11 releases is a lot of work and nobody got around to do that.
Last major change certainly didn't end all that well, https://bbs.archlinux.org/viewtopic.php?id=309874&p=3

I had read about this, didn't want to bring it up as it seems like a Voldemort situation and I didn't want to get wiped off the forums with my first post lol.

Thanks again for all the info, will probably end up trying the other drivers or the AUR xserver-git package mentioned in the wiki that has a tearfree option for modesetting.
At the end of the day its not a huge deal since this machine isn't supposed to be running games anyway, just seeing how far I can push it given the limited vulkan/proton support.

Offline

Board footer

Powered by FluxBB