this post was submitted on 01 Sep 2023
91 points (85.8% liked)
Linux
48145 readers
873 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I really don't know if there could be a more obnoxious opening than this. I guess Wayland fanatics have taken a page from the Rust playbook of trying to shame people into using it when technical merits aren't enuogh ("But your code is UNSAFE!")
X11's core design is very bad for normal desktop use, though. You've got all of these pluggable resources that can run on different computers, attached through pipes or network connections, with tons of extensions and trickery to get things like hardware acceleration and touchpad support working.
There are downsides to Wayland, but X11's design plain sucks. It was designed for timesharing mainframes, not for a desktop computer. Running X11 on a desktop is like running the Mars rover firmware in your car: with plenty of extensions and modifications it'll work wonderfully, but you're not getting the most out of it because the core design principles don't match up with the hardware you're running.
This is not an insult to the people behind X11. The fact they've got all of these modern features to work at all is an impressive accomplishment.
The people behind X11 agree and that's why they founded Wayland.
I'm aware of the overlap, but some people take any criticism of X11 as some kind of insult to the X project and the people behind it.
Sure but the people behind X11 are the same ones behind Wayland so when the develpers didn't think it was worth the time to fix X11 and it would be better to start a new project to fix the issues. How can end users think we should just fix X11 make anysense? I think their biggest mistake is they should have called Wayland X12 or something like that.
[This comment has been deleted by an automated system]
Wayland 1.0 was released in 2012, though.
I feel that the biggest mistake of X11's protocol design is the idea of a "root window" that is supposed to cover the whole screen.
Perhaps that worked greatly in the 1990s, but it's just completely incompatible with multi-displays that we commonly see in modern setups. Hacks upon hacks were involved to make multi-displays a possibility on X11. The root window no longer corresponded to a single display. In heterogenous display setups, part of the root window is actually invisible.
Later on we decided to stack compositing on top of the already-hacky mess, and it was so bad that many opted to disable the compositor (no Martha, compositors are more than wobbly windows!).
And then there's the problem of sandboxing programs... Which is completely unmappable to X11 even with hacks.
Multiple displays work fine. The only thing that needs to be drawn in the root window is attractive backgrounds sized to your displays I'm not sure why you think that is hacky or complicated.
Multiple displays only work as long as you have identical resolutions and refresh rates. Good luck mixing monitors with different scaling factors and refresh rates on X11.
I run multiple refresh rates without any trouble, one 165hz monitor alongside my other 60hz ones. Is that supposed to be broken somehow?
This wasn't true in 2003 when I started using Linux in fact the feature is so old I'm not sure exactly when it was implemented. You have always been able to have different resolutions and in fact different scaling factors. It works like this
You scale your lower DPI display or displays UP to match your highest DPI and let X scale down to the physical size. HIGHER / LOWER = SCALE FACTOR. So with 2 27" monitors where one is 4k and the other is 1080p the factor is 2, a 27" 4K with a 24" 1080p is roughly 1.75.
Configured like so everything is sharp and UI elements are the same size on every screen. If your monitors are vertically aligned you could put a window between monitors and see the damn characters lined up correctly.
If you use the soooo unfriendly Nvidia GPU you can actually configure this in its GUI for configuring your monitors. If not you can set with xrandr the argument is --scale shockingly enough
Different refresh rates also of course work but you ARE limited to the lower refresh rate. This is about the only meaningful limitation.
It's the fact that the root window is a lie.
I find that usually when people write "Full stop", it's best to just stop reading there in most cases.
It comes off as "I am correct, how dare you think that for a moment I could be wrong".
I'd love to use Wayland, but until it works properly on Nvidia hardware like X11 is, then it's not a viable option for me. Of course, then someone always goes "Well then use an AMD card" but money doesn't grow on trees. The only reason I'm not still using a 970 is because a friend of mine was nice and gave me his 2080 that he was no longer using, along with some other really nice upgrades to my hardware.
Honestly it's one of the biggest issues I have with the Linux community. I love Linux and FOSS software but the people who go around and yell at anyone who isn't using Linux, and the people who write articles like this who try to shame you for your choices (something that is supposed to be a landmark of using open source software) only make Linux look bad.
There's a difference between someone kindly telling others that X11 is not likely to receive any new major features and bug fixes (which is the right thing to do, in order to inform someone something they may not know) - and then there's whatever the author of this quote is doing.
It happens all the time in the magical world of closed source, too.
Ever heard about the iOS vs Android fights? How people shame Android users for being green bubbles?
It's just the extension of the my camp vs theirs applied to the tech field, nothing new.
I laughed off reports about this kind of thing, thinking "omg who could possibly give a shit about what color their text bubble is in a group chat?" Later my gen Z office mate told me about how he uses an iPhone and cited this exact reason unironically. I was stunned into silence.
I've noticed it more and more over the years how people will fight tooth and nail to defend a product for no other reason than self validation.
I've even had one person try to sell me on OperaGX as if they were reading off an AD, When I asked them technical questions about it they just pulled the conversation back to selling up the gimmicks. I finally straight asked them why they were advertising something for a company they don't work for and they just got offended. Was kinda a surreal experience.
It sounds like you need to be complaining to nvidia to do a better job with their drivers. If the drivers suck, it doesn't matter what wayland does.
No, no, they've got a point. The architecture of Wayland is much more sane. Because of the way refresh events are driven its also much more power and memory efficient. I'll miss bspwm and picom but man there is a lot riding on simplifying the graphics stack under Linux. The X hacks, GLX, and all the other weird interactions X decided to take away from applications made things non-portable to begin with and a nightmare for any embedded devices that thought GLES was good enough.
This is literally the exact bad attitude of your average Wayland proponent. The thing which has worked for 20 years doesn't work you just hallucinated it along with all the show stopper bugs you encountered when you tried to switch to Wayland.
It's really not "working" per se. VRR was breaking on X11, sandboxing was breaking on X11, fractional scaling and mixed DPI were breaking on X11.
How did we achieve HiDPI on X11? By changing Xft.dpi (breaking old things) or adding random environment variables (terrible UX - do you want to worsen Linux desktop's reputation even more?). Changing XRandR? May your battery life be long lasting.
There's genuinely no good way to mix different DPIs on the same X server, even with only one screen! On Windows and Mac, the old LoDPI applications are scaled up automatically by the compositor, but this just doesn't exist on X11.
I focus on DPI because this is a huge weakness of X11 and there is a foreseeable trend of people using HiDPI monitors more and more, there are tons of other weaknesses, but people tend to sweep them under the rug as being exotic. And please don't call HiDPI setups exotic. For all the jokes we see on the eternal 768p screens that laptop manufacturers like to use, the mainstream laptops are moving onto 1080p. On a 13" screen, shit looks tiny if you don't scale it up by 150%.
You can hate on Wayland, you may work on an alternative called Delaware for all I care, but let's admit that X11 doesn't really work anymore and is not the future of Linux desktop.
Outside of your fantasies high DPI works fine. Modern QT apps seem to pick it up fairly automatically now and GTK does indeed require a variable which could trivially be set for the user.
Your desktop relies on a wide variety of env variables to function correctly which doesn't bother you because they are set for you. This has literally worked fine for me for years. I have no idea what you think you are talking about. Wayland doesn't work AT ALL for me out of the box without ensuring some variables are set because my distro doesn't do that for me this doesn't mean Wayland is broken.
They pick up "automatically" because of how your DE sets up the relevant envvars for you, there is nothing in the protocol that actually tells the applications "hey, this monitor needs X% DPI scaling!".
The side effect of this deficiency in the protocol is very obvious, you can't mix DPIs, because the envvars or Xft.dpi are global and not per-application. Have you seen a blurry LoDPI X11 window sitting right beside a HiDPI X11 window? Or an X11 window changing its DPI dynamically as you move it across monitors with different DPIs?
The fact that SDL2 still doesn't support HiDPI on X11 when it already does on Macs, Windows, and Linux Wayland should tell you something.
Don't throw the "it works for me" excuse on me. Because I can throw it back on you too: "Wayland works on my machine". X11 is utterly broken, just admit it. You are welcome to develop another X11 if you want.
Nothing is set automatically I run a window manager and it starts what I tell it to start. I observed that at present fewer env variables are now required to obtain proper scaling. I did not personally dig into the reasoning for same because frankly its an implementation detail. I just noted that qt apps like dolphin and calibre are scaled without benefit of configuration while GTK apps like Firefox don't work without GDK_SCALE set.
X actually exposes both the resolution and physical size of displays. This gives you the DPI if you happen to have mastered basic math. I've no idea if this is in fact used but your statement NOTHING provides that is trivially disprovable by runing xrandr --verbose. It is entirely possible that its picking up on the globally set DPI instead which in this instance would yield the exact same result because and wait for it.
You don't in fact actually even need apps to be aware of different DPI or dynamically adjust you may scale everything up to the exact same DPI and let X scale it down to the physical resolution. This doesn't result in a blurry screen. The 1080p screen while not as pretty as the higher res screens looks neither better nor worse than it looks without scaling.
Why would I need to develop another X11 I believe I shall go on using this one which already supported high and mixed DPI just fine when Wayland was a steaming pile of shit nobody in their right mind would use. It probably actually supported it when you yourself were in elementary school.
Why on earth would I develop "another X11" instead of using the one that still works perfectly fine?
So you simply thought the deficiencies I listed before are not problematic. Got it, have a nice day.
You seems to have dealt with windows recentely.
Regarding linux on desktop... as long as you don't involve smelly gamers, it's perfectly fine.
I have been daily-driving Linux for years, but I do boot into Windows from time to time. Even then, I recognize that the out-of-the-box experience of Linux desktop isn't as good as it can be, although it's been rapidly improving.
Ok but then how about the developers of X11 who decided it wasn't worth fixing the issues and to start a new project called Wayland where they could start from scratch to fix the issues. Does that change your mind at all?
That would be a "technical merit", which the article author claims is irrelevant to the discussion.
I have not had a single X11-related issue in the last decade.
I don't want to sound rude, but how old is your setup? Are you using a desktop or a laptop computer?
Because I'm daily driving a late 2015 Dell XPS 9350 and X11 just ain't cutting it, even though the laptop is nearly a decade old. On X11, its trackpad would be garbage, GNOME's animations would be stuttery, and fractional scaling would be a mess, because I have a docking station with a 75 Hz ultrawide monitor, meaning that I must utilise both 125% and 100% scaling factors, as well as 60 Hz and 75 Hz refresh rates and different resolutions. Sure, not everyone uses multi monitor setups, but those who do serious office tasks or content production work often cannot imagine their workflow without multiple monitors. Point is, X11 is to ancient to handle such tasks smoothly, reliably and efficiently.
It's not rude - don't worry. My main desktop runs 4 monitors at 1080p. GPU is an RX 580. I have a number of other laptops/tablets/desktops running similar configs, including ones with mixed resolutions and refresh rates. Gaming/video production/programming.
I think people are really discounting the amount of value experience with a certain set of software has to the end-user. Wayland isn't a drop-in replacement. There's a new suite of software and tooling around it that has to be learned, and this is by design. Understandably, many people focus on getting displays working properly on mixed resolutions and refresh rates, but there are concerns for usability/accessibility outside of that.