Hi all,

I have a HiDPI laptop display (3200x1800) and a "normal" external LCD 
(1680x1050). For a while now I've worked around the DPI mismatch by scaling the 
external LCD:

/usr/bin/xrandr --auto --output eDP-1 --mode 3200x1800 --left-of DP-1 --output 
DP-1 --mode 1680x1050 --scale 2x2

(ie create a very large virtual framebuffer, and scale down the part which ends 
up on the external monitor output.)

With xorg 1.19.6 (& earlier) and the modesetting driver this seemed to work. I 
see the following line in Xorg.0.log when I run the command:

(II) modeset(0): Allocate new frame buffer 6560x2100 stride

With xorg 1.20 it no longer works. I get an error line in the log and the 
external display ends up in a weird state:

[   793.006] (II) modeset(0): Allocate new frame buffer 6560x2100 stride
[   793.090] failed to add rotate fb

If I use --scale 1x1 in the same xrandr command, everything works as expected.

Maybe using --scale 2x2 is "doing it wrong" and I need to find a better way, 
but I thought I'd mention this in case it's a bug or something I can work 
around.

Some additional notes:

* Graphics card is Intel HD520, i915 kernel driver, kernel 4.16.11

* Full Xorg.log attached here:
  https://pastebin.com/raw/piWQZvfg
  Around timestamp 793 you can see me trying a few variations on the xrandr 
command, including a few which work.

* I'm running the Arch Linux xorg-server package. I looked at the Arch patchset 
and it's very close to upstream, couldn't see anything patched in the vicinity 
of the modesetting driver. But I haven't tried building upstream xorg myself, 
yet.

Thanks for any sage advice you can provide,


Angus
_______________________________________________
[email protected]: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Reply via email to