2

Inconsistent Resolution / Positions / Fractional Scaling for 4K Display & HD Display Using NVIDIA Drivers


Background

So, I've recently moved back onto Ubuntu after deciding to take a break from Linux around just over 1 year ago which is when I bought a 4K display. Reason being, I did not have much fun trying to support a 1920x1200 display + 3840x2160 display using xrandr scripts and whatnot.

I did some research again recently to see how support was coming along and I found the following information:-

  • Ubuntu Wiki: FocalFossa/ReleaseNotes

    X11 fractional scaling.

  • Multiple external monitors | HiDPI - ArchWiki

    The HiDPI setting applies to the whole desktop, so non-HiDPI external displays show everything too large. However, note that setting different scaling factors for different monitors is already supported in Wayland.

  • Requirements | Wayland - ArchWiki

    ┌-------------┬-----------------------┬---------------------------┐
    │Buffer API   │GPU driver support     │Wayland compositor support │
    ├-------------┼-----------------------┼---------------------------┤
    │GBM          │All except NVIDIA      │All                        │
    ├-------------┼-----------------------┼---------------------------┤
    │EGLStreams   │NVIDIA                 │GNOME, KDE                 │
    └-------------┴-----------------------┴---------------------------┘
    

And that, to me, basically said a combination of the following things...

  • Gnome / NVIDIA Drivers / Ubuntu

... would give me what I want; a system that can manage per-monitor fractional scaling without any issues out of the box.


Problems & Current Workarounds

Fractional scaling does appear to work and I can have different scaling options per-monitor albeit with the following caveats, which are at least bearable:

  • Login screen does not retain scaling settings (less of an issue)

  • Scaling options are not retained post-login (not so bad)

  • I set my display settings like so after each login (in this exact order otherwise the displays will overlap and / or switch off the 4K display):

    1. Right click --> Display Settings
    2. Revert from 'Single Display' to 'Join Displays' (only the lo-res display will be active at this point)
    3. Set the 4K display to primary
    4. Leave scaling at 100% on both displays and position them side-by-side
    5. Hit apply
    6. The scaling is still at 100% so change the 4K display to 175% and hit apply
    7. The displays will span across one another but will retain the 100% / 175% scaling settings, so... (trying to reposition the monitors in ARandR or Display Settings again will result in going back to step 1)
    8. Open NVIDIA X Server Settings
    9. Open the 'X Server Display Configuration' tab
    10. Drag apart the overlapping displays back to their correct positions.
    11. Apply
    12. Quit

System will now persist with per-monitor scaling until rebooted or if something refreshes the displays etc.


Summary

I hope that's enough information. What I would ideally like is just for the settings to work without any workaround but it's not the end of the world. If someone could help automate the above process using some other means, I would be very grateful.

Due to the odd nature, I was hoping that maybe it was just a bug that could be resolved in a future update too because, as stated, I can run per-monitor scaling. It just takes a bit of extra work...


Updates

I have just read the latest Linux Mint release notes and it appears that they may have cracked the problem. I don't want to spend too much time setting up an OS from scratch again too soon but for those who are interested, here is the link (under header Cinnamon 4.6):

https://www.linuxmint.com/rel_ulyana_cinnamon_whatsnew.php

Thanks to those who have replied and/or reviewed my post.

0

This is a known issue with KDE and Nvidia (never seen it in Gnome and this is not a fix for any other desktop), luckily a semi fix (I can't get the giant lock screen fixed yet) is quite simple and GUI only.

First undo any changes you to scaling, just take make sure there is no issues with that.

Next get the Nvidia drivers from this PPA and install them (they are a bit more up to date)

sudo add-apt-repository ppa:graphics-drivers/ppa && apt update
sudo apt install nvidia-graphics-drivers-440
sudo reboot

Now in KDE open the system settings >> Appearance >> fonts and scroll to find "Force Font DPI" and check the box, I set this to 120, you may have to tweak this number, now reboot.

enter image description here

This will of mostly fixed any scaling issues, there is a chance some icons are still tiny, however you can fix this in the system settings too.

Go to System Settings >> Appearance >> Icons and click the Configure Icon sizes button, here you can adjust the sizes of various types of icons around the desktop in real time.

enter image description here

Now you can go back to display settings and adjust the scaling as you like, everything should scale together.

Why is this still an issue in 2020? I don't know, seems to be an Nvidia issue, rather than an Ubuntu one.

| improve this answer | |

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.