You are not logged in.
Hi folks, I'm having screen tearing issues when rotating an external monitor. Here's my setup:
Laptop: Asus, Intel Core i3-12U
Internal display: 1920x1080
HDMI monitor: 1920x1080
Driver: i915 (Xorg: Modsetting)
Compositor: Picom
Everything works perfectly when the HDMI monitor is in landscape mode. But as soon as I rotate it to portrait, both screens start tearing badly. I’ve tried several suggestions from the Arch Wiki and forums, but no luck so far.
Here’s what I’ve already tried:
* Installed xf86-video-intel and created a .conf with TearFree enabled
* Tried a .conf for the i915 driver with TearFree as well
* Disabled Picom entirely — the tearing still happens
So at this point, I’m assuming it’s something related to Xorg rather than the compositor.
Some logs and outputs I’ve collected:
xrandr --verbose xrandr log
xorg log xorg log
I also see a possibly solution to my problem here https://gitlab.freedesktop.org/xorg/xse … 006?page=1
But it hasn't been implemented yet.
Additionally, I saw there's a new Xe driver still in development. https://docs.kernel.org/next/gpu/rfc/xe.html.
I haven’t tried it yet since it looks very experimental.
Lastly I also read about install https://aur.archlinux.org/packages/xorg-server-git from the wiki https://wiki.archlinux.org/title/Intel_ … g_driver_2 (6.1.2)
It can be an option?
If anyone has any tips or ideas, I’d really appreciate the help. I’m kinda stuck here.
Thanks in advance!
Offline
This probably also happens if you just scale the output a bit?
xrandr --output HDMI-1 --scale 1.1
?
It's also very doubtful if the modesetting "TearFree" setting can help you here, but if you want to try that on xf86-video-intel you'll need https://wiki.archlinux.org/title/Intel_ … ecent_GPUs otherwise you're just rendering in software where vsync blanking isn't a thing a all.
You can also try xe (it's not /that/ experimental anymore) but I'd not hold my breath.
For clarification: "tearing badly" still means A TEARLINE, not lines scattererd across the outputs nor flickering triangles etc et pp?
Also what's your testcase? "mpv -vo=gpu --video-sync=display-resample"?
Online
Hi again, sorry I haven't replied, work and I are in a race and I’m losing.
I've tried adjusting the scaling with xrandr, but the tearing persists.
As you say, the TearFree option in xf86-video-intel
didn't work either (I followed the ArchWiki guide to configure it correctly, thanks for the link).
About the case-test:
I noticed it mainly when playing videos on YouTube and when scrolling up or down (but actually it's always there).
I tried mpv --vo=gpu --video-sync=display-resample "https://www.youtube.com/watch?v=MfL_JkcEFbE" but still there.
The tearing I experience is actually a line tearing. It appears at the top / middle of the screen and moves horizontally (from left to right and vice versa) on the integrated monitor and
moves vertically on the external monitor.
I have also seen that there is a dwm project to make it work in wayland called dwl.
I'll try installing xe as a first option and hold my breath... who knows, miracles do happen, don't they? If not, I'll try dwl and see if that solves the problem.
Thanks for replying and if you have any other ideas they are really welcome
Offline
This here runs at your pace, focus on your work (and proper sleep) first.
I've tried adjusting the scaling with xrandr, but the tearing persists.
No, the idea was that scaling *instead* of rotating would likely cause the same problem?
But it's gonna be interesting to see whether the IGP behaves better™ in a wayland scaling/rotating scenario (what might also depend on whether there's actual output scaling/rotating or this is implemented in the compositor by scaling/rotating textures…)
It appears at the top / middle of the screen and moves horizontally (from left to right and vice versa) on the integrated monitor and moves vertically on the external monitor.
Hold on: you've a vertical tearline (splitting left and right) on the non-rotated output and a horizontal tearline (splitting top and bottom) on the rotated one???
Online
An interesting data point would be the behaviour under Wayland.
Online
This here runs at your own pace, concentrate on your work (and sleep well) first.
Thanks!
No, the idea was that scaling *instead of* rotating would probably cause the same problem....
Ah, I see... Yes the tearing persists. In fact, something changed when I tried scaling with
xrandr --output HDMI-1 --scale 1.1
I take this opportunity to explain how the tearing looks like on both monitors
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| |
| = = = = = = = = |
| |
| |
| |
| |
- - - - - - - - - - - - - - -- - - - - - - -
_ _ _ _ _ _ _ _ _
| \ |
| |
| \ |
| |
| \ |
| |
| \ |
| |
| \ |
| |
- - - - - - - - - - -
When I applied the scaling on the vertical monitor the tearing went from the left side to the right side of the screen (weird?).
I will read up on both options and post if either one solved the problem in case someone else can use it.
P.S.: English is not my mother tongue and I'm a bit out of tune so I preferred to explain it with a kind of drawing? of how the tearing looks like on both screens in order not to cause misunderstanding of the problem.
Offline
tearing persists … applied the scaling on the vertical monitor
Again: *instead* of the rotation. No rotation. Only scale one of the outputs.
We're not trying to fix anything with this - the test is to check whether the transformation overhead knocks the IGP out.
Is this btw. on battery or external supply? Does adding "i915.enable_dc=0" to the https://wiki.archlinux.org/title/Kernel_parameters help?
Online