I’m having some issues configuring my screen setup correctly with
My setup consists of a Dell XPS-13 with a 4K (3200×1800) Display and an external 21 inch FullHD (1920×1080) Monitor.
Because of the High DPI, I’ve been using the 200% scaling on the laptop. Since you can’t set scaling on a per monitor basis, I’m stuck either having everything way too big on the external monitor and the correct size on the laptop OR everything normal on the external monitor and way too small on the laptop screen.
I then tried to solve this with
xrandr, as explained in here or here. In principle, I want to set the external monitors resolution to 3840×2160, and then scaling everything by 2×2, so that I can use the same DPI-Scaling on both monitors.
This image shows what my setup is supposed to look like.
I applied those settings with
xrandr --output DVI-I-1-1 --scale 2x2 --mode 1920x1080 --fb 7040x3100 --pos 0x0
xrandr --output eDP-1 --scale 1x1 --pos 3840x1300 --mode 3200x1800
DVI-I-1-1is my external monitor,
eDP-1my laptop’s screen.
This does not have the desired effect, and on my external monitor I can only see the upper left quadrant of the “big 3840×2160” Montior.
So if here the big red rectangle is the whole image I’m supposed to see on my external monitor,
the green rectangle is what I’m able to see. On the Laptop’s screen everything is fine..
Any ideas on what I’m doing wrong here? I couldn’t find good explanations on how xrandr is supposed to work, only people posting the solution to their very specific setup. I would like to understand what is wrong here…
TLDR: what is wrong with my xrandr commands that I can only see 1 quarter of what I’m supposed to see on my external monitor
EDIT: So from further research I suspect that the scaling command is not working. If it did, I should be able to add
--panning 1920x1080+0+0to the command for my external monitor. This however results in the following error:
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 29 (RRSetPanning) Serial number of failed request: 41 Current serial number in output stream: 41
This led me to believe that the
--scale 2x2is not working, so I tried to replace it with
--transform 2,0,0,0,2,0,0,0,1(which should be the exact same thing since
scaleis a shortcut to
transform)· This did however not change anything…
Wow , you have the same issue as me in that scale try’s to work but only shows 1/4 of the final result on the screen .
I can get it working just working with the nvidia chip by it self ,
It’s when in Hybrid mode ,and try to scale it starts to crumble to a pile of do do
Funny thing as the mouse pointer is able to work fine over the screen in the correct scale ,
It’s only taking a 1920×1200 chuck in my case of a 3840×2400 of the upscale image and just displaying one 960×600 chunk on the 1920×1200 screen .
It’s like it’s selecting only 1920×1200 of the 3840×2400 scaled image. And passing that to the frame buffer to be displayed .