10 ms·
- FLAVOR: Ubuntu Desktop: 1. HEADLINE: A way to have different scaling for external monitors hooked up to my HiDPI laptop. Currently I need can only set a sin
by skamoen 10y ago
- FLAVOR: Ubuntu Desktop:
1. HEADLINE: A way to have different scaling for external monitors hooked up to my HiDPI laptop.
Currently I need can only set a single scaling factor, so I need to ajust my laptop screen resolution to match scaling of the external monitor. If that's not possible, a way to automatically set resolution and scale for both screens once you hook one up would already save me a lot of manual switching and restarting lightDM!
2. HEADLINE: "Native" multitouch gestures like 3-finger swipe to change workspace.
There are some programs that can do this already like xSwipe and Fusuma, but I expect this integrated with a nice and easy menu.
3. HEADLINE: Better battery management.
Battery performance under Ubuntu is often much worse in Ubuntu than Windows. TLP helps, but it's not enough.
- aylons 10y agoI have the dual problem of 1.HEADLINE: I've got a HiDPI notebook and suffer when I have to connect it to a common 1080p screen.
- deleted 10y ago[deleted]
- nhaehnle 10y ago> 1. HEADLINE: A way to have different scaling for external monitors hooked up to my HiDPI laptop. This would be awesome. Even when both the laptop and the external screen are 1080p, different scaling could be helpful if you want to use a dual monitor setup effectively. Unfortunately, it's a tough nut to crack given current desktop behavior. For example, you can have a window that straddles both monitors. What should the scaling be? You need to switch at some point as you're moving a window back and forth - when? So it's a challenge, but solving it would be so worth it!
- planteen 10y agoWidows 10 handles different scaling (zoom) between monitors far better than any Linux distro I have used. A window keeps the zoom of where it came from until it is entirely on the new monitor. Works pretty well.
- skrowl 10y agoWhile I get that it's uncool to like Windows on HN, I really like Windows 10. With WSL, all of the CLI tools I need for development are here along with better hardware support (including suspend / resume, high DPI monitor support, latest GPU drivers / etc). Plugging two 4K monitors into my laptop (which has a native 1080p display) is an awful experience when booted into Ubuntu. You either have to set the DPI to make the laptop display unusable or set it to make the 4K monitors look like $hit. Plus... you know... games.
- problems 10y agoWindows isn't the best at multi-DPI in general though either. Only recently did Firefox on Windows get multi-DPI support - not sure if Chrome does yet because I gave up on it and went to dual 4K because the scaling was easier. If you want to see really good multi-DPI support, OSX is really good at it with most apps supporting it out of the box. Multi-DPI is kind of a hack in general though and is likely to cause issues unless applications have been tested for it very thoroughly, it causes serious issues on major frameworks like Electron and Qt - though both of their support for it is improving slowly. If you want things to work smoothly for now, try to stick to 1 DPI setting.
- calferreira 10y agoI think you're confusing Windows DPI scaling availability vs lack of support from the apps you use. It's not windows fault the apps don't take advantage of DPI. You can also disable dpi scaling for individual apps.
- lighthazard 10y agoThe problem isn't just scaling between two different resolutions, it's the inconsistencies (yes, apps don't take advantage but that's not the only issue). For example, if I want 200% 4k (my monitor) and 100% 1080p (my 2 side monitors), I have to choose between ultra-tiny text on my 4k with regular text or blurry text on my 1080ps. http://i.imgur.com/o1S8ZUt.png http://i.imgur.com/o1S8ZUt.png
- akx 10y agoFWIW, macOS changes a window's DPI mode when the cursor that is moving the window passes over from to one screen to another. Just tried that out. :D
- JonathonW 10y agoThat's what happens when "Displays have separate spaces" turned on. (With that setting on, windows are only present on one monitor at a time, and, when dragging a window, that transition happens when the mouse cursor moves between displays.) With "Displays have separate spaces" turned off (so windows can be present on more than one monitor at a time), it looks like windows take their DPI setting from whichever monitor the majority of the window is on-- with my current two-monitor setup, the DPI transition happens at the halfway point of a window, regardless of where the mouse is as I'm dragging.
- randallsquared 10y agoLeaving aside the implementation difficulty, the answer to "what should the scaling be" seems obvious? Use the monitor scaling for the part shown on that monitor. The switch should happen on a monitor level, not on a window level.
- vetinari 10y agoThe painting happens on window level, that's why it handled there. Application paints the window whenever it receives event "paint me" for it and it cannot paint different portions of a window at different DPI - from the applications POV, it is a single canvas. Another thing is, that the window resize and dpi change are separate events, so you cannot really call it twice in a row with different DPI and expect the app not getting confused. Another approach would be to let the application render at higher DPI and the compositor would downsample the portion on the lower DPI display.
- willvarfar 10y agoThis isn't just external monitors! MBP with "retina" screens are also unusable for Ubuntu :(
- pvinis 10y agomacOS handles that edge case. It just displays the window in only one screen. The one with the biggest area of the window shown. There is no need to be held back by cases like this.
- gcr 10y agoIf you zoom in, you can sort of force parts of one monitor to be shown on the other monitor. You can see how everything's upscaled/downscaled from there.
- benwaffle 10y agoWeston does multi-DPI really well. When you drag a window between monitors, the half on the HiDPI monitor is scaled and the half on the LoDPI monitor is unscaled. So it looks perfect without windows growing or shrinking when you move them to another monitor like GNOME on wayland.
- deleted 10y ago[deleted]
- 0x6c6f6c 10y agoI'd love to read more about how this was done, if you have a link perhaps.
- gcr 10y agoOSX handles this by upsampling/downsampling the parts of windows that are drawn on the other screen.
- ibrahima 10y ago> This would be awesome. Even when both the laptop and the external screen are 1080p, different scaling could be helpful if you want to use a dual monitor setup effectively. Actually, this is especially true when both are 1080p, because laptop screens are never as big as desktop monitors, and we also tend to use them closer. I have this exact problem right now but I think I've just adjusted my eyes over time to squinting at 1080p at 14", or perhaps I turned on some display scaling and forgot about it. > For example, you can have a window that straddles both monitors. What should the scaling be? Intuitively, I feel like you should use the physical DPI of both screens to make sure that the window has the same physical dimensions on both. But that'd probably lead to weird scaling factors like 1.17 instead of nice round ones, and thus fuzzy scaling, so it probably couldn't quite work. I guess perhaps you'd just snap each display's DPI to the closest predefined value (eg. .25 increments which I think most systems use these days). Then you'd get a similar-sized part on both sides of the boundary. But yeah, I think overall if you actually use physical DPI for scaling everything should work out close to nicely.
- JamesMcMinn 10y agoFedora with Gnome shell on Wayland already handles both 1 and 2, although power managements is about the same as Ubuntu and Wayland comes with its own set of issues.
- jcadam 10y agoI switched from Ubuntu to Fedora about a year ago and am quite happy with it.
- alex_duf 10y agoreally, there's a native multitouch support for touchpads? do you have more info about that?
- alphadevx 10y agoTwo-finger scrolling works really well on Fedora with Wayland, in fact at some point it appears to have become default behavior (at least on my machine running the latest version).
- vetinari 10y agoFedora uses libinput. Of course, it is not without issues from those, who would like to tweak every little setting. Libinput is designed to be as automatic and configuration-less as possible.
- JamesMcMinn 10y agoI can't find much information, but things like scrolling, switching work spaces etc. worked out of the box for me when I was testing Fedora 25 a month or so ago.
- rhodysurf 10y agoYes there is native 4 finger swipes to change desktop on Wayland. And I wrote an extension to add 3 finger gesture support for an action of your choice. Check it out here: https://github.com/mpiannucci/GnomeExtendedGestures https://github.com/mpiannucci/GnomeExtendedGestures
- 10y ago
- dtnewman 10y ago+1. I recently got an Dell XPS 13 and hooked it up to my external monitor (4K). Icons were way too small so I adjusted those and standard text size. But getting applications (e.g. PyCharm) to run at a reasonable size was frustrating (I had to google it and then modify some configuration file somewhere). With OS X, which I just came from, the external monitor "just worked" when I plugged it into my Macbook Pro.
- disiplus 10y agoit really is a mess. i connected a 4k xps 15 to FHD monitor, the only way for it to work is via open source nvidia drivers and using xrandr to scale the external monitor and then use other settings to scale everything to FHD. that and some other things made me return the xps and order the new macbook.
- ReverseCold 10y agoWindows scaling should auto configure and work in any modern application. It always works like that for me, and I only have issues for software written in 2003 in Java or really old versions of QT.
- artursapek 10y ago> (I had to google it and then modify some configuration file somewhere) I even had to do this with Chrome [1]. It's crazy how obscure this was when I was setting things up. Other apps, like Gimp, still look like shit because I can't find a way to do the same thing; their GUI just rends at a tiny scale and is difficult to use. [1] https://superuser.com/a/1120078/103402 https://superuser.com/a/1120078/103402
- dogas 10y agoI would absolutely be in favor of #1 and #3.
- tluyben2 10y ago3. agree with the default WM; no issues (same or better than Win) battery life with i3wm. In my experience ofcourse.
- pyrophane 10y agoBetter out of the box HiDPI support would be great. Autdetection would Be nice, but just being able to set the scaling option in one place and having it apply not only to my desktop but the login manager as well would be very useful. Also, afaik there is no documentation on changing the scaling factor in the login manager, or at least not in the official docs. I would not buy a standard resolution monitor at this point, so having simple support for it in Linux is very important to me.
- aarohmankad 10y agoWould love support for #2
- nickthemagicman 10y agoMore work on gesture! Including the ability to configure what gestures you want in a GUI interface!
- blauditore 10y agoOn 1.: Seriously, I was gonna write the exact same thing. Just today I researched once again, since it's quite a hassle, and nowadays seems pretty common to have a HiDPI laptop screen in combination with a standard-DPI external screen.
- loop0 10y agoI had the same problem yesterday, I use fedora but we share the same pain missing this feature. It would be awesome to have this setting. Being able to set different scaling for external monitors is a must have feature.
- egnehots 10y agoUser: I want hi-res apps! Dev: Sure, here you go. User: But why is it so small on my new shiny tablet high density screen? Dev: (SHit it worked okay for me) Okay now it detects the density and scale.. User: But when I move the window to my old good lcd screen it becomes way too big! Dev: Okay let's see if I can dynamically adapt to a new monitor density, it's just one scale factor. User: But when I put it on my big tv flat screen it is too small!! Dev: (Oh shit you gotta be kidding me, the pixels are actually a viewing distance relative unit??!)
- tracker1 10y agoIf the OS (not an app) could allow you to tweak the native pixel resolution, scale, size of each display, even under "advanced settings" that would go a long way towards helping. This is at the Operating System level, not like some random one-off application. For me, the one feature I miss the most is a checkbox option for "Native Scrolling"; Did this really need to be removed?
- kps 10y agoX11 did — run xdpyinfo and you'll see its idea of screen dimensions and resolution. (It's unlikely they'll have been configured correctly, of course.) If you look hard enough, you can find some ‘outdated’ plain-X software from the workstation era that respects it. It was the ‘Linux desktop’ crowd that threw that away, since they couldn't think beyond building Windows clones for PC clones. And the vector-based competition to X (e.g. NeWS, Display Postscript) would have done better.
- pzone 10y agoThe distance between of the third and fourth formulations of the problem is very small. Once apps can be dynamically redrawn with a scale factor, simply make the scale factor customizable.
- eikenberry 10y agoSimple answer is don't auto-detect. Allow the user to set the scaling factor per screen and then just auto-apply that when using that screen. This just requires a way to uniquely identify screens and requires the user to set the scaling factor for that screen once when first used.
- arprocter 10y agoThanks for mentioning TLP - I hadn't heard of it before
- dreamofkoholint 10y agoHiDPI is still a huge problem in the linux desktop I can't count the number of hours I've spent researching and fiddling with it. Wayland is the answer, but it's slow moving, and Sway currently looks terrible when scaling double.
- thomastjeffery 10y agoThe biggest issue with Wayland is video drivers. Try getting Wayland to work with any proprietary blob, and see your efforts fail miserably.
- ambrop7 10y agoOne way to solve the scaling issue is to set the external monitor to a virtual higher resolution while still driving it at its native resolution (with scaling down done in GPU). Actually Linux/Xorg generally support this out of the box, it is just the higher-level software that would need to make use of it. You can try it youself: xrandr --output <output-name> --scale 2x2 the result should be the given monitor will appear to have twice the resolution, so if applications believe they are running on a high-DPI display, they will look fine on the external monitor as well. However due to lack of support and awareness in desktops doing just this might leave you with an unsatisfactory configuration, e.g. part of the desktop erroneously shown on both monitors - you might need to use further xrandr commands to setup the regions that each monitor displays. I use the same approach to solve this issue on a Windows 7 system I am using, it is just slightly more involved (I need to setup a custom resolution in the Nvidia control panel).
- bitexploder 10y agoBattling xrandr is not for the feint of heart. It is tedious to get the right behavior and differs from one display to the next (the precise dimrnsions, etc..)
- thomastjeffery 10y agoUnfortunately, this scales after drawing. The entire point of hiDPI is to have a crisper image. To achieve that, the scaling must be done at the drawing level.
- 3v1n0 9y agoUnity and Gtk would scale everthing up, so things that are properly drawn before being re-scaled. So quality will be there. For normal/low-DPI screens instead, you'd scale everything down, so you'd lose some memory CPU power, but you'd still get the quality result.
- leetbulb 10y agoif multi-monitor support was as solid as it is on macOS, i'd likely switch
- dmritard96 10y ago#1 is absolutely the biggest one for me and #3 is a solid second. I have a Macbook Pro with retina and stopped using linux simply because I couldn't get a good resolution on my laptop and monitors. And then when traveling (flights etc), ubuntu chewed through battery probably 3 to 4x as fast as OSX so I wasn't good for that either. As a result, I have been on OSX for a couple years now but would love to be back on ubuntu some day.
- 3v1n0 10y agoUbuntu Unity Developer Here... I'm mostly replying at the point 1., as it's closed to what I do... I know we should offer an UI for that, but waiting for that you can just workaround this. Well, as said unity supports scaling, although it's not possible to scale toolkits per monitor. However... There's actually a good workaround for this, that works fine for multiple monitors. The idea is that you scale everything up to 2x / or your maximum scaling (including window contents), then you scale the non-HiDPI monitors down using xrandr --scale For example, if you want to use normal resolution there, you just have to do something like: xrandr --output <OUTPUT> --scale 2x2 In this way it will be scaled down, and everything will be readable and almost 1x1. You can test this in normal resolution monitor as well, and you'll see things should be pretty good. I should find some time to implement this directly inside UCC / USD, so that users will get this for free... Notice that there's also a bug in X causing some mouse trapping, so you'd probably also need X to be patched as explained in this bug: https://pad.lv/1580123 https://pad.lv/1580123 (we'd like to include this upstream, but we're waiting for X upstream approval for that)