You are not logged in.

#1 2018-02-27 06:39:10

zanny
Member
Registered: 2012-10-05
Posts: 77

Whats up with Intel GPUs and Xorg scaling?

Video Demonstration

I have three systems with Intel graphics - HD4600, Iris Pro 5200, and HD530. I'm trying to get a working configuration of monitors while my 580 is in RMA with mixed DPI, which means Xorg fractional display scaling. I did try this a while back with the 4600 chip and this bug didn't happen back then (it was probably around kernel 4.13) but the performance was awful.

All three chips do this when I try to scale either monitor. Doesn't matter if I apply the settings at boot or try switching modes like this. If I turn off one monitor and only try to do it with the 4k and 1080p panel it still happens.

Nothing shows up in dmesg or Xorg.0.log relating to bugs or errors or anything. I've tried this with the preallocated firmware memory going from 32MB to 1GB, but my understanding is thats just wasted memory anyway because the Intel driver just uses regular memory anyway. Anyone know a way around this kind of visual corruption? I've tried a few alternatives - being able to turn off mouse acceleration under Wayland only having integer scaling is a deal breaker, QT Auto Scaling doesn't work right, and QT per screen scaling is wonky with this large of a difference (and fonts don't scale properly). This setup worked wonderfully with a 1.6x and 1.7x scaling on the side monitors with 1.5x uniform Qt scaling... on an AMD card.

Offline

#2 2018-02-27 08:26:15

seth
Member
Registered: 2012-09-03
Posts: 8,112

Re: Whats up with Intel GPUs and Xorg scaling?

xrandr -q # unscaled
glxinfo -l

No, I'm not trying to read that on the shaky video :-P
(In general, please never provide pictures of text - always provide the text)

Online

#3 2018-02-27 16:33:50

zanny
Member
Registered: 2012-10-05
Posts: 77

Re: Whats up with Intel GPUs and Xorg scaling?

Nothings really interesting about the unscaled xrandr. I just had it there to "prove" the screens were in their native modes. The driver reported max virtual desktop is way larger than the ~12000x2160 the scaled monitors would take up.

randr
info

Last edited by zanny (2018-02-27 16:34:51)

Offline

#4 2018-03-06 02:40:45

zanny
Member
Registered: 2012-10-05
Posts: 77

Re: Whats up with Intel GPUs and Xorg scaling?

I did a bit more random testing with this and found the threshold where scaling breaks.

Whenever I scale the screens from 1.2x to 1.21x the breakage occurs. This is when the horizontal virtual screen goes from 8448 to 8486.4 pixels.

To further test it, I disabled everything but the 4k screen to see what happens if I try scaling it up to similar virtual screen sizes. I find that it breaks between a 2.1 and 2.11 horizontal scaling ratio - the vertical ratio can be anything from 1 to equal and it does not matter, which implies its not the total size of the virtual screen space thats the problem.

Strangely a 2.1 and 2.11 scaling factor on just the one monitor gives horizontals of 8064 and 8102.4, which are well below the ones that broke the multi-monitor configuration. But something is definitely happening whenever the virtual screen goes somewhere over 8k horizontal pixels on Intel graphics to break the desktop.

And again through there is the obvious visual glitches nothing shows up in the kernel ring or Xorg logs. The Xorg lines all look like this:

[  1367.047] (II) intel(0): switch to mode 3840x2160@60.0 on DP1 using pipe 2, position (0, 0), rotation normal, reflection none
[  1381.603] (II) intel(0): resizing framebuffer to 8103x2160

With no indications of errors.

Last edited by zanny (2018-03-06 02:46:12)

Offline

Board footer

Powered by FluxBB