Ubuntu Works With GNOME To Improve HiDPI Support On Linux Desktop (omgubuntu.co.uk)
An anonymous reader shares an article: Canonical is playing host to a 'fractional scaling hackfest' in its Taipei offices this week. Both GNOME developers and Ubuntu developers are in attendance, ready to wrestle with the aim: improve GNOME HiDPI support. Ubuntu's Unity desktop (I'm told, anyhow) plays fairly nice with high DPI monitors because the shell supports fractional scaling (though most apps, I believe, do not). Furthermore, users can tweak some high DPI settings to better suit their display(s). GNOME Shell also supports HiDPI monitors, but has, until now, been a little less flexible about it. "Currently, we only allow to scale windows by integral factors (typically 2). This proves somewhat limiting as there are many systems that are just in between the dpi ranges that are good for scale factor 2, or unscaled," the hackfest page explains.
It's good news that they are moving to address things like this that are standard in other operating systems and to hopefully standardize on a way of doing it so we don't end up with everybody coming up with their own incompatible way of doing it. The issue will really come down to application support though, with so many different application frameworks on Linux they all need to support it, do so in the same way as GNOME and also then make sure that applications are written to support it. Application support for it in Windows is still mixed and that doesn't have the range of GUI frameworks and toolkits that Linux does, on macOS it's better but still not perfect.
It will be a long time for it to become commonly available and just an expected thing rather than a special feature but you have to start somewhere. I really just hope we don't end up with 10 different ways to do it though.
Except Windows has its own set of problems with DPI scaling. They were resolved mostly with windows 10, but still old apps that are not "DPI aware" look terrible.
GTK is still unable to properly scale bitmap icons, which means that some UI elements stay tiny while windows and fonts scale properly.
I don't know, last time i tried running 4k on windows (9mo ago?) EVERYTHING looked like ass. Especially control panel, for some odd reason. It was super blurry.
OSX is about 20x better.
OSX is about 20x better.
it really goddamned ought to be, considering that NeXTStep was resolution-independent.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Nice to hear that they are working on simplifying this.
After setting 2:1 scaling in Gnome I found that my 1080p monitor was almost useless and while my 4K looked great everything was too large. So I used xrandr to set things to a more comfortable level by scaling the 1080p monitor by 2x2 and the 4K by 1.6x1.6 with the following xrandr commands which run at start up.
xrandr --output DP-0 --pos 0x0 --scale 1.6x1.6
xrandr --output HDMI-0 --mode 1920x1080 --pos 6144x0 --scale 2x2
I'm using Fedora 25 but this should work for other Linux versions too. The tricky part is finding the right setting for your comfort level. So far I haven't found any issues with it. You can customize the resolution for each user if you cared.
DRM? No thanks, I'll just get it somewhere else...
This is a joke, right?
Fonts on Mac OS look like crap even at high DPI, the icons are usually inflated way beyond what they should be and don't get me started on any legacy applications you might want to run on that HDPI display.
I'll keep using XFCE thanks.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
Is a display system that is resolution independent still a distant dream? Seems like this HiDPI stuff is just a hack, though I'll agree it's not the worst hack I've ever seen.
Years ago we thought eventually we'd have desktop where everything was displayed in actual units like centimetres or points, and since everything was to be scalable, you could zoom it anyway you want and it would remain nice and sharp. Although we have scalable fonts that HiDPI relies on, seems like we gave up on vector graphics for drawing with (too slow?), and now we just bitmap scale the whole GUI (except the fonts). Is there no better way?
They had this in 2005. It was called DPI. It scaled really well. Then some IDIOTS decided it should be force set to 92.
Applications can get the DPI settings directly from X.
It's what that value is for FFS.
Yes, Windows 10 (and this has changed a little bit with the latest version of Windows 10) tends to let older programs think they are running on a low-res screen and then scale up the resulting bitmap. This works OK, if a bit blocky, for a 2x scaling factor, but will probably be terrible for non-integer scaling. Sometimes the older program actually works fine with scaled text, if only Windows would let it. (Different font sizes and scalings have been there since Windows 3.0 at least, so all programs *ought* to support it, but of course many of them never tested it and are buggy.) You can right-click on the executable and set the scaling mode to 'application does the scaling' and that often fixes it.
-- Ed Avis ed@membled.com
Nice try. I have to support it on a regular basis.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
Give Windows some credit here. If you set scaling to 200% even non-DPI aware apps look at least as good as they do on low DPI monitors because they get perfect pixel doubling. That's actually better than most scalers manage to do - both AMD and Nvidia's, and the scalers built in to most displays, use blurry bi-linear scaling that looks crap.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
That is mostly because it just does not work on tablets. Neither the hardware drivers nor the GUI is suitable for tablets.
I tried a number of Ubuntu flavours, and none of them handle HiDPI in a reasonable way. Some are worse than others, of course, so there is hope.
I agree that Windows had too many unsuccessful attempts at HiDPI. The problem goes back to high resolution (VGA+) monitors under Windows 3.1.
However, Windows 10 has finally delivered a reasonable solution. Yes, some legacy apps look blurry, but that is a problem with the app, not with Windows.
Linux on the other hand used to be excellent for HiDPI, certainly back in the days of Windows 3.1. But it has since lost that ability under many toolkits.
Banging one's head repeatedly against the wall should be painful. And yet Canonical insists on doing it. When the decision was made to abandon Unity, they chose the inferior solution among the GNU/Linux desktops. Plasma 5 (KDE) is HiDPI-ready. But no, they stubbornly chose GNOME and now they have to throw resources and manpower to hack at the GNOME codebase to fix something that was already fixed in Plasma.
They should have gone with Plasma which is IMHO much better.
OK, I get that it's their project and their choices, all right... but they certainly like to bang their heads against the wall, time after time...
-- Look to the Rose that blows about us--"Lo, Laughing," she says, "into the World I blow..."
True, the actual density depends on the screen dimensions and pixel count. But an uncooperative chipset maker can hide the screen dimensions from X.
In addition, effective density depends on the viewing distance. If the monitor is twice as far away, it takes twice as many pixels in each direction to make the same size image on the viewer's retina, giving it twice the effective density. This is why CSS defines the px unit as 1/2688 of the viewing distance, which represents a 96 dpi display at 28 inches, rounded to the nearest hardware-friendly unit. Because a laptop or tablet is viewed closer than a desktop monitor, the effective density of a physically 120 DPI display might actually be 96 DPI. Television monitors, on the other hand, have a larger effective density than their physical density because they are viewed from farther away than a desktop PC monitor.
If you doubt that effective density matters, consider this: What is the DPI of a projector?