2

I recently bought an HD mobile external monitor to use with my laptop. My laptop screen is a 4K monitor (3840x2160), whereas the external monitor is HD (1920x1080). I've been trying to get my laptop screen to 'match' my external monitor in terms of 'sizing' and scaling/DPI.

When I say 'sizing', I mean that when I move my mouse along the top edge of my laptop screen into the external monitor, the mouse appears at the top edge of the external monitor, and the same goes for the bottom edge (in other words, they match in terms of 'virtual height' if that makes sense).

When I say 'scaling', I mean the physical height of screen elements on either screen should match the other.

I have explored other Stack threads that have advised trying to use Wayland, enabling fractional scaling, and manually setting xrandr commands, but alas none of these have helped, and xrandr experimenting in particular has led to a lot of odd and distracting visual fragments.

Is is possible to match both sizing and scaling between these two displays? If possible, I would greatly prefer to do this without sacrificing the 4k resolution of my laptop screen.


EDIT 1: I've tried the following command after messing with more xrandr commands...

xrandr --output eDP-1-1 --scale 1x1 --mode 3840x2160
xrandr --output DP-1-1 --scale 0.5x0.5 --mode 1920x1080 --right-of eDP-1-1

Which yields this mess. Only 1/4 of the screen is usable, the rest is blank white with the weird window dragging trail you see in the picture. The DPI is still twice as big as it should be though.

2 Answers 2

0

I have the Dell XPS 13 and the best solution I've found here is to effectively scale a 4k resolution onto the HD monitor. Note that the positioning in this script assumes your external display is above your laptop:

xrandr --output DP-1 --scale 2x2 --mode 1920x1080 --fb 4160x4320 --pos 0x0
xrandr --output eDP-1 --scale 1x1 --pos 320x2160

Since I use my laptop on the go between the office and home I created a little script for this and assigned a keyboard shortcut to toggle resolutions. It also supports a 1920x1200 external monitor:

https://github.com/oligray/ubuntu/blob/master/togglemonitors.sh

0

It seems that this is not properly supported, I guess what we need is support for a DPI option, or a sane implementation that does not scale down the internal screen.

The workarounds I use are:

  • use scaling in the browser (ctrl + -/+)
  • change the resolution of the external screen

These both obviously suck, especially because it gives less space when taking a lower resolution.

It seems the scaling factor applies to both screens, even when the UI does not show that. It looks like this bug (read and check the linked ones for NVidia): https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1857383

Not sure if this applies to you but it does to me. Good to check that bug for progress.

This lead me to a solution: I was using NVidia 440 proprietary drivers. When I switched to Nouveau drivers, it works as expected for me with 150% scale on the external monitor and 100% on the internal one. Check this under additional drivers and see if it works for you.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .