Well in the worst case you can always enter a tty or ssh and try to fix from there. But you can be sure the system will be recoverable.
I took a simplistic approach on some of the things I talked about, but you can use it as a pointer for a deeper dive. Also I realized now that I wrote the comment in really bad English, apologies.
I really do believe the future of the Linux desktop will be exciting, and that’s also thanks to Wayland.
I saw it on a blogpost somewhere about jetbrains working on Wayland support for Java, but it was a long time ago, I don’t think I can find it. This has the gists of it https://blog.jetbrains.com/platform/2023/08/wayland-support/
So, I’m going for a long explanation just in case, just skip the parts you already know.
tl;dr: Wayland is more modern and potentially better, but development on the linux desktop is slow so some parts are not ready yet. You should use it for future-proofing, unless there is some X11 feature that you really really need. But you probably won’t notice much on the surface. Check your drivers/desktop environment versions if you have flickers on nvidia, you need the very latest versions because of a recently resolved issue.
Backstory:
Xorg is a program, X11 is the protocol used by said program. Xorg is old, insecure, inefficient, it is based on an idea of how graphics work that is outdated and doesn’t reflect modern hardware. But most of all, its code is a mess, and it is impossible to update it to fix those issue. Thus, the Wayland protocol was born as clean-slate replacement, meant to solve some issue (make it more secure), clean up the software (Xorg is unmaintainable), and make it reflect the way modern graphics work (less intermediary, no network transparency, no per-vendor implementation), but as a consequence, it breaks compatibility with old software.
Also the developer of xorg were so traumatized by x11 that when making Wayland they went to much in the opposite direction and were reluctant to implement some features, most of which have now been added as protocol extensions or separate software, but some are considered against the protocol design principles and will never be implemented. One of the differences is that there’s no standalone display server, but you have a window manager+compositor+display manager, so Desktop environments need to make their own or support the one made for other environments, that’s why only a few of the long-standing DE support wayland, for now.
What makes Wayland good (plus drawbacks):
Less intermediaries mean theoretically more efficiency, thus speed. Of course, that is only true if the compositor is mature enough, after all X11 software is very mature.
In ye olden times every vendor provided a closed source implementation of the x11 protocol, and that’s how drivers worked. That is objectively a bad idea, so during the years glamor was developed, to run Xorg directly on OpenGL instead of on an ad hoc driver (put a pin on this for later). In Wayland you don’t need ad hoc drivers, they just need to provide Egl (not to be confused with EglStreams) and a library called GBM, that are used for managing frame buffers.
Xorg used to manage a huge part of the devices (even printers…), and due to antiquate design, it was unable to handle trackpads correctly (e.g. no proper kinetic scrolling), Wayland does less, and relies on other more modern input management libraries, this theoretically allows input devices to work better, but only if the related new libraries and protocols are ready. E.g. he trackpad part is ready, the drawing tablet part is not.
It is more secure, for example it doesn’t allow programs to just read the screen. It is absolutely possible to do screen recording, but you need modern software, and some applications (e.g. discord) are really reluctant to update their libraries (discord is using electron from 2018), so they don’t get recording. A problem is that it doesn’t allow applications to move windows, some protocols are being worked on, but right now, software that relies on moving or placing windows will not work.
Applications (plus possible work around for freetube):
Most applications using modern libraries and toolkit don’t need to care about Wayland support, the toolkit will do the job. They might be undertested on Wayland tho, and small projects might not have the resources to test and take care of both protocols, so they will choose X11 because it’s still the most used.
Most older applications also don’t need to care, because Xwayland works just fine (put another pin on this), but sometimes they are a bit broken. And if they are specifically tools for xorg (e.g. xscreensaver) they will of course not work.
Some times electron apps still have issues, because chrome has not had proper Wayland support for a long time. More over, Google does make a version of chrome with improved Wayland compatibility, but they ship it with chromeos. You might fix some issue by adding --disable-gpu
which disables electron’s gpu support.
Expect proprietary applications to not fully support native Wayland, because their vendor often don’t care.
Java applications don’t support native Wayland because AWT is fundamentally incompatible with Wayland. JetBrains is working on a replacement.
Nvidia, Xwayland, and Glamor (this probably concerns you):
Recall the pins from before.
Nvidia provides it’s own proprietary implementation of X11, like in ye olden days. When they decided to support Wayland they decided that they wanted to use Egl+EglStreams instead of Egl+Gbm, but only gnome implemented partial support for eglstreams (so it was basically unusable), they refused to support Gbm for many years, untill about three years ago for and suddenly you mostly could use wayland on Nvidia but some things were broken, and especially Xwayland was broken and flickery. Many things were fixed but not xwayland.
Nvidia refused implement the Implicit Sync (from now IS) semantic, which was (until a couple months ago) required by linux’s standards. That is to say that their drivers did not respect linux’s standard and were incorrect. IS is not a good semantic for modern graphic, but that was the standard and there was no alternative.\
No one noticed for a long time because Nvidia provided it’s own implementation of X11, but xwayland uses glamor which glitches when IS is not implemented causing flickers. Actually this affects everything, but for some reason xwayland is more affected.
During the past two-to-three years Wayland developers worked along side nvidia to come up with a new Explicit Sync (from now ES) semantic. ES is marginally better for IS, but most of all, Nvidia is fine working with it, so now the flickering should be fixed as well.
Why does your xwayland windows flicker? Applications can support ES and get 0.001% better performance even if they shouldn’t need to (because of how it was designed), but what you need is support from your desktop environment, and from your drivers. You need the latest version of Xwayland, and Gnome 46.1+ or KDE 6.1+, plus nvidia drivers 555+. If you have those versions of the software, everything should work, if not expect flickers and wait for updates.
To me Logitech mice are usually so much better than others that I wouldn’t even look at other brands unless I was looking for an ultra specific feature. The cons are the pricing and I think modern Logitech mice use less durable switches than a few years ago.
They would need special vendor software nog available on Linux, but solaar is pretty good and for my logi keyboard it even offers features that Logitech’s software doesn’t (swap function and fn keys, map fn+right/left as Home and End).
Specifically, to me they are better because I still enjoy the build quality and because I need a feature that only pricey Logitech mice (and my out-of-production cheaper mouse) have. Which is connecting with both Bluetooth and an HID compatible dongle, and switch between devices with a button. Some other mice have the switching functionality, but they only have Bluetooth, and I also need the dongle.
The wheel that goes brrrr is also cool, but I don’t have that.
Beware of rubber coated mice, the rubber will eventually come off. You can try to super glue it back on. You might need to get a new device, but mine is out of production, and the cheapest mouse with the feature I need now costs like 60€ which I’m not going to spend.
Distributing software is not instantaneous. Assuming that Mozilla has already sent the update to flathub, it will take some time before it’s validated and available for download.
If instead of flatpak you had used native packages, you would be in the same situation, as fedora’s update system keeps updates in testing until enough people say it’s fine.
If you wanted to get the update as soon as possible, you would have to download the prebuilt binary from Mozilla, but then you would have to update manually and everything.
Just be patient for a few days.
I think you are confusing “windows like” with “user-friendly”. A “bespoke archive, that you find on some developer’s website, that you extract and somewhere it contains an executable and assets, that you move where you want to keep them, and then the user remembers to manually update it sometimes somehow” is not how you usually do stuff on Linux and is not even user-friendly.
Distributions come with programs like “gnome software” or “kde discover” that allows the user to graphically install programs from the distro’s package manager, or from flatpak or snap. It will also help them to keep them updated and to manage dependencies. That is user-friendly.
I suggest using flatpak. It will work on almost all distros out of the box and will be easy to install and maintain for the user. If flatpak is too “bloated” for you because it uses containers, then you need to package it for every distro manually, but that’s a lot of work. If it’s something that just needs to be used once and never again, consider an appimage or a script, because they don’t need to be installed.
Distros are different operating systems, it’s not gonna be easy to package for all of them without compromises.
Also, if you really really really need to use your bespoke archive, you can do like native steam games do, and put every library you link in the archive, and link with relative paths instead of system wide paths, or with a launch script that loads your provided libraries. But that’s not a great user experience. Steam gets away with it because it’s the launcher that manages the whole thing.
You are not supposed to power the GPU like that. You should use two separate cables from the supply. The other connector of the same cable is intended to “daisy chain” low power cards.
It will probably work anyway, but better safe than sorry.
Edit: I think it’s needed because:
In addition to what the others have said, windows has already had its big paradigm change (“similar” to the change from x11 to Wayland that is happening) in the past. It was around 2007 with windows Vista. They also didn’t get it quite right on the first try, but because Microsoft can do whatever they want, and in Linux you must convince the community that something is better, it was easier for them to just change everything under everyone’s nose.
Hmmm. That’s suspicious, there’s a number of things in the way of video acceleration with that setup.
First of all, the fact that on fedora (ublue is a derivative of fedora) you need to install openh264 from dnf and not from Firefox extension manager, and then you still need to change some settings in about:config . Second, you are using a flatpak, I’m not sure if openh264 needs to be installed “inside the flatpak”. And last, it might just be the Nvidia.
The first two would also affect AMD.
Mesa drivers for opengl, vulkan, etc. are likely already installed, what you need to install are the mesa-va and mesa-vdpau drivers for video acceleration. Other than that, you just need to make sure the GPU doesn’t stay in power saving mode when you play.
Btw, video acceleration with Nvidia mostly works if you use this.
Mine is: I don’t really listen to music
I doubt it’s representative of the population. Because it’s from self reporting, at best it’s representative of those who advocate their favourite platform, which is just a particular portion of the population. Though it would be cool to see Wayland surpass X
Wait, is it on a population of 5000 computers? Bruh, why are we even looking at this?
The USB protocol was simple by design, so it could be implemented in small dumb devices like pen drives. More specifically, it used two couples of cables, one couple was for power and the other for data (four wires in total). Having a single half-duplex data line means you need some way of arbitrating who can send data at any time. The easiest way to do it is having a single machine that decides who gets to send data (master), and the easiest way to decide the master is to not do it and have the computer always do the master. This means you couldn’t connect two computers together because they would both try to be the master.
I used the past tense because you may have noticed that micro USB have 5 pins and not 4, that’s because phones are computers and they use the 5th pin to decide how to behave. If it’s grounded they act as a slave (the male micro to male A cable grounds it). If it has a resistor (the otg cable has it) it act as master. And if the devices are connected with a wire on that pin (on some special micro to micro) they negotiate the connection.
When they made usb 3.0 and they realized that not having the 5th wire on the usb-A was stupid, so they put it (along side some extra data lines) that’s why they have an odd number of wires. So with usb 3 you can connect computers together, but you need a special cable that uses the negotiation wire. Also I don’t know what software you need for it to work.
Usb-c is basically two USB 3.0 in the same cable, so you can probably connect computers with that. But often the port on the devices only uses one, so it might not be faster. Originally they put the pins for two connections so you could flip the connector, but later they realized they could use them to get double speed.
Yeah that would be terrible, imagine if you were to run some updates and the package manager went like “Get <name of the distro> Pro! You will get better updates and support”
Me:
What is available is a x11 server, not more not less, it cannot be used for anything other than x11. If they made X12, it would not work on Nvidia, unless they wrote a new server, which they wouldn’t.
You need to understand that the xorg server everyone use literally does not work on Nvidia, because it uses implicit sync, which is required by the Linux infrastructure. The only thing that works on Nvidia it’s specifically their own proprietary server.
Nvidia does a lot of impressive stuff, but they have neglected the Linux scene for a long time, because it wasn’t convenient, and it shows.
Edit: …what was available… because Nvidia is gradually implementing things the correct way, and Wayland is becoming more and more usable with every driver update. Because, surprise surprise, it does depend on the drivers. Also, both Intel and AMD work perfectly with Wayland.
It’s explicit sync, look at my other comment for links
False, xorg isn’t written with support for Nvidia, when xwayland windows flickers on Nvidia it’s an effect of xorg not working Nvidia.
The Nvidia driver is a closed source implementation of the xorg server written by Nvidia for Nvidia GPUs. Xorg was invented at a time when drivers were done like that.
Now xorg uses glamor (except on Nvidia) which is a driver that implements the server over opengl, so you don’t need to implement the whole thing for every GPU. Except glamor doesn’t work on Nvidia because Nvidia doesn’t implement implicit sync, which is required by Linux, and that is what you see in xwayland (which uses glamor as well).
Wayland doesn’t require writing a whole server, but it requires implementing GBM and explicit sync (as does everything on Linux, unless you are using Nvidia’s proprietary corgi server). Nvidia refused GBM until a few years ago, and still refuses to implement implicit sync. Which is why explicit sync will solve most issues.
TL;DR depends on your gpu.
Some monitors below HDMI 2.1 support the early version of freesync made by AMD, while others support a fragment of what became 2.1’s VRR. The former is supported only by AMD, while the latter by both AMD and Nvidia (Pascal and upper with latest drivers). If you have the former, the monitor is probably not compatible with DP’s official adaptive sync, so Nvidia won’t work even on DP.
But… Even if you have AMD, due to a bug in the driver, if you have a Polaris GPU it might not detect the vrr capability over HDMI (but will over DP). I know for sure that RDNA 2.5 cards support it, in theory it should work even for all Vega and Navi GPUs, but I haven’t tested it.