xorg-server 1.20 modesetting error with --scale 2x2
Angus Gratton
gus at projectgus.com
Tue May 29 11:07:10 UTC 2018
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
More information about the xorg
mailing list