12 ms·
High-DPI displays and Linux
- lazerscience 12y agoBecause the article mentions that Chromium doesnt have HighDPI support right now: You can actually compile it with the -Denable_hidpi=1 flag which at least displays most web sites in the right way though the menu/navigation is broken (which is probably the main reason it isnt enabled by default).
- enobrev 12y agoThere's also a setting in chrome://flags (ctrl+f search for dpi: "Overrides the device scale factor on the device"), although the dropdowns no longer work and the tabs look ridiculous when set to anything above 1.
- krmtl 12y agoFirefox on Linux currently doesn't support a mixture of HiDPI and non-HiDPI monitors, it has a single DPI setting. I think it will be supported when this [1] bug is resolved. Shameless plug: I have written an addon to workaround this [2]. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=975919 https://bugzilla.mozilla.org/show_bug.cgi?id=975919 [2] https://addons.mozilla.org/en-US/firefox/addon/autohidpi/ https://addons.mozilla.org/en-US/firefox/addon/autohidpi/
- lazerscience 12y agoPlanning to do something similar for Thunderbird as well, as it suffers from the same problem?
- quotemstr 12y agoAutoHiDPI seems to look at the width of the active window rather than the size of the screen. This behavior seems like a bug.
- viseztrance 12y agoMy 11 inch asus laptop has a full hd display. So it's somewhere in the middle. Gnome's hidpi support doesn't allow float values, making this a serious issue to me. On top of that, you'll have to change the cursor size manually by diving into the config. The iphone 6+ display uses downsampling, so perhaps that's the way to go. But as things stand, I don't see my self using an external monitor in the near future, even after wayland becomes mainstream.
- adrusi 12y agoYou have a 200dpi screen. Using a scalling factor of 2, you'd still have a higher than average dpi.
- viseztrance 12y agoUnfortunately, that's not the case. I have tried it and the usable screen real state is so small, that gnome is unusable. I like big fonts, and found that a scaling of 1.5 is about right.
- chroma 12y agoWhat a mess. I didn't know HiDPI was so spotty on Linux. It's unclear to me why people would subject themselves to such an experience. If you want a HiDPI laptop, why not spend a little more to get a retina mac? On a developer's salary, the difference is a rounding error.
- icebraining 12y agoNot every developer gets SV-level salaries. It's certainly not a rounding error for junior devs where I live; it's more than a month's salary.
- hpaavola 12y agoI would not call it a mess. I run Ubuntu on Lenovo X1 Carbon and Asus Zenbook UX31A and on both machines all the software that I run except Steam work just fine. And OSX is not Linux. I don't want non-Linux OS.
- bitL 12y agoHow do you survive with UX31A's touchpad in Linux? On my UX32VD it's the most horrible part of Linux experience (also battery drained while idle in 2 hours (2 SSDs) doesn't help)
- klaasvakie 12y agoI don't have an UX31A, but an UX31E --- the touchpad is brilliant (I think mine has the elantech one) Also, I get 7.5 hours on the battery, I wonder what went wrong between the UX31E and the UX31A?
- jcagalawan 12y agoI have a UX31A and my experience is like yours with Ubuntu 14.04. Only quirk I have with the touchpad is that on Windows, with 1 finger idle on the touchpad and another finger moving the cursor would still move with the moving finger. On Ubuntu, the cursor remains stationary any time there are two fingers on it. I probably would not have noticed it if I weren't already so used to the Windows functionality so it isn't a big deal at all.
- bitL 12y agoIf your display is over 1080p (I use 1920x1200), Linux (at least Mint 17) switches to HiDPI by default, reducing my effective resolution to 960x600... There is some obscure setting that can switch HiDPI off, but it's a mess overall for the time being as some apps still use HiDPI (like gdm).
- yaantc 12y agoI have the same display with Debian and no issue. So it's either introduced by Mint or Ubuntu (Mint is Ubuntu derived). Most likely by Mint, as the UI customization is very distro specific.
- sampo 12y agoMust be Mint. Ubuntu's Unity has an adjustable slider for scaling under Display settings. Or more precisely, this is a Desktop Environment thing, not a distro thing. So whatever DE /u/bitL is using in their Mint (Cinnamon?) is the culprit.
- bitL 12y agoYep, it's Cinnamon, I've just installed a Debian on a new server and switched to Cinnamon, and the same happened there as well... Cinnamon has scaling slider as well, HiDPI is a bit different thing (and a different option in general settings).
- Aardwolf 12y agoSomewhere in the 90's, games were in 320x200 pixel resolution, and the Windows 3.11 desktop was 640x480 pixels or so on a typical 386 computer. Then up to around the year 2000, resolutions increased, going through such stages as 800x600, 1024x768 and 1280x1024 (your CRT would flicker if much higher, and then LCDs came along pinning it at 1280x1024 for 17"). Then the resolution (or especially DPI) growth basically stopped for 10 years imho ("HD" was not really any higher at all than what a year 2000 CRT could do). But now there's some growth again :) Why the problems though? has 10 years of the same DPI made developers forget about different DPIs?
- thrownaway2424 12y agoYour timeline is pretty far off, to my memory. We had VGA graphics games in the early 90s. My Sparcstation 20 came with a 1280x1024 CRT monitor. The 15" Sony CRT I bought shortly after, along with a Matrox Millenium PCI graphics card, was capable of the same. I ran a 21" Sony at 2048x1536 in 1999. It did not flicker.
- bcoates 12y agoIf he's talking about games and therefore mass market Intel micros, he's roughly right. 1990ish just-plain-VGA gives you 640x480x4bit or 320x200x8bit. You'd generally use the latter for games.
- georgeecollins 12y agoGame developers don't traditionally think about their games in terms of DPI. Think about it: a game is played on a TV ot Monitor that can display 1920x1080 pixels, but what size is it? 23" diagonal? 30" diagonal? .. etc. Game developers these days usually think of a PC or console game display in terms of pixel count and aspect ratio, not DPI
- seanmcdirmid 12y agoMany games have configurable resolution for a fixed screen size, which is basically a configurable DPI. Much of the rendering that goes on can use pixel shaders to take advantage of the extra pixels (e.g. via implicit surfaces).
- andmarios 12y agoImo Linux, KDE and most other software works nicely with HiDPI. A small issue is GTK apps that don't respect DPI settings. The most significant problem AFAIK is for people who switch frequently between different displays. There are a few settings here and there you have to adjust every time you switch between Hi and Lo-DPI.
- ultramancool 12y ago> Imo Linux, KDE and most other software works nicely with HiDPI. Having written some Qt apps and used them on scaled screens... eh. It's got some work to go, but we're making progress. Apparently Qt 5.4 will have further improvements in this field too.
- andmarios 12y agoIf we are talking about complete resolution independence I agree. Currently on two monitors with the same physical dimensions but different resolution you can't get a common rendering. But you can get a decent rendering from both of them, albeit a bit different; one for example will have a tad larger icons, the other maybe a little larger fonts,etc.
- ultramancool 12y agoYeah, differing monitor DPIs is still a terrible experience on every OS except OS X in my experience. I've gone so far as to use separate machines and Synergy to get around multi-DPI issues on Windows and Linux.
- simonh 12y agoI suppose this is why Apple went to 5K for the 27" iMac. It's exactly double the pixel dimensions of the non-5K version, so everything looks exactly the same size but with higher fidelity. Not necessarily a big deal for consumers, but vital for professionals that have preferred working screen layouts on their old machines and don't want to change that on the new ones.
- VLM 12y agoIts a good article about High-DPI displays and Gnome, as the author writes "Your editor's experiments have mostly been with GNOME, so this article will have an unavoidable bias in that direction." I've had 1600x1200 CRT or LCD on my main desktop since... 00s? Late 90s? If you make money typing at a desk, you're foolish not to splurge on desk, chair, lighting, quiet, keyboard... and monitor. I've been dealing with this class of problem since the 80s although it was a little different back then... If gnome-less, "linux" or more accurately, FOSS in general, has no problem with high res displays, in fact its really nice, far from a problem. I don't know if KDE in general has resolution problems. Konsole looks beautiful at high res and decent font. The only thing more flame war-ish than emacs vs vi is font choice, however I have noticed visible quality differences such that random font A in 2005 at 24 pt size looks much worse than it does at 10pt size, and this varies by font and over time. An example of the above I have freebsd on the other machine on my desk and displaying Monospace in a konsole font size 12 is "normal" but when you kick it up to 13 it looks perma bold because thats the 1 pixel to 2 pixel transition for Monospace on that platform and exact config. Luxi Mono displays "normally" at 11, permabold at 12, and at very large sizes like 17 it looks very peculiar randomish parts of letters display as 1 or 2 pix wide. Nimbus Mono L Regular 16 looks nice to my eyes and thats mostly what I use on that machine at 1600x1200. The biggest problem I have is finding really good UTF8 fonts. There's a nice test file called UTF-8-demo.txt Its mirrored and copied all over, here is one link: http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt I find this a true test of difficult display rendering on linux. The ergonomics of widescreen for long term anything, including movie viewing, is another topic and I believe my multiple high res 4:3 monitors are a productivity booster for me, so until they break I'll keep them.
- klaasvakie 12y agoI have a Thinkpad Yoga 2 --- 3800x1800 I think --- I find that the GTK-based stuff works well on HiDPI, but not automatically, so you need to fiddle with the GTK settings a bit. The QT stuff is worse since they cannot be fixed by adjusting only the font size. The older (Xaw3D,TK) stuff is really bad. I have never seen different DPI on different displays working. 99% of my day is spent in the terminal (xfce4-terminal) though and the crisp text makes it all worth while.
- sciurus 12y agoIt's 3200x1800, so that with pixel doubling you can an effective 1600x900.
- marcosdumay 12y agoI see that phrasing all the time: "Well, KDE can do what we are looking for, but GNOME does it in a hackish way. As we use GNOME, our review is all about it, and as a conclusion, Linux is no good." Why do these people insist on using GNOME after all?
- guardian5x 12y agoOr they could just use Windows. But that also wouldn't be hackish enough.
- pestaa 12y agoI think parent referred to KDE as the most mature environment available on Linux, the one this article should have been written about. In my mind, KDE is also superior to Windows in many ways anyway.
- aruggirello 12y agoKDE is my desktop environment of choice since I first installed it, after years of Windows, Gnome, and after several months (each) of Unity, XFCE and LXDE. IMHO nothing beats KDE overall, save perhaps OSX.
- jeorgun 12y agoI assume you haven't used both GNOME and KDE on a high-DPI monitor, because KDE's support for it is certainly not better. Qt themes don't scale, web views don't scale, icon, window, plasma panel, etc sizes need to be configured independently of font DPI, some applications just fritz out at high DPI font sizes. I've tested both 4.13 and 5.3, and haven't noticed any significant improvement in the latter. I'm a fan of KDE, but on my high-DPI laptop, I'm using GNOME purely because its "hackish" solution does work a lot better.
- marcosdumay 12y agoWell, I didn't. I don't have any HDPI display. But I've seen that from people complaining about workflow, supporting non-usual options, and accessibility. Anyway, yours is the first review I see about KDE in HDPI.
- bryanlarsen 12y agoI have a Thinkpad Yoga 2 Pro (3200x1800 @ 13"), and often use an external monitor. My "solution" is to turn off HiDPI and rely on the zoom features in all of my apps. (terminal, emacs & browsers) Browser windows on the laptop usually run at a zoom of 200%, whereas windows on the external display run at 90%. Annoying, but the beautiful text is worth the bother.
- graycoder 12y agoWhat OS/Distro do you run? I've read some rather worrying things about the linux support and haven't taken windows off yet. I've been living in VMs, which are surprisingly snappy.
- rbanffy 12y agoYou can probably boot it up from a USB stick and check whether everything works. Did that on my last Dell before getting rid of Windows.
- sampo 12y agoAt least Firefox has its own setting for scaling. This way 200% text does not break webpage layouts, as it far too commonly does.
- ochoseis 12y agoWait, you can use the Yoga as an external monitor for another device? That's sweet.
- freehunter 12y agoI didn't get that from what he wrote. What I understand is that he has a Yoga and uses an external monitor as well as the Yoga screen.
- hornetblack 12y agoEven with a 1920x1080@13" I needed to change settings. Mainly just changing the font size in gnome-tweak-tool. And I just zoom manually in Firefox because my external monitor is much lower res (1280x1024@19").
- phkahler 12y agoFor web browsers I thought CTRL+ and CRTL- were for dealing with this, but I think that is stored on a site by site basis. Something similar for the UI would be nice too, but IMHO should be kept independent of the "data" the app displays.
- sampo 12y ago> For web browsers I thought CTRL+ and CRTL- were for dealing with this, but I think that is stored on a site by site basis. CTRL-+ can really break the page layout in surprisingly varied ways.
- jackalope 12y agoI thought the whole point of High-DPI was to was to free us from the need to render graphics pixel-perfect at native resolution. While scaling bitmaps will probably be necessary for photographs and most video for a long time, can't everything else be rendered using SVG? Does such an environment already exist?
- wmf 12y agoThere was a good discussion of this topic yesterday in the iPhone screen thread: https://news.ycombinator.com/item?id=8634662 https://news.ycombinator.com/item?id=8634662
- bla2 12y agoOS X has the best highdpi implementation at the moment, and use the pixel scaling approach. It seems to work well there.
- legulere 12y agoThe problem is that the fallback of scaling twice and getting a bit pixelated stuff isn't working all the time under gnome
- brianpgordon 12y agoThe extent to which the third party software ecosystem supports Retina is, I think, the greatest strength of OS X at the moment.
- bla2 12y agoProbably because the pixel scaling method requires much less works by developers.
- chris_wot 12y agoIt does work well. The other day, there was an article on someone who did an extreme test on pixel scaling, and an Apple software engineer wrote the following comment: https://news.ycombinator.com/item?id=8634895 https://news.ycombinator.com/item?id=8634895 The part of the comment that I found the most interesting was his take on a solution: 1. Make everything vectors. You'll have to choose between weird antialiasing artifacts and potential pixel cracks; either way things will look bad. And you'll encounter bitmaps eventually, and have to deal with the necessities of resampling and pixel aligning at that point. 2. Scale only to integral sizes, and resample. You'll avoid antialiasing and pixel alignment issues, but pay a performance penalty, and things may look slightly blurry.
- protomyth 12y agoI'm curious about this. Aren't fonts vector files with some hinting?
- dharma1 12y agounity8 on ubuntu has a good resolution independent framework and high dpi support. legacy apps are a bit harder to sort out
- ambrop7 12y agoRegarding the problem of the external display, the DPI disparity is "easily" solved by configuring the external display with a high apparent resolution but down-scaling to what the device actually supports[1]: xrandr --output <output_name> --scale 2.0x2.0 The output_name can be found just by running "xrandr". A related and more powerful feature is specifying an arbitrary matrix for the screen-display transformation (e.g. rotation by any angle, shear) (xrandr --transform). [1] http://superuser.com/questions/825688/down-scaling-high-density-image-for-standard-density-external-display http://superuser.com/questions/825688/down-scaling-high-dens...
- toothbrush 12y agoI'm surprised that nobody has talked about using the Xorg -dpi flag. I am a MacBook Retina user (but exclusively run Linux -- a long story) and i actually find the results reasonable. I had to go to a bit of effort, but finally i managed a reasonable result by changing the way the X server is started (adding the -dpi 227 flag) and modifying Firefox's devPerPx option. The rest sort of "automagically" worked IIRC. I should however add that my setup is minimalistic -- Xmonad and very few non-terminal apps.
- fit2rule 12y agoWould be very interesting to see the results - I think knowing the DPI and scaling accordingly is probably the better way to go about it .. it'll reveal the broken apps quicker, anyway.
- giveuptheghost 12y agoIf you ever had time to put together a blog post with your config files, I'm sure more than a few people would be interested. I know I have struggled with setting up a reasonably looking Linux on the MBP Retina, and in the end given up.
- kps 12y agoThe saddest thing about this is that X11 was intended from the start to support multiple DPIs (see e.g. xdpyinfo(1)) and originally shipped with rasterized fonts in multiple resolutions. Sadly the "year of the desktop" crowd has been absolutely consistent in forcing *nix UIs down into the Windows mold.
- irixusr 12y agoMy 12 year old irix fuel v10 that I used for my phd has full vector graphics and fonts and supports monitor resolutions much higher than I can afford/justify today. I miss working on my irix :(
- jblow 12y agoRandom mom-and-pop folks have been able to buy high-DPI laptops at Best Buy for well over a year. (And higher DPI than discussed in this article; for example, 3200x1800). In computer lifecycle terms that is a long time and it is a little bit embarrassing that Linux works as poorly as it does in these situations. (Windows ain't so great at it either, which reflects poorly on Microsoft, but it still handles the situation a lot better than Linux does.)
- secure 12y agoAnother interesting angle is that it’s not only application software we need to change, but also the hardware drivers are not quite there yet: I have a Dell UP2414Q (3840x2160 resolution, driven via DisplayPort 1.2) connected to a nVidia GTX 660 card, which was one of the cheapest ones that support DP 1.2. With the proprietary nvidia driver, I need to manually edit the xorg configuration file to have the correct modes and most importantly disable XRandR in favor of Xinerama. This in turn breaks e.g. GNOME shell on Fedora 20 (without RandR, you’ll just get an exception in your syslog), and in general prevents plenty of use-cases (e.g. redshift for controlling display brightness, or changing rotation settings without restarting X11). The reason for having to disable RandR is that there is not currently a standard way on how to represent multi-stream transport (MST) connections, and 4K displays require 2 streams (1920x1080 each) at the same time. With RandR enabled, what you’ll see is 2 connected outputs, and all applications will treat them as such, even though you have only one monitor connected. Fixing this requires changes in RandR (i.e. the X server) and each driver. AFAIK, on the intel driver this should work, on nouveau there’s work under way, no clue about the proprietary nvidia driver.
- Excavator 12y agoI'm running 3840x2160 on a Samsung U28D590 with the GeForce GTX 780 6GB card over DisplayPort 1.2 with 4 lanes @ 5.4GB/s. Driver version: 346.16 XOrg server version: 1.16.1 (11601000) The only issue I've ran into is that Gnome Shell won't respond to clicks when I run in 30bits/pixel mode.