Make 4k works with normal monitor in Linux (Fedora 32)
My screen is composed of two monitor
- Left: 3840x2160 Dell 4k screen HiDPI
- Right: 2560x1080 Dell wide screen
Problem
We cannot set it with GUI Fedora provided.
This is not very direct because we have different dpi.
Solution
After few days, I just arrive at the solution and here is the important notes:
First, the screen size must be according to the finer resolution
The screen width is 3840 + 2560 *2
The screen height is according to the larger of 2160
***Trying to zoom in the 4k screen is the wrong approach
Second, GNOME must be set to scale x2
This will make application looks correctly scaled.
Here is the configuration that make it work:
How to do it?
Set application scaling with Gnome
All application must take high definition scaling
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Gdk/WindowScalingFactor', <2>}]"
$ gsettings set org.gnome.desktop.interface scaling-factor 2
You can edit this with tool like “dconf” for easier interface and also easier way to revert the changes.
Resize and Rotate
Zoom in normal monitor to make 5120x2160 goes back to 2560x1080.
The scale
indicate zoom factor denoted as z
where
- z>1 = zoom in
- z<1 = zoom out
xrandr --output DP-0 --scale 1x1 --output HDMI-0 --scale 2x2
Check the result
$ xrandr --verbose
You will see the output like:
Screen 0: … current 8960 x 2160, maximum 32767 x 32767
...
HDMI-0 connected 5120x2160+3840+0 … 673mm x 284mm
...
DP-0 connected primary 3840x2160+0+0 … 597mm x 336mm
and also the scaling. You will see the transformation matrix to be scaling matrix without any distortion on the normal output like this:
Transform: 2 0 0
0 2 0
0 0 1
Hope this help.
Cheers!
Resources :