6 ms·
I used to use XFCE (specifically XUbuntu), but found that its handling of hi-dpi displays on laptops etc. wasn't very good, so switched to Plasma/KDE which seem
by ndsipa_pomu 3y ago
I used to use XFCE (specifically XUbuntu), but found that its handling of hi-dpi displays on laptops etc. wasn't very good, so switched to Plasma/KDE which seems to work better. Still have issues with certain flatpak apps not scaling properly though.
- jeroenhd 3y agoIf scaling is off, there's a good chance the application is using GTK. GTK4 doesn't support fractional scaling but I believe GTK5 might. If applications are written in GTK2/3/4, fractional scaling won't work well and lead to blurry windows. Integer scaling (1x, 2x, 4x) should work just fine, but fractional scaling isn't implemented consistently across GUI frameworks. Hopefully Wayland will fix the inconsistencies between implementations, though GTK and some other GUI frameworks will likely remain broken for a while.
- blueflow 3y agoThe constant GTK rewrites are a disaster. Why should applications even bother starting with GTK(n) if it will be obsolete and incompatible when GTK(n+1) comes around?
- dvdkon 3y agoYou're exaggerating. GTK2 came out in 2002, GTK3 in 2011 and GTK4 in 2020. That' s almost a decade for each version, and you have to consider that GTK2 was maintained for a long time after 3's release and that current Linux distros still package it. And the GTK3 to 4 transition required some changes, but far from a rewrite. If you need multi-decade support from your GUI layer, I can recommend raw Win32 or VT100 terminal codes. There's hardly any other API with that kind of backwards compatibility.
- j16sdiz 3y agoIt's the downstream projects. It take 2-3 years to iron out the bugs. Non-gnome downstream take another 3 years to adopt and stabilise. By the time the adoption is finished, another major version emerges. We don't have any good way to maintain compatibility that long.
- robinsonb5 3y agoThat's assuming downstream is even still around to adopt the new version. There are plenty of simpler tools which are "done" - itch scratched - and the author has long since moved onto new things. Duct-taping the bitrot inflicted by toolkit churn is something that requires resources - if nothing else it consumes time and energy that people could otherwise be spending on current interests and projects. That's where the "open-source means everything's free" mindset can be a problem, since it's just assumed the authors will step up and do work made necessary by the decisions of others, with no remuneration or consideration.
- badsectoracula 3y ago> There's hardly any other API with that kind of backwards compatibility. X11/Xlib, though obviously you have to do the GUI bits yourself (but then you mentioned VT100 terminal codes so i guess that is acceptable). Also AFAIK Motif is backwards compatible going back to the 90s.
- vetinari 3y agoMotif is compatible, because it is dead.
- pjmlp 3y agoWell, there is Open Motif for those that feel like using it.
- badsectoracula 3y agoI meant OpenMotif as pjmlp mentioned. These days it seems to mainly receive patches to keep it working but it maintained API (and ABI where possible) compatibility even when it was more actively developed as it was a design choice, not a byproduct of not receiving updates. AFAIK it is how Lesstif managed to be a (mostly) drop-in binary compatible alternative to Motif before the latter became open source.
- layer8 3y agoMulti-decade support should be the norm for GUI toolkits. Why should all GUI apps of the world have to be rewritten every decade? That’s just a wasteful use of developer resources, and also a wasteful disruption of end user habituation.
- bzzzt 3y agoBecause requirements change and you can't keep API's sane when only bolting on new functionality. You can disagree about the support timeframe, but in 10-15 years time we've gotten used to high resolution screens, HDR, HFR, multitouch etc. If you don't ever change API's you're leaving a lot of potential on the table.
- layer8 3y agoWindows added all those functions without breaking compatibility. Yes, applications might have to be modified to take advantage of new features that make sense for the application in question, but that doesn’t imply that they should have to switch toolkits. While Windows doesn’t provide a unified GUI toolkit, win32 UI controls of different generations can be mixed freely within an application, enabling gradual upgrades.
- tristan957 3y agoWindows is a paid operating system with thousands of developers working on it. GTK has 3 regular developers. Please step up if you're going to complain.
- layer8 3y agoI guess that’s why the year of the Linux desktop will never come.
- bandrami 3y agoMeanwhile a Windows application compiled 25 years ago still runs today. A Windows application compiled 30 years ago runs with a very small compatibility shim you can ship with it as a DLL.
- arp242 3y ago> a Windows application compiled 25 years ago still runs today *Usually, not always. A GTK 2 application compiled 25 years ago usually still runs today, too. Just because GTK 3 is available doesn't mean GTK 2 stopped existing.
- bandrami 3y agoA GTK 2 application compiled 25 years ago was before the Big Glibc Switch that caused us so many headaches in the early 00's, so no, it won't.
- arp242 3y agoMy xv copy has a mtime of Aug 4 1998 (pre-compiled binary from the RPM on the website). It runs on my current Void Linux system. Not GTK, but that's a detail: point is it runs, and is 25 years old. I've also run old Opera copies from the 90s, although that's longer ago and I'm not sure if that still works.
- asoneth 3y agoHaving discussed this issue with friends at Microsoft, they apparently spend astronomical amounts of time, money, and effort to maintain backwards compatibility while still adding new capabilities, functionality, and toolkits. They know that this is a key reason many organizations rely on Windows. I have no specific insight into decision-making in open source organizations, but given that the resources they're working with are several orders of magnitude less it's not surprising to me that they sometimes end up having to choose between stability and new functionality. (While I personally prefer projects towards one end of that spectrum, I'm happy that different projects have different values for other people.)
- gettodachoppa 3y ago>There's hardly any other API with that kind of backwards compatibility. Qt? 99.99% of the API from Qt 4 (2005) is identical in Qt 6 (ongoing). A few headers were renamed, and a few minor functions, generally stuff you can port in 1 day. When they released Qt 5 and 6 and decided to switch from Qt Widgets to a new GUI toolkit (QML), they didn't say "umm, just rewrite your whole codebase in QML bro", they kept widgets around in perpetual maintenance mode. This is how you respect your users.
- dvdkon 3y agoI think what Qt does is a good compromise, but there are breaking changes. Complex FLOSS projects spent months or years upgrading from Qt4 to Qt5 and then to Qt6. The exact timeframe is a matter of priorities and available developers, but someone had to put a not insignificant amount of work into porting. A far cry from decades-long ABI compatibility.
- csdreamer7 3y ago> GTK4 doesn't support fractional scaling but I believe GTK5 might. I do not think this is current info, but otherwise might be the reason as it is an experimental feature. For example, you can enable fractional scaling in GNOME right now. https://www.youtube.com/watch?v=BjfZ8TSXsps https://www.youtube.com/watch?v=BjfZ8TSXsps This phoronix article shows the variable to enable it in GTK. https://www.phoronix.com/news/GTK-4.11.1 https://www.phoronix.com/news/GTK-4.11.1 Edit: added a little clarification + cited the specific bit of text I was responding to.
- bitwize 3y agoThen it really is time to pull the plug, and remove X11 support from the major toolkits and DEs.
- bandrami 3y agoWhat is this obsession people have with ripping out working code? Debian still ships support for token ring; the idea that X11 is ever "going away" really misunderstands how free software works.
- resoluteteeth 3y agoThere are going to be apps that only run on x11 for a long time and will need to use xwayland, so it's unlikely that linux distributions will stop distributing x11 libraries entirely. However, development of xorg is completely dead so it is pretty likely that distributions will stop support running xorg sessions in the future, and at some point xorg will likely not run on new graphics cards anymore. KDE has announced plans to discontinue support for running x11 sessions and only runs on wayland in the upcoming plasma 6 version. For now all the gui toolkits will presumably continue to support x11, but at some point, it is likely that new applications will only care about supporting wayland, and after that, it is possible that future versions of gui toolkits will stop supporting x11. Maybe "ripping out working code" is a bad thing, but at a certain point people would have to put in extra effort to ensure that x11 stays "working" and if nobody steps up to put in that effort and x11 support breaks, it won't be ripping out "working" code anymore.
- ndsipa_pomu 3y agoJust checked and I've got my current laptop screen set to 175% global scaling for a 3840x2160 screen.
- d-k-bo 3y agoOn Wayland, GTK3/4 windows work well with fractional scaling (on GNOME). They are rendered at 200% and then downscaled by the compositor, which looks mostly fine. Blurryness is often caused by GTK2/old Qt5/Electron applications that don't support Wayland and are rendered using XWayland at 100% and then upscaled by the compositor.
- vetinari 3y agoThere is a new wayland extension, that allows for rendering at fractional scales directly in the application, so when you use a display with fractional scaling, there is no downscaling done by the compositor. Support for this kind of rendering is going to wait until Gtk 5 -- implementing it in Gtk 4 would break ABI, and then the world would have to listen to cries about Yet Another Breakage. The current system, rendering at integer scale and then compositor-downscale is working fine since Gtk 3. Btw, exactly this way is how Apple does it, and it was lauded as a great way to support scaling.
- jeroenhd 3y agoI think "mostly looks fine" is the crux here. I also believe this is only the case for Wayland, so X11 users may be out of luck here. Actual fractional support would require breaking API compatibility, which is why integer scaling+downscaling is necessary.
- clircle 3y agoI never got a hi-dpi display completely satisfactorily with _any_ linux desktop.
- sph 3y agoI've been running two 4k monitors at 200% scaling for 3 years now. First on GNOME, now on KDE.
- kwanbix 3y agoI tried Plasma many times (just briefly installed a distro like Kubuntu), and while very complete, I find it "lifeless". Is purely a graphical sensation. Is like it has no life, compared to Mint with either Cinnamon or Gnome. I don't know how to better explain it.
- tetris11 3y ago> lifeless This is a feature
- kwanbix 3y agoI imagine that it is by design. For me, I prefer a more "lifelike" experience, with shadows, curves, etc. But I was wondering if there was a way (theme) to make it so for KDE, as I really like the tech.
- SkyMarshal 3y agoThere are lots of themes for KDE, but installing them can be a little messy. Unlike Gnome where it’s all handled through the dconf program, there’s some manual setup involved with KDE - config files, replacing icons in different directories, etc. For example, here’s a step-by-step guide to installing a beautiful KDE Nord theme, which turns into a bit of a PITA: https://youtu.be/2GYT7BK41zk?si=INGkzL9sF5tkvm1q https://youtu.be/2GYT7BK41zk?si=INGkzL9sF5tkvm1q
- kwanbix 3y agoThanks, will try it once I have some time.
- selectodude 3y agoSeems easier to just buy the real thing and get a Mac.
- ndsipa_pomu 3y agoPersonally, I just want a desktop environment to get out of my way as much as possible, which is why I liked XFCE. If I notice it, then it's usually doing something annoying like a file manager checking if some remote mounted directory is working, despite me not wanting to use that directory.