Is there any Ubuntu flavor that handles HiDPI consistently?
No, there isn't any so far--see Answerer's note at the end.
What is "consistent"
Before one disagrees with this answer, make sure to understand the question by OP. Given that one needs to manually set DPI value or scale factor of desktop environment, which varies for different monitors, we can't say Ubuntu "handles HiDPI consistently".
I would understand "consistent" as more towards out-of-box experience (Even OP has mentioned this in the question). That is, in terms of the ability of operating system to use appropriate settings for any given hardware and application software that respects the settings.
Does Ubuntu offer out-of-box experience for HiDPI support? No, or mostly uncertain.
HiDPI support for Ubuntu
Trusty Tahr (14.04) is the first Ubuntu release that explicitly mentioned HiDPI support. Even before the release, relevant information can be traced back to this dated message.
cairo 1.13 snapshot in the ubuntu-desktop ppa (Hi-DPI support testing)
Better support for Hi-DPI screen is a topic that is being discussed for the coming LTS [...]
From TrustyTahr/ReleaseNotes for 14.04:
- Support for High-DPI screens and desktop scaling
- Initial HiDPI support for LibreOffice
From XenialXerus/ReleaseNotes for 16.04:
- Improved HiDPI support in the greeter
- Support for scaling cursors in HiDPI environments
HiDPI support for others
From blog post Kubuntu and HiDPI Screen dated 16 February 2016, by Giri Alam:
Kubuntu/KDE is not perfect on HiDPI screen. Currently, there is no utility to automatically detect and scale the UI based on device screen resolution and Dots Per Inch (DPI) value, but the workaround to make Kubuntu more usable on HiDPI screen is quite simple.
From blog post Ubuntu MATE 16.10 Alpha 1 dated late June 2016, on Ubuntu MATE blog:
We have initial HiDPI support (almost) working. Don’t get too excited, this is an all or nothing implementation. When enabled all GTK3+ applications (not just MATE) will be rendered using high quality pixel doubling. If you have a 2160p display, it looks ace :-D
However, no mention of HiDPI support status in the final release note of Ubuntu MATE 16.10.
From GNOME Wiki HowDoI/HiDpi:
GNOME currently enables hi-dpi support when the screen resolution is at least 192 dpi and the screen height (in device pixels) is at least 1200.
From reddit thread of BudgieRemix dated mid-June 2016, prior to becoming Ubuntu Budgie:
There doesn't seem to be HiDPI Support in any native settings menus, or on the lock screen. Scaling on the lock/login screen was added to Ubuntu 16.04 for HiDPI monitors. [...] scales everything correctly with a scale factor of 2, however there is one issue. [The icons in the system tray] do not scale and do not appear correctly.
And the only replied answer:
None of the current members of the development team has a HiDPI monitor so we cannot reproduce the issues you raise :(
Overall HiDPI support
Although I have not quoted other sources here, most mentioned flavours for HiDPI support are Ubuntu GNOME and Ubuntu (Unity). Some mentioned Kubuntu/KDE and Xubuntu/Xfce, but not much information for hardware that actually worked for these flavours.
Disclaimers: This answer intends to review HiDPI support status, as 2016, for Ubuntu and its official flavours. The following limitations shall be noted.
Some flavours are not mentioned at all because those had no relevant information of HiDPI support
Non-Ubuntu flavours or unofficial derivatives are not mentioned, such as Linux Mint/Cinnamon, elementary OS/Pantheon
I don't have any HiDPI monitor or HiDPI supported hardware to verify above information; This answer solely quotes relevant information from the web
TL;DR The HiDPI support is work in progress, regardless of distribution and desktop environment. There isn't any Ubuntu flavour that handles HiDPI consistently yet.
Answerer's note: The HiDPI support may have improved since this answer was first written. Hence this answer is now a community wiki, so that anyone with minimum reputation can improve this post to keep up with how HiDPI support is being made consistent for newer releases of Ubuntu and the official flavours.
The Problem
This is the strangest answer I've written. When upgrading to Ubuntu 16.04 I had to set scaling factor to 1.4 on this screen:
I know it says 1.5 but 1.4 worked better and I had also tried 1.25.
Next I had to go into Google Chrome and set "Large Font" in the settings. Alternatively I had tried setting zoom factor to 110% and 125%.
The Solution
I fixed this by acccident using Ctrl+Alt+F5, logging into the console and typing startx
. Then using Ctrl+Alt+F1, logging into to console and typing sudo reboot
.
Upon signing in all the icons and menu lines were super enlarged and I reset monitor scaling (in picture above) to 1.0. I then had to change Google-Chrome font size from "large" to "normal".
The Explanation
I wouldn't believe this solution myself unless it happened to me.
I then discovered the command xrandr --listmonitors
which shows:
$ xrandr --listmonitors
Monitors: 2
0: +*LVDS1 1920/382x1080/215+0+1080 LVDS1
1: +HDMI1 1920/1107x1080/623+0+0 HDMI1
Notice the screen size 382x215 millimeters for the 17" laptop display (LVDS1) and 1107x623 millimeters for the 50" TV. This plays an important role in the new DPI scaling I'm benefiting from, but I don't have the experience to explain it academically.
So yes it's an incredulous answer and I wouldn't believe it had it not happened to me. I believe there must be a better method such as reconfiguring X, perhaps by deleting a configuration file so it's automatically rebuilt but, I don't know that shorter solution.
The Proof
The end result is what is important:
Even with and font and window sizes tweaked, some programs still "don't like" HiDPI screens because their programmers don't tell the program how to support it. It is partly a problem of application support. On Windows some programs have the same issue. What Windows does is to scale the whole window giving a pixelated looking thing.
Some answers suggest you create scripts to change the screen resolution before you start a program. I think this is too awkward. Personally I find virtual magnifiers very helpful.
Magnifier programs have already been discussed here: Is there a Magnifier app for Ubuntu? I want to use a bounding box with the mouse on a part of the screen and magnify it for our eyes to Zoom
Here I will show you how to use the Compiz Config Settings Manager's default magnifying glass.
Start Compiz Config Settings Manager (If you don't have it, install it first)
Click on the Accessibility tab on the left. On the right, click on Enhanced Zoom Desktop.
Enable Zoom In Key and Zoom Out Key. For my preference, I set them to Ctrl+Super+= and Ctrl+Super+-.
If the default Sync Mouse panning behavior isn't to your liking, you can go to the Mouse Behavior tab and select your favorite Zoom Mode.
Close the program. Now press Ctrl+Super+Equal. You should see your desktop magnified.