I recently upgraded to the latest Debian stable, which gave me wayland-based KDE. I thought to give it a try, but running old dosbox or wine based games in full screen doesn't seem to work: They appear in the top left corner, but don't change the resolution. I reverted to X for now. I might give it another try later. Am I just unlucky, or are the wayland edges still this rough?
By which I mean many applications seem to have got things solved now through their dependencies, so it’s possible to see this as unlucky. But there are still some rough edges.
Too many applications still need app-specific fixes and workarounds, and those are often complicated by e.g. needing to override the environment inside a Snap or AppImage or whatever.
My frustration, heading back to desktop linux after a long break, is the energy spent trying to learn these things feels a bit wasted at my age.
I have a couple of needs I want to use Linux for, and I may end up setting up entirely separate machines for each, so that I don’t need to constantly switch environments.
I tried sway and foot (as replacement for i3 and xterm) and found the input latency to be really bad. Is this a Wayland problem or was i having bad luck with foot?
The input latency should be good normally. I play steam games on Wayland and they're smooth and responsive. Could be some weird thing for your specific config / hardware, but it's not broken overall.
Rather bad luck, I have much better experience with Wayland than X. Generally, moving to Wayland and PipeWire improved my experience with Linux desktop so much it's comparable with Mac/Win.
Pipewire got comparable to Mac/win months ago and now it's years ahead in terms of capabilities. BT codec switching on request, fully configurable graph of connections, multi input/output, sub-20ms BT delay, jack compatibility, etc. It's the biggest software success I've seen in a really long time and I don't expect other systems to catch up to the current state for many many years.
I had ever-worsening input lag issues on my daily-driver ubuntu-based laptop for a couple of years. I tried a bunch of finnicky things, with very little benefit.
Then I switched to xanmod kernel. It was like I had an entirely new machine. It's remarkable. I kind of wish most newbie-friendly desktop environments recommended installing it on setup (it's easy to do via package manager.)
> Suggesting that these people change to a Linux environment with Wayland support is a non-starter; they are presumably using their current environment for good reasons
Though so too, when I read it. But I think it's meant to be read in the larger context where the early adopters have already moved, the remaining desktop users are mostly in apathy on this subject (it works, whatever), and it would help if Wayland were to offer some clear merits to break the inertia.
The point was made in the context of "Other Unixes". It has nothing to do with Linux users, on Linux distros, not having Wayland support. It has to do with Unix users, not having Wayland support.
>> Suggesting that these people change to a Linux environment with Wayland support is a non-starter; they are presumably using their current environment for good reasons
>That’s a hell of an assumption
How.. I don't get how you find this a contentious idea. The context of your quote:
"People on Unix environments that don't have Wayland support. They have to use X or not have a graphical experience."
You're stating that assuming that people "presumably" are using "BSD, and not Linux" for "good reasons" is a wrong thing to assume? Or some other Unix?
I don't see how it could be any other way? Would someone use any Unix, be unaware of Linux, and decide NOT to use Linux without a good reason? Any reason that causes them to prefer their Unix of choice, is a good reason!
Wayland should make developers' lives easier, and as such would be adopted and software converted to it without users even noticing.
For better of for worse Linux is still in the phase where software which would only interest developers ends up interesting also the end users, just like we have people who don't develop or administer anything and yet have strong opinions on systemd or GCC.
Very true. Wayland is now stable enough to be used in a lot of "production" environments and I've been using Sway as my desktop for years, and yet still, there is work left to be done:
- Hardware support. NVIDIA support is spotty still. Easily the biggest issue IMO, though it's better than it was.
- Network operation. X will always be better here because it was designed to be (at least with toolkits that can still take advantage of XRender.) That said, Waypipe can work well too, but I find myself needing to tweak it for best performance. Having a better out of box experience would be nice.
- Apps. Electron and Chromium still default to XWayland and still have a laundry list of (mostly small) issues. VS Code currently is unstable in native Wayland mode. Qt QDockWidget works poorly in native Wayland: it was unusable in Qt 5. OBS crashes more often in Wayland, on top of being impacted by the dock widget problem.
(There are other issues, e.g. no obvious/general answers for automation, but these ones in particular make me weary of generally recommending people switch to Wayland.)
Until then, there's no point in pushing harder. These problems are showstoppers for many.
P.S.: Not all UNIX environments have good Wayland support but since its a common misconception, Wayland is not inherently limited to Linux and some compositors will run on BSD and there is even one for macOS, albeit more in the vein of XQuartz.
> Network operation. X will always be better here because it was designed to be (at least with toolkits that can still take advantage of XRender.)
That is by no means clear cut - X is competing against specialist applications like VNC and there is a real question mark over whether a critical application uses OpenGL. X can easily win on toy benchmarks that play to its strengths, but it is rare in the extreme for that to matter.
Why do we need a remote server to provide a GUI that doesn't involve OpenGL? It happens, but not often enough to be an advantage. SSH + VNC is a more reliable and general combination, the X protocol is a maintenance and security liability. Personally if I'm logging in to strange servers I'd rather be learning cross-platform skills that carry between Windows, Mac and Linux.
> X is competing against specialist applications like VNC
I stay with X because it lets me have multiple independent logins with their own desktops. The last time I checked, Wayland doesn't support this, and this is well outside of what VNC does. This is a very important facility to me.
Can you elaborate on this one? You can of course have multiple Wayland displays at once, and/or multiple VNC servers. But, presumably, you're talking about something entirely different here.
X lets me log into a machine multiple times simultaneously, with each login having its own, independently operating desktop. Wayland doesn't support this (or didn't the last time I checked). VNC does something entirely different from this -- it just shares an existing desktop remotely rather than providing a unique independent desktop (complete with different resolutions and such, if you like).
So the effect is a bit like VNC in that you can remotely access a desktop, but the desktop you see is not a copy of the one being actually displayed on the machine's monitor. It's entirely its own thing, only visible to that particular login.
> VNC does something entirely different from this -- it just shares an existing desktop remotely rather than providing a unique independent desktop.
Actually, not necessarily; you can use Xvnc to achieve this with X+VNC. It's an X server that serves over VNC.
Can Wayland do this? Yes! But, the problem is that there is no singular Wayland "display server". This is both a big strength and big weakness of Wayland. In this case, it means that I can't point to a single correct way you can do this. However, with the compositor I currently use, SwayWM, it's very trivial: I can start Sway inside of an existing compositor or X server to get a nested desktop. You could use this with Waypipe or X11 forwarding for example. It can also be started with wayvnc inside, to expose a VNC server from Sway, though this is not really any different from starting an Xvfb and running a VNC server inside of it.
Interesting. I remember asking some Wayland devs a few years back about this and they said this use case would never be supported. I'm glad that's changed! It means that if the day comes that I have to use Wayland, I won't necessarily lose functionality.
(Just for clarity, I'm not opposed to Wayland if it can do what I want. But I'm not excited by it, either, because the benefits it does provide are ones that don't really matter to me)
Yeah, as you may gather from my first post, I am not advocating anyone to switch if there's nothing in Wayland for them. But at least with wlroots-based compositors (a decent number of them, but notably not GNOME and KDE which use Mutter and Kwin respectively,) you can definitely do this sort of thing relatively easily. It'd probably be a good idea if every compositor got on the same page here so that the experience is consistent. I'm not sure how to do this kind of thing with every compositor.
X11 apps run under XWayland, an X server that runs under Wayland compositors, almost always by default. It's possible to run WMs under XWayland too, but most Wayland compositors are WMs and handle the WM for XWayland too.
Wayland doesn't have a single display server. Most of what was the X11 display server is moved to the kernel and libraries. So, the WMs ARE the display server.
xv, xpdf, xterm should work fine. xsnow should work, but will only see X windows. fvwm2, it can run on some Wayland compositors, but the better option here would be a compatible replacement: as far as I know, we still don't have an fvwm2 equivalent, but SwayWM exists as a replacement for i3, for example.
> Network operation. X will always be better here because it was designed to be
Excuse me, but BS. At least for anything of actual relevance.
X11 networking works okay for stuff that looks like a classic X11 app. That's things like xcalc. Any modern text editor, web browser, or anything else is going to be dog slow.
X11 has a bad networking protocol that's way too latency sensitive, and as a result is nigh unusuable without something like NX, which puts a local cache in front to get rid of that latency.
No, I'd say X11 wasn't designed to be run on the network, in that no particular care seems to have been taken to deal with latency and bandwidth issues. It's more of a feature that could be had for free, because if you can use an UNIX socket, you can also use a TCP one with minimal work, so might as well allow it.
> No, I'd say X11 wasn't designed to be run on the network [...]
That's just wrong. X11 was designed from the ground up to be used on the network. It just happens that nowadays requirements are different from when it was originally designed.
Running X11 on the network was quite a thing in Unis all over the world, where you could have dedicated dozens of X11 graphic terminal servers (tektronix used to make good ones) connected (100Mbits) to a single mainframe, and everyone running an Xemacs session without slowdown.
Wayland design is all about framebuffers, which clearly shows how focus has shifted. X11 was not designed for pixmap heavy, shader heavy scenarios.
Also, X networking was mostly used within local university and company networks, and not over the internet backbone. Well-designed local networks can be very low latency, often noticeably lower latency than disk I/O.
To be fair, X doesn't work that well over even local networks with modern apps.
Serving X applications (eg: Chromium) from the Raspberry Pi I'm targeting to the Mac I'm developing on is an exercise in futility, even if it does make 'download this to the target' easier. It's a lot faster to run Safari on the Mac and scp the download to the Pi, just because of interface latency issues.
Well, I don't think that network at the time was faster than SCSI, but that's a fair point that X11 isn't quite "internet ready" (though these days with a dedicated VPN you'd probably get very good performance on the core protocol).
Actually, though, toolkits that still have XRender backends will run relatively efficiently over the network. To be fair, this is becoming a thing of the past slowly, but it's not gone yet: Qt 6 re-added the XRender backend due to complaints of how much slower X11 networking was!
Granted though, it does nothing for apps using Electron. However, try e.g. the Dolphin file browser on a 4K display over the network, and you'll find it is clearly faster than should be possible.
Probably I should've made it clearer, but imo the bigger problem is that tweaking Waypipe to replace old uses of ssh -Y shouldn't be needed; it should be possible for it to determine what possible options can be used and switch things around to deal with CPU or network bottlenecks most effectively. Easier said than done. There's also still some bugs under Waypipe; it's an understandably challenging problem.
In the 2010-2013 era, i did most of my computing over X over ssh on a fast LAN. At the time, YouTube and other video stuff worked fine, and my environment felt as responsive as local computing.
Your experience doesn't match with other people's.
Remote X over fast low latency networks is fine, a near local experience-- even running things like firefox or gimp. (And for classic apps it's indistinguishable from local). The wayland world alternatives like using RDP are painful to the point of usability even over a 10gigbit network, peg the cpu... and are really only good for rescuing something that's stuck or providing a bit of tech support.
Yes, over a high latency network remote X is sucky but seldom much worse than RDP.
No, it doesn't, it works like shit because that's not how modern apps work anymore.
Modern apps draw all their UI client-side onto a surface which is then sent to X for display. IF ONLY we had a windowing system that was based around simply compositing together the various surfaces that the apps draw into a complete image of the desktop. Since this is a step away from the complexity of X, we could give it a name starting with W...
I just had to look it up; Wayland has been around for 14 years already. How much software takes 14 years and still isn't stable? How big and / or complicated is this problem and the codebase anyway?
For one thing, Wayland is a protocol, not a specific piece of software. But mostly, that progress has been non-linear. A ton of it is not about writing code, or even about Wayland itself; much of it tied into the modernization of the Linux and general open source graphics ecosystem, moving it away from being oriented around X.org specifically and implementing modern features like generic buffer management and kernel modesetting. A lot of setbacks have been simply waiting on NVIDIA to support these modern facilities well in their still-very-popular proprietary drivers.
HDR support has been in the works for years. Why? Well, nothing terribly specific to do with Wayland: there has been a ridiculously deep dive into the entire space of color management, wide-gamut colorspaces, etc. to try to build HDR protocols that don't merely just get things out the door, but ideally support current and future use cases for the foreseeable future, have good backwards compatibility and handling of unaware apps, etc. These things are non-trivial and can't be solved by writing code or staring at GDB. (Not to mention there are few drivers that can currently support this, so it's also a bit of a chicken and egg problem.)
That is to say, Wayland is a lot less of a software problem than it is a design and social problem. And as you can probably see, ultimately, Wayland will be nobody's favorite, but hopefully with time, it can at least be everybody's favorite.
X hasn't been good at network in the past 2 decades.
From my experience, Windows RDP has always worked way better, and when we were confronted with the need of having to do RDP access on Linux, we always found the more primitive VNC far superior.
But even that is the past. Today you can stream your entire desktop over the network with highly efficient modern video codecs, courtesy of the hardware encoders built into your GPU.
I disagree, though. Wayland itself is definitely not meant to be a threat to BSD.
There are some anti-patterns in the Wayland ecosystem that lead to arguably unnecessary dependency on things like DBus, but Wayland itself doesn't actually need much and you should find that SwayWM works fine on FreeBSD. However, the graphics stack and drivers for BSDs are a little bit behind, which is arguably a bigger threat.
I'm from the group of people that do switch based on technical merits. I remember a few years back I gave it a try and there were a few usability issues with it. Small things here and there not working, annoyances too small to remember. I've since then always discarded the idea of switching based on that. I have to give it another spin, maybe things have improved in the last few years.
I have Arch Linux + Nvidia (3090 not even something super recent) + KDE. I am very motivated to continue with Wayland but:
1. It disables GPU acceleration on Chromium/Chrome
2. A major regression introduced glitches on all the electron apps (slack, signal etc..)
I spent hours trying to troubleshoot those and dozens of flags combinations, nothing works. KDE + Nvidia + Electron/chromium apps is probably a very common set people use... Are the Wayland users still that fringe?
Steam is doing something wrong on Linux. I can't put my finger on what it is, but on my AMD based machine running a recent-ish Ubuntu it's just..a mess in both X and Wayland.
Sometimes it's their annoying chrome-fork, steam-web-runner or whatever in a constant crash-loop in the background, eating all CPU.
Other times it seems like if a game or the UI gets launched accidentally or automatically somehow on the integrated graphics, I have to go hunting zombie processes with kill -9 to get things to shut down enough so that I can start them using discrete graphics.
Sometimes launches games and they're in odd geometry.
Running it on X instead of Wayland sometimes fixes problems. But then other times not. Unpredictable.
They're using a chromium based shell, but I don't have these problems with other things like that (Slack, Chrome itself, etc.) And Wayland support in the chromium stack is ... ok? So what gives?
Weirdly, a lot of Windows games run fine on Proton. There are a couple that only work on the Steam Deck, which is an Arch Linux system. (There's actually a complete Linux desktop UI if you dig for it!)
But the Steam client is weirdly dodgy, even though it should just be a web UI that makes a few system calls. It's much worse than an Electron app like Visual Studio Code.
There's the next-gen Steam Deck UI which is less buggy but pushes a lot of graphics cards pretty hard.
No one really cares deeply about what a compositor or low level windowing system does since it shouldn't be a thing you notice. Desktop OS'es have simple criteria and user expectations: they should work no worse than Windows or OS X, and that's it. Whether you need Wayland or not to reach feature and performance parity with commercial desktop OSes isn't very interesting to people, only that you actually do.
> No one really cares deeply about what a compositor
I never even wanted a compositor, I always disable composition (because why have it working if I don't need it) if this can be done easily enough on a system I would use without making it too ugly. KDE has a handy hot key (Shift+Alt+F12 IIRC) for this - it helped me prevent crashes in the past and I still use it even though it became more stable.
I care. I've only recently learned about them, and I'm not in any way an expert on any of this, but from what I understand, they do an important job, and the way they do that in X11 either hurts gaming performance or makes them unstable.
When I'm playing Cyberpunk 2077, occasionally the game crashes (hasn't happened often, but a few times), and when it does, the compositor fails until I kill the CP process. And while the compositor is failing, only the active window updates. The mouse cursor is invisible outside the active window. It becomes really hard to do anything. Until I kill the hanging CP2077 process.
From what I understand, my options are to keep the compositor active in full screen mode, which would hurt performance, because every signal has to pass through the compositor; or I could switch to Wayland which fixes this issue (though I'm not entirely sure how); or I just accept how it is.
Because I've got an Nvidia card, I'm sticking with X11 for now and accept the occasional crash. But once Nvidia support for Wayland improves, I'm switching.
I haven't tried Cyberpunk 2077, but I play a bit of Minecraft and from my testing KDE's Wayland implementation has about a 25% FPS penalty at least. I keep the FPS capped at 60fps, my display speed, and with X11/kwin the game can maintain that in all but extreme circumstances (e.g. breeding thousands of mobs, or https://bugs.mojang.com/browse/MC-226966 (ludicrous bug btw)) With Wayland in the same parts of the map my FPS will be in the 40s. This is with numerous performance mods; without those it's much worse.
It's not something I care to spend time debugging, since Wayland doesn't give me any other reason to chose it anyway. But I still try it once or twice a year to see if it has improved, and after several years of this I'm starting to think it never will.
That's a lot worse than I expected. I thought Wayland was supposed to be able to handle this without performance loss, but that's clearly not the case here. It doesn't make me eager to try out Wayland, but maybe I should try it for myself.
>Desktop OS'es have simple criteria and user expectations: they should work no worse than Windows or OS X, and that's it.
Fuck that. I want to merge my window manager with my todo-list, and I want my work activity sectioned off from my personal projects. I want to pause my work applications when the clock hits 5PM, because otherwise they might knock a few frames off Counterstrike.
If you want a Windows-ish experience then that's fine, but don't project your lack of imagination onto the rest of us.
Elaborate? There are many annoyances with windows but I the graphics stack I find very good. Things like processes not being able to hang the desktop and even the driver crashing doesn’t cause much disruption.
Wayland kind of reminds me of the CORBA->DBus rewrite. GNOME 2 was awesomely accessible. Then came the "qwe need to switch to DBus" people, and basically destroyed the hard work of many years. For me, GNOME Accessibility never recovered from that blow. And then came Wayland, which made things even worse.
Tech's Gen Y seemed to have a big 'NIH' thing about things that predated them, and it seems to have continued with Gen Z. Resulting in a lot of things just being trashed for the sake of it 'not being modern enough'.
Various nerve stuff in my arms, limiting my use of keyboards. With an ergonomic keyboard I can get through most days, but I’m having more flare ups lately so I’m doing more voice coding.
I use Talon. It simply doesn’t support Wayland, and I believe its maintainer who says that there are issues with Wayland which make support infeasible. Using it on X makes my nerve pain much less.
- input emulation, doable via uinput but not great
- standard way to query the list of windows and active focus
- for dwell-click support, you need to be able to know if the user is moving their mouse or clicking so you can cancel your autoclick
The "update" is that the Teams Desktop Application for Linux was discontinued last year, and the only supported way to use Teams on Linux is now to open https://teams.microsoft.com in Google Chrome or Chromium (audio/video calls don't work on Firefox).
Since Chrome/Chromium supports screen sharing with Wayland, it simply just works for me nowy while it never worked with the Elecrton-based desktop application.
My WM is i3. I know sway exists, but last time I tried it was sufficiently different from i3 to be annoying.
I think overall the problem with Wayland is that there is no user facing improvement over X that I know of.
I have no doubt it's more modern, better engineered, or whatelse. But in the end, the days of fiddling endlessly with your xorg.conf are over, and X _just works_ out of the box on any distro / device.
All Wayland bring me is a switch of WM, and some bugs when screensharing, for no visible benefit.
The only hope of value add I can see with Wayland would be per-monitor DPI. But last I checked, it was hackish at best.
Screen sharing in Wayland is possible by capturing your window/desktop with OBS and streaming it to a virtual webcam that it can create for you. It's a minor hassle, but comes with the added benefit of filtering for your webcam. I use it to remove and replace my webcam background with a plugin, and it works for me in apps that don't have that as a feature.
If you can believe people on Reddit, multi monitor support on Nvidia GPUs is broken. I only run AMD so I don’t have that issue. A game mod I use for ET Legacy only runs under X.
X got to the level where it "just works" for me few years before wayland. There is no reason to change and it has more drawbacks than benefits.
It also have a lot of very brain-dead decisions like moving a lot of what X did to the external tools and so now everyone making a desktop environment needs to worry about handling various input configuration or even to have working screenshots.
X might be crufty code-wise but it was right level of abstraction, allowing WMs and tools built above that to not care all that much about hardware and remain relatively simple.
Zorin makes it very easy for you to switch between X and Wayland on login. I must have fat-fingered something one day and switched to Wayland, and didn't notice.
It's run that way ever since (over 2 years now) and I've only had to switch back to X once or twice to make certain games work on Steam, or just to stop myself from pulling my hair out with OBS. Other than that, it's mostly unnoticeable. Pretty impressive from my perspective.
One thing that is a huge material difference is better handling of multi-DPI support between monitors, and display switching generally.
When I flip back over to X (because of Steam, like you say), I notice right away problems. Plug the laptop into the USB-C dock and everything comes up wrong, fonts all wacked, window sizes distorted. Have to log out and log back in to get things to a working state.
I just don't think X was really designed well for this world of transient displays.
This is hitting on a fundamental issue - Wayland's technical merits are not important. In the early phase I personally think its adoption was crippled early on by the poorly designed screenshot support. Particularly as the computing world turned out to need good video support for 2019-2022 we were lucky to have dodged Wayland.
These days that seems to be less of a factor, I gather that a new parallel system of standards have sprung up that technically haven't replaced Wayland but ... for all practical purposes everyone will need to implement the screen-sharing aspects of that world. The parts are slowly being put into place.
But final adoption depends precisely on what the distro maintainers think is a good idea with a little dash of whether it is technically possible for Wayland to work. We put up with X, so Wayland has a low bar to clear technically.
X will become more and more an abandonware and people will at some point have to deal with things not working anymore and X being dropped from the repos of distributions.
IMHO for applications it should be completely irrelevant whether they talk to Xlib, XCB, Wayland, or any other future window-system-glue API which sits below widget frameworks like GTK or Qt (just don't require me to use GTK or Qt in an application which just needs a GL or Vulkan canvas instead of a full-blown UI framework).
All those choices should just be differently flavoured client-side APIs to do the same thing (opening a window for 3D rendering, and getting input events).
Frankly, I don't care what's going on under the hood, just give me an easy ui-framework-agnostic way to open a window to draw into (and most importantly where I don't need to draw the frigging title bar myself).
Is this not really this way? Do you mean a person building a GTK or a Qt app actually has to check whether the app is running under Wayland and do something special to support it nowadays?
No that situation is fine. The problems start if you don't want to use GTK or Qt, because in that situation Wayland provides only a subset of features compared to X11 (like not universally supporting window chrome rendering, so a native Wayland application needs to render its own window chrome which won't look consistent with other applications).
I actually wonder what happens if you run a Gnome app on KDE, or a KDE app on Gnome on top of Wayland, does the title bar look consistent in that case?
I guess I also don't understand why there are even multiple Wayland display server implementations with different feature sets. As if desktop Linux wasn't already fragmented enough.
As far as I'm aware it's mostly thanks to the GNOME project which fundamentally rejects the idea of adding 'server side window decorations' to their Wayland implementation, which is a weird hill to die on (and GNOME systems are unfortunately too popular to just ignore). This means native Wayland applications can't do much else than render their own window chrome, which then of course looks amateurish and inconsistent. It feels like a regression back to the early 1970's for no good reasons.
Compare that to Xlib/XCB where you just create a window and that automatically looks consistent (this is also why XWayland is actually a really useful piece of software for applications that just need a GL or Vulkan context but no full-blown UI framework like GTK or Qt).
> I actually wonder what happens if you run a Gnome app on KDE, or a KDE app on Gnome on top of Wayland, does the title bar look consistent in that case?
If you run a "real" Gnome app (that uses libadawaita) on KDE, it will look exactly like what it looks like in Gnome (giant titlebar with stuff on it, no minimize button, etc).
I haven't poked at Wayland in years, but when I did `ssh -X` didn't get the job done for many of the applications built for Wayland, even with XWayland.
Please correct me if I'm wrong but XWayland is about bringing an X11 app to show up its output under a Wayland desktop.
I.e., an app that has not been updated yet to work with Wayland.
You can get an entire wayland desktop to display on an X11 backend. This was used in development when there were no display drivers compatible with Wayland but you still wanted to work on app compatibility, etc.. The flow will look like App => Wayland => X11.
The premise of the article linked from this one is "Wayland breaks your bad software", which is a funny way of saying it's incompatible with a bunch of irreplaceable software that people still use.
Minecraft leaks (or used to leak) a prestigious amount of memory and runs poorly on every platform. Some people would say this makes it a bad game, even though it outsold Tetris.
The critical component of most software is the design; performance doesn't matter much because half of X's old software was written when your computer having 500MB of RAM was impressive, and past a certain point being snappy is more of a nice-to-have (and yes, it is very nice) than an actual necessity.
“Unless your workflow (and hardware) comes from 20+ years ago, you have almost no reason to stick with Xorg”
Well, I open a bunch of windows, and switch between them, raise, lower, and sometimes move or resize them with a window manager. So yes, my workflow comes from 30+ years ago.
This corresponds my point of view exactly. I'm 99% satisfied with X and see no practical reason in switching to Wayland as long as it breaks anything. I feel sympathetic conceptually but don't want to deal with any additional headaches (which can be expected to occur as many common apps still are not perfectly Wayland-ready) in exchange for purely theoretical (for me) improvements which don't offer any practical value to me. I also use X over SSH (even on Windows!) occasionally and don't really like the idea of loosing this feature.
And I think, even if Wayland was feature complete, I'd still only be 99% satisfied with it.. because, I cannot think of anything I am 100% satisfied with!
Every piece of software has something you have to work around, every piece of software has small issues, bugs, and there's always some issue. Thus, 99% is pretty much "perfect", because you'll never get 100%. And therefore, for me, X11 is literally perfect. I have zero, absolutely zero motivation to change.
Frankly, compared to 20 years ago, X is a dream to use. Autoconfig, incredibly rich support for multiple monitors, compared to decades ago. It's wonderful. I love it.
I sort of feel like Wayland is in ipv6 turf. Always gaining support, but always blocked in a lot of places for some reason. I fully expect ipv8 to come out, with some sort of additionals for inter-solar routing or some such, before ipv6 gets fully adopted.
As a Linux outsider, the X/Wayland thing is bizarre to me. The story I hear over and over is "X is dead, the last stable release was thirteen years ago, Wayland is the future and I love it except for these two hundred things I need that are broken on it." Like what the hell.
This might be a hot take, but you'll have to take X from my cold, dead hands.
Or at least until things start breaking, or maybe until Wayland has e.g. stellar HDR support and I'll get a nice OLED monitor. Otherwise, no dice.
I know that X is a crusty old spawn of Cthulhu; but honestly, I don't really care? It just works! I set up my system 10 years ago with how the UI works (including my window manager), and it stably works since then without me having to ever fiddle with it. The fact that X's development is dead is also a feature, because there's no churn!
And when I see other people complaining what still doesn't work on Wayland (where everything works perfectly for me on X) I'm like, eh, I don't have the time for fiddling around; maybe I'll try it out some other day.
Same here! I'll keep using X and openbox for as long as I can.
It's the way I've been using Debian the past 20 years.
Dwm, pekwm, fluxbox, openbox, so many cool windowmanagers... X works perfectly fine for me since ages, Wayland brings no benefits to me it only removes useful software that I enjoy.
As a user of EXWM, I feel this deeply. That Wayland also requires just so much additional tooling to get things like screensharing working properly means that smaller distros, like Clear Linux, don't ship it.
Yeah. I’m using Fedora 38 / GNOME 44, with two 1440p 170 Hz monitors and one 4K 120 Hz TV. For me it works out of the box, and I have not made any configurations myself to make it work.
> Unless your workflow (and hardware) comes from 20+ years ago, you have almost no reason to stick with Xorg, especially as it continues to get worse and worse when the user experience relies on newer and newer features.
My workflow is probably 20+ years old because not much has changed with software in the last 20 years. My computer is getting close to 10 years old. It works fine. X doesn't get worse and worse; it continues to just work. Sort of like apple fanatics claim, except it's actually true.
I'm not worried about running a keylogger or something that's going to surreptitiously capture my screen. It's not a major issue. It's not an issue at all. Never comes up.
Maybe I'd care more if I were running multiple monitors each with different scaling factors and refresh rates, but that sounds pretty niche. I still don't see a reason to want Wayland as a user.
I think every monitor I've seen in the last 20 years has had a 60 Hz refresh rate. Most people probably don't even know scaling options exist, so using different ones on different monitors is going to be niche, yeah.
I just got a new laptop for work last month. HDR 4k display. It's still 60 Hz. More only matters for people who are really into gaming, and then you wouldn't be using a laptop.
> Most people probably don't even know scaling options exist, so using different ones on different monitors is going to be niche, yeah.
If you don't know the thing exists, that doesn't mean you don't use it. Modern OSes adjust scaling automatically for the screen DPI. Otherwise using configs like Retina MacBook + 1440p displays, or 4k laptop + 4k external display would be very painful.
To be honest I've never seen scaling done well. I just plugged my 32" 4k monitor into my 16" windows work laptop (both 4k), and things on the monitor are too big, even after tweaking!
I have everything set to 100% scaling because that's a low as you can put it. The defaults had my laptop at 250% (!!!) and external monitor at 150%, which makes the laptop in particular look like some cramped 800x600 monitor out of 1995. In theory I'd like to have my external display be at something like 75% because it's so much larger than the laptop, but I've never seen any OS support this. Does wayland let you do fractional scales like this?
Edit: I also just tried plugging my 4k monitor into my Linux laptop (with a 1920x1080 screen), and it at least defaults both to 100%, which is more sane than "modern" windows. Again I'd probably prefer 75% scaling on the 1080 monitor because things are otherwise too big.
I don't know what to say here because exact scaling parameters are very subjective, but personally I find 250% scaling for 4k@16" okayish? I use 175% for 1440p@14", and 125% for 4k@27", which is slightly smaller than what Windows suggested you.
When I had my previous laptop, it had 100% for 4k@16" in Linux by default, and it was causing me a pain in the eyes. Switched to 200% back then, because fractional scaling in Ubuntu wasn't working well.
I'm not sure if it's possible to have scaling less than 100%, I just never thought to make things smaller, not bigger.
I just checked, and at the recommended 250% scaling at 4k on a 16" monitor in Windows, I can see 0-3 messages on the screen at once in Slack, and just under 34 lines of code and 113 columns in VS Code at default zoom levels. If I do a vertical split in VS Code, I get 51 columns in each pane, which makes it basically useless. Icons and even things like the minimize button are like a full centimeter across.
I don't understand the point of a high resolution monitor that you scale up. Just to have extremely crisp lines? To me the whole point of a high resolution is that you can have more information on the screen because it remains legible when small. Why not just use a low resolution monitor, which will be cheaper, use less power, and need a less powerful computer/gpu?
One of my external monitors always tries to run at 170 hz by default, which doesn't work and the screen is black, and I have to go into the display setter app in xfce to change it to 60. The monitor can probably do it, just not when it's one of two 4k monitors on a docking station.
Most of the time on a normal boot, the xfce display app will apply my saved config and the monitor works, but several apps like kicad somehow glitch out something at random times and I lose both external monitors as though the dock were unplugged and then replugged.
What that happens, it's an extra level of ridiculous. I have to use TWO different apps to recover.
First I have to use ArandR to reset the layout with left, right, and center screens. The normal xfce display app does not work for this even though it does at other times. Trying to click on the little scteens doesn't do anything. But ArandR works.
But ArandR has no way to set the 170hz one back to 60. For that, I have to go back to the xfce app, which is now working after ArandR fixed whatever it fixed.
Then I can resume work. Sometimes for only a minute before it happens again.
It's completely ridiculous and has spanned a few different monitors and docking stations and tb3 and tb4 cables. The one constant is the Framework laptop after upgrading to the i7 1280p motherboard.
Anyway, monitors with all kinds of framerates are now the norm. I'm not even a gamer. I didn't seek out a high framerate monitor specially. I just wanted a good monitor in general with a type of stand that would not waste all my desk space. I think the other monitor can do 120 too for that matter, but somehow is better behaved and doesn't try to when it won't work. It's the norm.
Linux on the laptops with Nvidia dGPU is miserable enough without X/Wayland discussions. I beleive people who are buying laptops to install Linux mostly use ones without dGPUs.
I have been using Linux on laptops with NVIDIA dGPUs (from Dell and Lenovo) during the last decade without any problem whatsoever.
Not only nothing was miserable, but the NVIDIA dGPUs have allowed applications that are still impossible with GPUs from other vendors, e.g. professional applications using OpenGL that expose bugs in the drivers from other vendors or that have a too low performance on other hardware, or computational CUDA applications that benefit from the many useful libraries provided freely by NVIDIA.
For simpler applications AMD and Intel are fine, but unfortunately there are still many cases when there is no alternative for NVIDIA.
NVIDIA may be criticized for the greediness of their pricing policy or for the slow progress towards providing an open-source kernel driver, but claiming that they offer a miserable Linux experience is completely false.
Very few companies provide a similar level of Linux support, despite the fact that there are some kernel developers who continue to try to sabotage the work needed for maintaining the NVIDIA Linux kernel driver.
NVIDIA provides much more free Linux tools for their GPUs than any other GPU vendor.
> I'm not worried about running a keylogger or something that's going to surreptitiously capture my screen. It's not a major issue. It's not an issue at all. Never comes up.
Yeah, I don't get this argument. If a process can already run on my account then I'm screwed anyway. It's trivial to e.g. do some bash magic to transparently replace `sudo` to get access to root without me knowing, and then hook into e.g. evdev to keylog every keystroke regardless of whether it's on Wayland or X11.
Unless you sandbox everything (and no one does that on a normal desktop) Wayland's extra "security" guarantees are completely useless in practice, because they're trivial to bypass.
You may be right that Linux is a security disaster even with X11 replaced by Wayland, but ChromeOS is pretty secure and uses Wayland whereas I can't imagine its ever choosing to use X11.
> You may be right that Linux is a security disaster
How so? If you run a program that you trust, like "ls", "vim", "firefox", "cat" or "rm", then you absolutely want it to be able to access all your data. That's the whole point of running a program: to read/write your data.
If, for some reason, you want to run a program that you don't trust, you can run it easily inside a container or a virtual machine.
I fail to see how this is a "security disaster". It seems very sane to me. How could it be even better?
It's a rather all or nothing approach. You either trust it to access everything, or you don't run it at all. There's no middle ground. This is something I rather appreciate about Deno versus Node. There was a demonstration where cowsay was asking a bunch of permissions to things you wouldn't expect cowsay to need. And apps could update to increase what it accesses, like telemetry, and you wouldn't know or have any means to stop it. And the all or nothing approach means you just have to stop using the app entirely.
> X doesn't get worse and worse; it continues to just work.
I think some systems might be forcing breakage into it: I recently upgraded from Ubuntu 18.04 to 20.04 (had to wait for approval for work laptops, and I keep my personal one at the same release as a reference point) and with that upgrade did I start seeing a weird visual glitch, where new windows would be covered in static for a second before drawing.
> Maybe I'd care more if I were running multiple monitors each with different scaling factors and refresh rates, but that sounds pretty niche. I still don't see a reason to want Wayland as a user.
I don't remember how anymore, but years ago I figured out how to do different scaling factors with xrandr. It's just not exposed through the GUI settings.
There are some technical problems - especially in areas like introducing new security controls - where the upsides are relatively obscure from the perspective of end users while the downsides are obvious.
Changes where there are plenty of chances to garner negative attention, but almost none to garner positive attention, and the ultimate success would be for the work to go completely un-noticed.
From an end user's perspective, they used to be able to Y in Z and it's stopped working, they google the problem and that's their first introduction to Wayland or Snap or Pipewire or Systemd or whatever.
One of the benefits to a traditional yearly product release cycle is to bundle such changes with a bunch of other, more obviously beneficial changes to sweeten the bitter medicine.
Messing with clipboard has nothing to do with security. I bet the web browser (and other programs who do RCE or phone home) still has access to all my files in wayland, just like in X
For me it's simple. Most of my machines run a simple <10 line script that keeps x0vncserver ready and waiting for every physical desktop (one machine has three of them using the still working multi-seat stuff). This matters. It lets me debug serious crises on my mom's machine 700km away (serious crisis: Accidentally changed the message sort order in Thunderbird, for example); it lets me reach down from my workplace (indirectly, via a proxy!) to remotely access something, etc.
Of course this is, today, considered a security nightmare. But it works and I use it. Give me an equally trivial way to do it on Wayland and I think my last X dependency goes away.
202 comments
[ 3.1 ms ] story [ 231 ms ] threadBy which I mean many applications seem to have got things solved now through their dependencies, so it’s possible to see this as unlucky. But there are still some rough edges.
Too many applications still need app-specific fixes and workarounds, and those are often complicated by e.g. needing to override the environment inside a Snap or AppImage or whatever.
My frustration, heading back to desktop linux after a long break, is the energy spent trying to learn these things feels a bit wasted at my age.
I have a couple of needs I want to use Linux for, and I may end up setting up entirely separate machines for each, so that I don’t need to constantly switch environments.
Then I switched to xanmod kernel. It was like I had an entirely new machine. It's remarkable. I kind of wish most newbie-friendly desktop environments recommended installing it on setup (it's easy to do via package manager.)
That’s a hell of an assumption
>That’s a hell of an assumption
How.. I don't get how you find this a contentious idea. The context of your quote:
"People on Unix environments that don't have Wayland support. They have to use X or not have a graphical experience."
You're stating that assuming that people "presumably" are using "BSD, and not Linux" for "good reasons" is a wrong thing to assume? Or some other Unix?
I don't see how it could be any other way? Would someone use any Unix, be unaware of Linux, and decide NOT to use Linux without a good reason? Any reason that causes them to prefer their Unix of choice, is a good reason!
Did you mean something else?
For better of for worse Linux is still in the phase where software which would only interest developers ends up interesting also the end users, just like we have people who don't develop or administer anything and yet have strong opinions on systemd or GCC.
- Hardware support. NVIDIA support is spotty still. Easily the biggest issue IMO, though it's better than it was.
- Network operation. X will always be better here because it was designed to be (at least with toolkits that can still take advantage of XRender.) That said, Waypipe can work well too, but I find myself needing to tweak it for best performance. Having a better out of box experience would be nice.
- Apps. Electron and Chromium still default to XWayland and still have a laundry list of (mostly small) issues. VS Code currently is unstable in native Wayland mode. Qt QDockWidget works poorly in native Wayland: it was unusable in Qt 5. OBS crashes more often in Wayland, on top of being impacted by the dock widget problem.
(There are other issues, e.g. no obvious/general answers for automation, but these ones in particular make me weary of generally recommending people switch to Wayland.)
Until then, there's no point in pushing harder. These problems are showstoppers for many.
P.S.: Not all UNIX environments have good Wayland support but since its a common misconception, Wayland is not inherently limited to Linux and some compositors will run on BSD and there is even one for macOS, albeit more in the vein of XQuartz.
That is by no means clear cut - X is competing against specialist applications like VNC and there is a real question mark over whether a critical application uses OpenGL. X can easily win on toy benchmarks that play to its strengths, but it is rare in the extreme for that to matter.
Why do we need a remote server to provide a GUI that doesn't involve OpenGL? It happens, but not often enough to be an advantage. SSH + VNC is a more reliable and general combination, the X protocol is a maintenance and security liability. Personally if I'm logging in to strange servers I'd rather be learning cross-platform skills that carry between Windows, Mac and Linux.
I stay with X because it lets me have multiple independent logins with their own desktops. The last time I checked, Wayland doesn't support this, and this is well outside of what VNC does. This is a very important facility to me.
So the effect is a bit like VNC in that you can remotely access a desktop, but the desktop you see is not a copy of the one being actually displayed on the machine's monitor. It's entirely its own thing, only visible to that particular login.
Actually, not necessarily; you can use Xvnc to achieve this with X+VNC. It's an X server that serves over VNC.
Can Wayland do this? Yes! But, the problem is that there is no singular Wayland "display server". This is both a big strength and big weakness of Wayland. In this case, it means that I can't point to a single correct way you can do this. However, with the compositor I currently use, SwayWM, it's very trivial: I can start Sway inside of an existing compositor or X server to get a nested desktop. You could use this with Waypipe or X11 forwarding for example. It can also be started with wayvnc inside, to expose a VNC server from Sway, though this is not really any different from starting an Xvfb and running a VNC server inside of it.
Interesting. I remember asking some Wayland devs a few years back about this and they said this use case would never be supported. I'm glad that's changed! It means that if the day comes that I have to use Wayland, I won't necessarily lose functionality.
(Just for clarity, I'm not opposed to Wayland if it can do what I want. But I'm not excited by it, either, because the benefits it does provide are ones that don't really matter to me)
Does wailand supports window managers ?
Wayland doesn't have a single display server. Most of what was the X11 display server is moved to the kernel and libraries. So, the WMs ARE the display server.
xv, xpdf, xterm should work fine. xsnow should work, but will only see X windows. fvwm2, it can run on some Wayland compositors, but the better option here would be a compatible replacement: as far as I know, we still don't have an fvwm2 equivalent, but SwayWM exists as a replacement for i3, for example.
Excuse me, but BS. At least for anything of actual relevance.
X11 networking works okay for stuff that looks like a classic X11 app. That's things like xcalc. Any modern text editor, web browser, or anything else is going to be dog slow.
X11 has a bad networking protocol that's way too latency sensitive, and as a result is nigh unusuable without something like NX, which puts a local cache in front to get rid of that latency.
No, I'd say X11 wasn't designed to be run on the network, in that no particular care seems to have been taken to deal with latency and bandwidth issues. It's more of a feature that could be had for free, because if you can use an UNIX socket, you can also use a TCP one with minimal work, so might as well allow it.
That's just wrong. X11 was designed from the ground up to be used on the network. It just happens that nowadays requirements are different from when it was originally designed.
Running X11 on the network was quite a thing in Unis all over the world, where you could have dedicated dozens of X11 graphic terminal servers (tektronix used to make good ones) connected (100Mbits) to a single mainframe, and everyone running an Xemacs session without slowdown.
Wayland design is all about framebuffers, which clearly shows how focus has shifted. X11 was not designed for pixmap heavy, shader heavy scenarios.
Serving X applications (eg: Chromium) from the Raspberry Pi I'm targeting to the Mac I'm developing on is an exercise in futility, even if it does make 'download this to the target' easier. It's a lot faster to run Safari on the Mac and scp the download to the Pi, just because of interface latency issues.
Granted though, it does nothing for apps using Electron. However, try e.g. the Dolphin file browser on a 4K display over the network, and you'll find it is clearly faster than should be possible.
Probably I should've made it clearer, but imo the bigger problem is that tweaking Waypipe to replace old uses of ssh -Y shouldn't be needed; it should be possible for it to determine what possible options can be used and switch things around to deal with CPU or network bottlenecks most effectively. Easier said than done. There's also still some bugs under Waypipe; it's an understandably challenging problem.
Remote X over fast low latency networks is fine, a near local experience-- even running things like firefox or gimp. (And for classic apps it's indistinguishable from local). The wayland world alternatives like using RDP are painful to the point of usability even over a 10gigbit network, peg the cpu... and are really only good for rescuing something that's stuck or providing a bit of tech support.
Yes, over a high latency network remote X is sucky but seldom much worse than RDP.
That's very wrong, the whole point was to run over the network.
It worked exceedingly well even in the earliest 90s (modulo bandwidth expectations of the time) and continues to work wonderfully 30+ years later.
Modern apps draw all their UI client-side onto a surface which is then sent to X for display. IF ONLY we had a windowing system that was based around simply compositing together the various surfaces that the apps draw into a complete image of the desktop. Since this is a step away from the complexity of X, we could give it a name starting with W...
Don't know what to tell you, your experience is different.
Many of my computers are on a rack and I run everything on them over X displaying to my desktop. Works just fine.
Go ahead, I'll wait. Literally, I'll wait.
HDR support has been in the works for years. Why? Well, nothing terribly specific to do with Wayland: there has been a ridiculously deep dive into the entire space of color management, wide-gamut colorspaces, etc. to try to build HDR protocols that don't merely just get things out the door, but ideally support current and future use cases for the foreseeable future, have good backwards compatibility and handling of unaware apps, etc. These things are non-trivial and can't be solved by writing code or staring at GDB. (Not to mention there are few drivers that can currently support this, so it's also a bit of a chicken and egg problem.)
That is to say, Wayland is a lot less of a software problem than it is a design and social problem. And as you can probably see, ultimately, Wayland will be nobody's favorite, but hopefully with time, it can at least be everybody's favorite.
From my experience, Windows RDP has always worked way better, and when we were confronted with the need of having to do RDP access on Linux, we always found the more primitive VNC far superior.
But even that is the past. Today you can stream your entire desktop over the network with highly efficient modern video codecs, courtesy of the hardware encoders built into your GPU.
It is clear to me as a FreeBSD user that Wayland is primarily developed first hand for Linux.
To me, Wayland looks like a threat rather than something I should embrace.
I remember when it was a given that free software was developed to support a wide eco system. What happened?
“There is even one for macos” XD
There are some anti-patterns in the Wayland ecosystem that lead to arguably unnecessary dependency on things like DBus, but Wayland itself doesn't actually need much and you should find that SwayWM works fine on FreeBSD. However, the graphics stack and drivers for BSDs are a little bit behind, which is arguably a bigger threat.
1. It disables GPU acceleration on Chromium/Chrome
2. A major regression introduced glitches on all the electron apps (slack, signal etc..)
I spent hours trying to troubleshoot those and dozens of flags combinations, nothing works. KDE + Nvidia + Electron/chromium apps is probably a very common set people use... Are the Wayland users still that fringe?
* It broke screen sharing things
* It removed X forwarding
* It made my copy-paste life more complicated
* It made steam ui ever slower
Were these points fixed? what is the current usability of Wayland on these fronts?
Sometimes it's their annoying chrome-fork, steam-web-runner or whatever in a constant crash-loop in the background, eating all CPU.
Other times it seems like if a game or the UI gets launched accidentally or automatically somehow on the integrated graphics, I have to go hunting zombie processes with kill -9 to get things to shut down enough so that I can start them using discrete graphics.
Sometimes launches games and they're in odd geometry.
Running it on X instead of Wayland sometimes fixes problems. But then other times not. Unpredictable.
They're using a chromium based shell, but I don't have these problems with other things like that (Slack, Chrome itself, etc.) And Wayland support in the chromium stack is ... ok? So what gives?
But the Steam client is weirdly dodgy, even though it should just be a web UI that makes a few system calls. It's much worse than an Electron app like Visual Studio Code.
There's the next-gen Steam Deck UI which is less buggy but pushes a lot of graphics cards pretty hard.
In particular, I don't think anybody cares whether users " will be moved by Wayland's technical merits". The question is whether devs will be moved.
I never even wanted a compositor, I always disable composition (because why have it working if I don't need it) if this can be done easily enough on a system I would use without making it too ugly. KDE has a handy hot key (Shift+Alt+F12 IIRC) for this - it helped me prevent crashes in the past and I still use it even though it became more stable.
When I'm playing Cyberpunk 2077, occasionally the game crashes (hasn't happened often, but a few times), and when it does, the compositor fails until I kill the CP process. And while the compositor is failing, only the active window updates. The mouse cursor is invisible outside the active window. It becomes really hard to do anything. Until I kill the hanging CP2077 process.
From what I understand, my options are to keep the compositor active in full screen mode, which would hurt performance, because every signal has to pass through the compositor; or I could switch to Wayland which fixes this issue (though I'm not entirely sure how); or I just accept how it is.
Because I've got an Nvidia card, I'm sticking with X11 for now and accept the occasional crash. But once Nvidia support for Wayland improves, I'm switching.
It's not something I care to spend time debugging, since Wayland doesn't give me any other reason to chose it anyway. But I still try it once or twice a year to see if it has improved, and after several years of this I'm starting to think it never will.
Fuck that. I want to merge my window manager with my todo-list, and I want my work activity sectioned off from my personal projects. I want to pause my work applications when the clock hits 5PM, because otherwise they might knock a few frames off Counterstrike.
If you want a Windows-ish experience then that's fine, but don't project your lack of imagination onto the rest of us.
They shall work, much, much better than windows.
Working in MS Windows is a PITA.
- keep using X and stay healthy
- switch to Wayland and get strong nerve pain again
- switch to Windows or Mac
If Wayland were my only option, I would have to leave Linux for my health. So the technical merits of Wayland truly don’t matter.
Accessibility is an oft forgotten requirement and it’s something that can affect all of us at one time or another. We ought not ignore it.
But even trackpad support is kind of messy at the moment; gestures work but pointer speed just seems weirdly different no matter what.
* What is your condition exactly?
* What were you using on X that made you healthy?
* How is it broken on Wayland?
I use Talon. It simply doesn’t support Wayland, and I believe its maintainer who says that there are issues with Wayland which make support infeasible. Using it on X makes my nerve pain much less.
* Where did they say that?
* What are the issues?
I am trying to narrow down exactly what the issues are. Too much of the conversation is 'something' is broken in Wayland because of 'something'.
talks about it at length.
It seems the main things missing for Talon are:
- input emulation, doable via uinput but not great - standard way to query the list of windows and active focus - for dwell-click support, you need to be able to know if the user is moving their mouse or clicking so you can cancel your autoclick
Well my WM for a start. It did not migrate to Wayland.
And I also need to share screen from time to time (teams, Google chat, etc), which results in a dark screen for viewers in Wayland.
Any updates from Microsoft on this issue?
Thankfully, my employer uses Google Meet for most of the meetings.
Since Chrome/Chromium supports screen sharing with Wayland, it simply just works for me nowy while it never worked with the Elecrton-based desktop application.
* Have they posted what is blocking them? Besides a lack of hands on keyboards?
I am trying to narrow down exactly what the issues are. Too much of the conversation is 'something' is broken in Wayland because of 'something'.
I think overall the problem with Wayland is that there is no user facing improvement over X that I know of.
I have no doubt it's more modern, better engineered, or whatelse. But in the end, the days of fiddling endlessly with your xorg.conf are over, and X _just works_ out of the box on any distro / device.
All Wayland bring me is a switch of WM, and some bugs when screensharing, for no visible benefit.
The only hope of value add I can see with Wayland would be per-monitor DPI. But last I checked, it was hackish at best.
It also have a lot of very brain-dead decisions like moving a lot of what X did to the external tools and so now everyone making a desktop environment needs to worry about handling various input configuration or even to have working screenshots.
X might be crufty code-wise but it was right level of abstraction, allowing WMs and tools built above that to not care all that much about hardware and remain relatively simple.
It's run that way ever since (over 2 years now) and I've only had to switch back to X once or twice to make certain games work on Steam, or just to stop myself from pulling my hair out with OBS. Other than that, it's mostly unnoticeable. Pretty impressive from my perspective.
When I flip back over to X (because of Steam, like you say), I notice right away problems. Plug the laptop into the USB-C dock and everything comes up wrong, fonts all wacked, window sizes distorted. Have to log out and log back in to get things to a working state.
I just don't think X was really designed well for this world of transient displays.
These days that seems to be less of a factor, I gather that a new parallel system of standards have sprung up that technically haven't replaced Wayland but ... for all practical purposes everyone will need to implement the screen-sharing aspects of that world. The parts are slowly being put into place.
But final adoption depends precisely on what the distro maintainers think is a good idea with a little dash of whether it is technically possible for Wayland to work. We put up with X, so Wayland has a low bar to clear technically.
All those choices should just be differently flavoured client-side APIs to do the same thing (opening a window for 3D rendering, and getting input events).
Frankly, I don't care what's going on under the hood, just give me an easy ui-framework-agnostic way to open a window to draw into (and most importantly where I don't need to draw the frigging title bar myself).
I actually wonder what happens if you run a Gnome app on KDE, or a KDE app on Gnome on top of Wayland, does the title bar look consistent in that case?
I guess I also don't understand why there are even multiple Wayland display server implementations with different feature sets. As if desktop Linux wasn't already fragmented enough.
I understand this is absolutely subjective but I just hate this phenomenon so much...
Compare that to Xlib/XCB where you just create a window and that automatically looks consistent (this is also why XWayland is actually a really useful piece of software for applications that just need a GL or Vulkan context but no full-blown UI framework like GTK or Qt).
If you run a "real" Gnome app (that uses libadawaita) on KDE, it will look exactly like what it looks like in Gnome (giant titlebar with stuff on it, no minimize button, etc).
I haven't poked at Wayland in years, but when I did `ssh -X` didn't get the job done for many of the applications built for Wayland, even with XWayland.
I.e., an app that has not been updated yet to work with Wayland.
You can get an entire wayland desktop to display on an X11 backend. This was used in development when there were no display drivers compatible with Wayland but you still wanted to work on app compatibility, etc.. The flow will look like App => Wayland => X11.
Not sure how practical it is for your use case.
The critical component of most software is the design; performance doesn't matter much because half of X's old software was written when your computer having 500MB of RAM was impressive, and past a certain point being snappy is more of a nice-to-have (and yes, it is very nice) than an actual necessity.
Well, I open a bunch of windows, and switch between them, raise, lower, and sometimes move or resize them with a window manager. So yes, my workflow comes from 30+ years ago.
Every piece of software has something you have to work around, every piece of software has small issues, bugs, and there's always some issue. Thus, 99% is pretty much "perfect", because you'll never get 100%. And therefore, for me, X11 is literally perfect. I have zero, absolutely zero motivation to change.
Frankly, compared to 20 years ago, X is a dream to use. Autoconfig, incredibly rich support for multiple monitors, compared to decades ago. It's wonderful. I love it.
I sort of feel like Wayland is in ipv6 turf. Always gaining support, but always blocked in a lot of places for some reason. I fully expect ipv8 to come out, with some sort of additionals for inter-solar routing or some such, before ipv6 gets fully adopted.
This is false.
Bugs continue to be fixed.
Yes, features are already there, so they are not developed anymore. Is this bad?
Have a look at Xorg's git repo. Please.
Or at least until things start breaking, or maybe until Wayland has e.g. stellar HDR support and I'll get a nice OLED monitor. Otherwise, no dice.
I know that X is a crusty old spawn of Cthulhu; but honestly, I don't really care? It just works! I set up my system 10 years ago with how the UI works (including my window manager), and it stably works since then without me having to ever fiddle with it. The fact that X's development is dead is also a feature, because there's no churn!
And when I see other people complaining what still doesn't work on Wayland (where everything works perfectly for me on X) I'm like, eh, I don't have the time for fiddling around; maybe I'll try it out some other day.
I don't have any screen tearing on X11.
Although I can't tell you if that's how it was out-of-box, or if I set it up to be tear free, because... I don't remember.
Remember the part about things just working and me not having to do anything with this for many years? Yep, that's why. (:
> Unless your workflow (and hardware) comes from 20+ years ago, you have almost no reason to stick with Xorg, especially as it continues to get worse and worse when the user experience relies on newer and newer features.
My workflow is probably 20+ years old because not much has changed with software in the last 20 years. My computer is getting close to 10 years old. It works fine. X doesn't get worse and worse; it continues to just work. Sort of like apple fanatics claim, except it's actually true.
I'm not worried about running a keylogger or something that's going to surreptitiously capture my screen. It's not a major issue. It's not an issue at all. Never comes up.
Maybe I'd care more if I were running multiple monitors each with different scaling factors and refresh rates, but that sounds pretty niche. I still don't see a reason to want Wayland as a user.
So basically you're calling almost every modern laptop + external screen setup "pretty niche". I wonder whose post is more silly.
I just got a new laptop for work last month. HDR 4k display. It's still 60 Hz. More only matters for people who are really into gaming, and then you wouldn't be using a laptop.
> Most people probably don't even know scaling options exist, so using different ones on different monitors is going to be niche, yeah.
If you don't know the thing exists, that doesn't mean you don't use it. Modern OSes adjust scaling automatically for the screen DPI. Otherwise using configs like Retina MacBook + 1440p displays, or 4k laptop + 4k external display would be very painful.
I have everything set to 100% scaling because that's a low as you can put it. The defaults had my laptop at 250% (!!!) and external monitor at 150%, which makes the laptop in particular look like some cramped 800x600 monitor out of 1995. In theory I'd like to have my external display be at something like 75% because it's so much larger than the laptop, but I've never seen any OS support this. Does wayland let you do fractional scales like this?
Edit: I also just tried plugging my 4k monitor into my Linux laptop (with a 1920x1080 screen), and it at least defaults both to 100%, which is more sane than "modern" windows. Again I'd probably prefer 75% scaling on the 1080 monitor because things are otherwise too big.
When I had my previous laptop, it had 100% for 4k@16" in Linux by default, and it was causing me a pain in the eyes. Switched to 200% back then, because fractional scaling in Ubuntu wasn't working well.
I'm not sure if it's possible to have scaling less than 100%, I just never thought to make things smaller, not bigger.
I don't understand the point of a high resolution monitor that you scale up. Just to have extremely crisp lines? To me the whole point of a high resolution is that you can have more information on the screen because it remains legible when small. Why not just use a low resolution monitor, which will be cheaper, use less power, and need a less powerful computer/gpu?
Also, is that 60 or 59.94 Hz? Both exist
Most of the time on a normal boot, the xfce display app will apply my saved config and the monitor works, but several apps like kicad somehow glitch out something at random times and I lose both external monitors as though the dock were unplugged and then replugged.
What that happens, it's an extra level of ridiculous. I have to use TWO different apps to recover.
First I have to use ArandR to reset the layout with left, right, and center screens. The normal xfce display app does not work for this even though it does at other times. Trying to click on the little scteens doesn't do anything. But ArandR works.
But ArandR has no way to set the 170hz one back to 60. For that, I have to go back to the xfce app, which is now working after ArandR fixed whatever it fixed.
Then I can resume work. Sometimes for only a minute before it happens again.
It's completely ridiculous and has spanned a few different monitors and docking stations and tb3 and tb4 cables. The one constant is the Framework laptop after upgrading to the i7 1280p motherboard.
Anyway, monitors with all kinds of framerates are now the norm. I'm not even a gamer. I didn't seek out a high framerate monitor specially. I just wanted a good monitor in general with a type of stand that would not waste all my desk space. I think the other monitor can do 120 too for that matter, but somehow is better behaved and doesn't try to when it won't work. It's the norm.
(And no, if Nouveau is an option for you then you probably wouldn't have a dGPU in the first place.)
Not only nothing was miserable, but the NVIDIA dGPUs have allowed applications that are still impossible with GPUs from other vendors, e.g. professional applications using OpenGL that expose bugs in the drivers from other vendors or that have a too low performance on other hardware, or computational CUDA applications that benefit from the many useful libraries provided freely by NVIDIA.
For simpler applications AMD and Intel are fine, but unfortunately there are still many cases when there is no alternative for NVIDIA.
NVIDIA may be criticized for the greediness of their pricing policy or for the slow progress towards providing an open-source kernel driver, but claiming that they offer a miserable Linux experience is completely false.
Very few companies provide a similar level of Linux support, despite the fact that there are some kernel developers who continue to try to sabotage the work needed for maintaining the NVIDIA Linux kernel driver.
NVIDIA provides much more free Linux tools for their GPUs than any other GPU vendor.
Yeah, I don't get this argument. If a process can already run on my account then I'm screwed anyway. It's trivial to e.g. do some bash magic to transparently replace `sudo` to get access to root without me knowing, and then hook into e.g. evdev to keylog every keystroke regardless of whether it's on Wayland or X11.
Unless you sandbox everything (and no one does that on a normal desktop) Wayland's extra "security" guarantees are completely useless in practice, because they're trivial to bypass.
How so? If you run a program that you trust, like "ls", "vim", "firefox", "cat" or "rm", then you absolutely want it to be able to access all your data. That's the whole point of running a program: to read/write your data.
If, for some reason, you want to run a program that you don't trust, you can run it easily inside a container or a virtual machine.
I fail to see how this is a "security disaster". It seems very sane to me. How could it be even better?
I think some systems might be forcing breakage into it: I recently upgraded from Ubuntu 18.04 to 20.04 (had to wait for approval for work laptops, and I keep my personal one at the same release as a reference point) and with that upgrade did I start seeing a weird visual glitch, where new windows would be covered in static for a second before drawing.
> Maybe I'd care more if I were running multiple monitors each with different scaling factors and refresh rates, but that sounds pretty niche. I still don't see a reason to want Wayland as a user.
I don't remember how anymore, but years ago I figured out how to do different scaling factors with xrandr. It's just not exposed through the GUI settings.
Changes where there are plenty of chances to garner negative attention, but almost none to garner positive attention, and the ultimate success would be for the work to go completely un-noticed.
From an end user's perspective, they used to be able to Y in Z and it's stopped working, they google the problem and that's their first introduction to Wayland or Snap or Pipewire or Systemd or whatever.
One of the benefits to a traditional yearly product release cycle is to bundle such changes with a bunch of other, more obviously beneficial changes to sweeten the bitter medicine.
Messing with clipboard has nothing to do with security. I bet the web browser (and other programs who do RCE or phone home) still has access to all my files in wayland, just like in X
Of course this is, today, considered a security nightmare. But it works and I use it. Give me an equally trivial way to do it on Wayland and I think my last X dependency goes away.