4 ms·
Ubuntu 20.04 (Gnome) is the first version of Ubuntu that's ever been able to scale different density monitors to different scales. It always had the options th
by alias_neo 7y ago
Ubuntu 20.04 (Gnome) is the first version of Ubuntu that's ever been able to scale different density monitors to different scales.
It always had the options there in previous versions, but it only ever honoured the value you set on a single monitor. Now, I can have my 4K monitor at 200% while I leave my laptop at 100% (1080p) and it works perfectly.
If only it handled Bluetooth audio devices better it'd be perfect; Currently, I can't connect a pair of truly-wireless earbuds and play audio out of them without using Blueman to mess around with the audio sink settings etc each time I connect them. On my desktop, with Manjaro (KDE) and an Intel AX200 WiFi/Bluetooth I can connect both the earbuds (with no additional tweaking) and for example an Xbox One S Bluetooth controller (with the minor tweak of disabling etrm), and they both work perfectly.
I'm not sure how much of that is related to Gnome/KDE but Ubuntu really could do with some better Bluetooth device handling, especially for audio devices.
- Nursie 7y ago> Ubuntu 20.04 (Gnome) is the first version of Ubuntu that's ever been able to scale different density monitors to different scales. You can do it on pretty much any modern X on linux using xrandr, FYI, it's just not easily done in a settings app. I've been doing this with xfce for a while.
- alias_neo 7y agoNice to know, thanks. You say X, does that mean not Wayland/X-Wayland?
- vetinari 7y agoWayland does that out of the box; unfortunately most people do not run Wayland, either because they prefer WM/DE that is X11 only (xfce, etc), or just because. On X11, scaling of entire framebuffer (i.e. scaling macOS style) is a standard xrandr functionality, but it was never exposed to UI. It has some drawbacks that macOS never had to solve (how it behaves over remote x11/vnc/etc, or memory requirements for framebuffer, for example), that make it unsuitable as a general solution. It is basically one of the hacks complained in this threads.
- alias_neo 7y agoI'm not sure what "Wayland does that out of the box" means; I ran 18.04 with Wayland since launch, it never gave me different scaling per monitor (not in the Gnome UI anyway). Are you saying it would have worked had I used xrandr?
- vetinari 7y agoxrandr is X11 only; it is X11 extension, after all. Are you sure you were running Wayland? In Fedora under Wayland, you could pick a monitor and choose scaling for it in the setting applet.
- alias_neo 7y agoI'm sure so far as when I login I select "Ubuntu on Wayland" and when I search through the output of top for "wayland" it's there. I'm not sure how else I prove I'm running Wayland. The machine I'm sending this from now is still running 18.04 on "Wayland" and I cannot set the DPI independently for each monitor, if I select my external monitor and set 200% and click "Done", I get 200% on all displays.
- vetinari 7y agoYou don't have to prove anything (but informatively, the way to detect wayland session is to check for XDG_SESSION_TYPE env variable). Also, just for curiosity, what GPU are you using? It is quite possible that 18.04 has some bugs. I don't have 18.04 machine with hidpi monitor at hand, so I can't have a look myself, so I chalk it up that there is something weird happening.
- alias_neo 7y agoThanks for the tip. The XPS 15 that I've tested this most on has a 1050. I'm using the proprietary Nvidia driver. My XPS 13 is using Intel from an 8th gen i7.
- Nursie 7y agoPretty sure xrandr is just for X. Am on debian with Xfce, so not using wayland at present. AFAICT Wayland is the default option for Gnome sessions on debian, but I fell out with gnome around the 2->3 transition and have never looked back. My xrandr line is not that easy to read but effectively, after I've set xfce hidpi support to double the size of screen elements, I increase the view window of the smaller screen by a factor of 1.8, and of the larger screen by a factor of 1.2, and put them next to each other - xrandr --output HDMI-0 --mode 1920x1200 --pos 0x100 --scale 1.8x1.8 --output DP-2 --mode 3840x2160 --primary --scale 1.2x1.2 --pos 3456x-180 If Wayland can do that without so much messing around, great :)
- jack_pp 7y agoI've had trouble with bluetooth for the past 5 or so years since I started using Linux as my main OS but lately I've had very little problems, I can't remember a missed connection; only problem I still sometimes have is that the audio goes into low quality mode which is solved by a quick reconnect. I own a pair of Master Dynamic MW07 and a UE BOOM speaker. As for my laptop, a Dell 7470 with Ubuntu 18.04.4
- alias_neo 7y agoInteresting. Did you need to use Blueman or tweak anything? I've found that without Blueman installed my earbuds will pair but are not even detected as being an audio device. I dislike having Blueman installed/running so I'd like to get it working without. I'm running Ubuntu 20.04 upgraded from Ubuntu 19.10 on an XPS 13 (it has worked on neither). I'm tempted to test on my Ubuntu 18.04 laptop (XPS 15) to see if perhaps it was broken recently. One thing of note perhaps, is that the XPS range use the horrid "Killer Wireless" card from the Alienware/Gaming range, their Linux driver performance has been generally horrid in the half a dozen of them I've experienced.
- jack_pp 7y agoI use bluetoothctl and don't need to fiddle with any settings (anymore, don't remember having to make anything weird though)
- alias_neo 7y agoSo I tested this on my XPS 15 with Ubuntu 18.04. The earbuds paired perfectly, and after selecting them in sound I have output. If I put them back in their case, the sound switches back to the laptop speakers, and if I pull them out again, they reconnect and sound switches to them. I must therefore conclude that something has been broken since 18.04 as it neither worked for me on 19.10 nor now on 20.04.
- vetinari 7y ago> Ubuntu 20.04 (Gnome) is the first version of Ubuntu that's ever been able to scale different density monitors to different scales. Welcome to the world that Fedora users have been living in for years already. Ubuntu users can thank to Canonical's decision not to enable Wayland in 18.04 for that...
- teekert 7y agoThat was mostly done not to create confusion regarding remote desktop/screen sharing solutions not working... different audiences I guess.
- vetinari 7y agoProbably. It might have been a good call in that regard; as with everything, there are compromises. With a hindsight, the remote desktop/screen sharing solutions caught up faster (except the closed source ones - they have no motivation when ubuntu works, so why bother) than figuring out how to handle several displays with different dpis under X11 so that legacy apps not using modern Gtk/Qt work.
- alias_neo 7y agoIf it was intentional, it was a horrific UX fail. Every ounce of my being convinced me that the way it was presented, I should be able to scale my monitors differently, and the fact that it didn't was just a bug nobody cared to fix. If it really was intentional, a small dialog or log that explains _why_ I couldn't scale monitors differently would have sufficed, or, simply moving the percentage adjustment control out of the settings for each display. On that note, 20.04 is supposed to support fractional scaling, but if I try to turn the toggle on, it just fails silently, so are we back to square one, or did a developer somewhere decide some precondition means I can't _currently_ turn it on, but didn't feel it was worth telling me, the user, why?
- vetinari 7y agoAre you trying to enable fractional scaling under X11 or Wayland session? In the past, when it wasn't exposed in GUI, and worked for Wayland only, it was necessary to logout and login between enabling fractional scaling and setting the scale itself (the reason was, that Xwayland was started in different mode then; technicality, that doesn't matter no normal users, but then, the functionality was labeled experimental and enabled via gsettings anyway). The X11 fractional scaling is a different beast; it uses xrandr scaling and requires cooperation from the graphic card (the output encoder, specifically - it sets up framebuffer at different size than the output to display). That also means, that it won't work on machines that do not have output encoder at all and assume framebuffer resolution is equal to output resolution, like remote sessions or virtual machine clients. Here I agree, that some error message would be appreciated. It was also brave from Canonical to enable it for LTS, without going through a testing cycle in a non-LTS release.