6

Is there any adequate option to scale Linux Mint to a WQHD screen (2.560 x 1.440) with high density?

If I am going to

System Settings -> General

indeed I have an option for scaling my desktop to fit my screen:

Linux Mint Desktop Scaling Dropdown

Possible options:

  • Auto
  • Normal
  • Double (High-DPI)

Should do it for Full HD and 4K Screens, but on WQHD it sucks. Either everything is way to large or everything is way to small.

Sure, I can adjust the font and the panel sizes (which is what I did for now), but this still does not solve dozens of problems where everything is either way to big or way to small.

How could I achieve appropriate scaling?

  • 3
    +1 would be also interested in a solution – toschneck Oct 26 '18 at 12:39
2

a small workaround could be:

dconf write /org/cinnamon/desktop/interface/scaling-factor 'uint32 2'
dconf write /org/gnome/desktop/interface/scaling-factor 'uint32 2'
dconf write /org/cinnamon/active-display-scale 1.5
  • ty I will try and tell if it works for me – Blackbam Oct 27 '18 at 16:52
  • This isn't ideal - the interface scaling factor is still limited to whole numbers (hence uint32) and the active display scale seems to only alter the bottom toolbar. – Ari Cooper-Davis Jun 12 at 9:11
  • totally agree, but didn't find any better solution. @AriCooper-Davis do you have one? – toschneck Jun 13 at 15:15
  • @toschneck I did actually, I have added it as an answer :-) – Ari Cooper-Davis Jun 13 at 16:42
2

There is a slightly better, still hacky, workaround.

Set your display resolution higher than maximum then use the Double UI scaling to scale it back up to a sensible size. This is pretty much bug free, except possibly for the mouse pointer and for using external displays, both of which are fixable within settings.


First, determine which display device you want to change the resolution for (in this case it's eDP-1):

$ xrandr
> Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
> eDP-1 connected (normal left inverted right x axis y axis)
> ...

Then determine the required VESA CVT for your desired resolution, remembering to choose a resolution of the same aspect ratio to your current display (e.g. if your display is currently 1920x1080 then you could try 3200x1800):

$ cvt 3200 1800
> # 3200x1800 59.96 Hz (CVT 5.76M9) hsync: 111.82 kHz; pclk: 492.00 MHz
> Modeline "3200x1800_60.00"  492.00  3200 3456 3800 4400  1800 1803 1808 1865 -hsync +vsync

Ignore the first comment line, but copy the modeline. Next create a corresponding display mode:

$ sudo xrandr --newmode "3200x1800_60.00"  492.00  3200 3456 3800 4400  1800 1803 1808 1865 -hsync +vsync

And add that new mode to your display. The display (i.e. eDP-1) should be the one that you identified in the first step and the mode should be the newly created one (i.e. "3200x1800_60.00"):

$ sudo xrandr --addmode eDP-1 "3200x1800_60.00"

Finally select that new resolution in the Display Settings and enable Double UI scaling, for a reasonably sensible experience!


Note: If you want this change to be preserved on reboot you need to run the last two commands (--newmode and --addmode) when you login by adding them, without the sudos, to your user profile:

$ sudo nano ~/.profile
  • Thanks for the answer. For me this does not work due to X Error of failed request: BadMatch (invalid parameter attributes) when doing sudo xrandr --addmode DP-0 "3840x2160_60.00" . Using the commercial nvdia driver 430 (newest). Any suggestions for that? – Blackbam Sep 1 at 16:22
  • I've not come across that, but there are lots of suggestions on this post. – Ari Cooper-Davis Sep 2 at 17:17
  • Good point, I tried them all though and it did not work. The reason are probably restrictions by the commercial NVidia driver. I guess your solution is good if used with open source drivers, still I really hope there is some less hacky solution. – Blackbam Sep 3 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.