[ Xorg vs Wayland Thread ] "Improve the crap" versus "Create a new Crap" ?
GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
[ Xorg vs Wayland Thread ] "Improve the crap" versus "Create a new Crap" ?
Hello
xorg vs wayland:
Why Wayland is better?
There are lots of differences between X and Wayland. Probably the biggest one from the graphics side is that Wayland doesn't do any drawing.
X has two drawing APIs. One of these is a part of the core X11 protocol, which is ancient, useless, and nobody uses. The other is the XRender extension which provides modern composite operations, among other things such as gradients. This is what Cairo, for example, uses. X also has font drawing APIs.
Wayland has no drawing APIs. A Wayland client gets a DRM buffer handle, which is basically a pointer to some graphics memory; Wayland doesn't know or care how the client draws to that buffer. In X terms this means that all applications get direct rendering - drawing requests don't need to go through the server.
The only rendering Wayland does is to copy the client's buffers onto the screen.
In terms of benefits, Wayland is a lot less complex than X which should make it easier to maintain
There have been a lot of these 'reinventing the wheel' type projects over the years.
APM superseded by ACPI; OSS by Alsa, etc. They only take off if there's significant limitations in the project to be replaced, and it helps if the devs of the old project have ridden off into the sunset, or else go distant & remote. Try logging a bug against ghostscript, for example.
I tried Wayland early, and was not impressed. Then, about 18 months ago I tried it again and have been using it ever since. Wayland improved a LOT, while X.Org is no longer changing and the codebase is getting stale.
The problem with X.Org is that the codebase is pretty large, somewhat complex, and contains pieces of everything display related including the kitchen sink! No one wants to work on X.Org because it is a pain. A simplified manager that is easier to maintain and contains no parts that should be relegated to a different level has value, and that was the justification for the Wayland project.
Wayland is slimmer and faster than X.Org for most cases, but mainly it is not trying to do or support functions that should be managed elsewhere. X.Org could actually slow some things down because it would do or redo things an application had already taken care of: Wayland does not. (Some of this was poor coding at the application level, but some of us object to making application developers jump through hoops to get things right.)
Currently I have both X.Org and Wayland installed, and can select the one I want at boot time. My only reason for going back to X.Org is for testing and verification, but both still work and either will support a decent GUI desktop.
The reason to "create new crap" is to make stuff less crappie!
ii xorg-sgml-doctools 1:1.11-1 all Common tools for building X.Org SGML documentation
ii xserver-xorg 1:7.7+19+b8 armhf X.Org X server
ii xserver-xorg-core 2:1.20.4-1+rpt4+deb10u9 armhf Xorg X server - core server
ii xserver-xorg-input-all 1:7.7+19+b8 armhf X.Org X server -- input driver metapackage
ii xserver-xorg-input-libinput 0.28.2-2 armhf X.Org X server -- libinput input driver
ii xserver-xorg-input-wacom 0.34.99.1-1+b6 armhf X.Org X server -- Wacom input driver
ii xserver-xorg-legacy 2:1.20.4-1+rpt4+deb10u9 armhf setuid root Xorg server wrapper
ii xserver-xorg-video-all 1:7.7+19+b8 armhf X.Org X server -- output driver metapackage
ii xserver-xorg-video-amdgpu 18.1.99+git20190207-1 armhf X.Org X server -- AMDGPU display driver
ii xserver-xorg-video-ati 1:19.0.1-1 armhf X.Org X server -- AMD/ATI display driver wrapper
ii xserver-xorg-video-fbdev 1:0.5.0-1+b2 armhf X.Org X server -- fbdev display driver
ii xserver-xorg-video-nouveau 1:1.0.16-1 armhf X.Org X server -- Nouveau display driver
ii xserver-xorg-video-radeon 1:19.0.1-1 armhf X.Org X server -- AMD/ATI Radeon display driver
ii xserver-xorg-video-vesa 1:2.4.0-1+b1 armhf X.Org X server -- VESA display driver
Screen 0: minimum 320 x 200, current 3600 x 1080, maximum 7680 x 7680
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
1920x1080 60.00*+ 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.90
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
HDMI-2 connected 1680x1050+1920+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 59.95*+
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1152x864 75.00
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
640x480 75.00 59.94
720x400 70.08
I tried Wayland early, and was not impressed. Then, about 18 months ago I tried it again and have been using it ever since. Wayland improved a LOT, while X.Org is no longer changing and the codebase is getting stale.
The problem with X.Org is that the codebase is pretty large, somewhat complex, and contains pieces of everything display related including the kitchen sink! No one wants to work on X.Org because it is a pain. A simplified manager that is easier to maintain and contains no parts that should be relegated to a different level has value, and that was the justification for the Wayland project.
Wayland is slimmer and faster than X.Org for most cases, but mainly it is not trying to do or support functions that should be managed elsewhere. X.Org could actually slow some things down because it would do or redo things an application had already taken care of: Wayland does not. (Some of this was poor coding at the application level, but some of us object to making application developers jump through hoops to get things right.)
Currently I have both X.Org and Wayland installed, and can select the one I want at boot time. My only reason for going back to X.Org is for testing and verification, but both still work and either will support a decent GUI desktop.
The reason to "create new crap" is to make stuff less crappie!
I am running the latest Plasma on Wayland 1.22.0-1 and it certainly is a bit faster for some operations. (Not all.) Any application that expects X.ORG and hits XWayland seems slower than on direct X.Org, but I have not run benchmarks to put numbers to . Yet.
Distribution: Ubuntu based stuff for the most part
Posts: 1,173
Rep:
X.org has a legacy of code from its fork of XFree86 which goes back to the 1980's, so a complete rethink of how a display should work is needed. Computer power, demand and uses have changed dramatically since the original code base, and security needs to be built in, not added afterwards.
Wayland has a way to go to match all the features, but it should be able to last a few decades like it predecessors have once it reaches parity, which it almost has done.
In my opinion, the deciding factor in all this is gaming. How will any of these things make any differences if it doesn't change the gaming market? Gaming is the key to the consumer desktop market, and GNU/Linux has the potential to offer a far superior platform for gaming to what Windows can ever offer. The optimizations and convenience of gaming on GNU/Linux are endless in potential, and performance could in theory be far greater running games under GNU/Linux than in Windows.
That is if GNU/Linux was optimized for gaming, which it isn't at all currently. If it was, it would be the only right choice for a serious PC gamer. Drop all the overhead and just game, strip away all the crap and just show what is relevant to the gamer. Game on the simplest and most optimized platform and ditch the overhead of the blob system.
Any display server (protocol) in such a place would need to work in an optimal way for games. Technically I know too little about Xorg and Wayland to know if these are at all appropriate for maximum optimized gaming on GNU/Linux, but the one who could/can be, is the one that should be the natural choice. If none are, another replacement would need to be written.
Ofcourse, there is little hope that gamers will change to GNU/Linux, but there is hope, and effort is being made to accommodate that hope. Steam is the biggest platform for gaming on PC, and they are making such effort on several fronts, but they sure could need some help too. Serious gamers will not change to GNU/Linux until most of these situations are resolved, most will not change until gaming performance is better in GNU/Linux than on Windows, but then they will change, GUARANTEED. Likewise, it's a GUARANTEE that performance can be a great deal better in GNU/Linux than in Windows, just by the virtue of how the system works, and how unnecessary functions can be deactivated (and overhead removed). Add to that customization, and you can have pure gaming environments, something which is generally impossible under Windows. With GNU/Linux you can create a near gaming optimized machine/OS, instead of a general purpose computer system. Some other factors are falling into place too, like AMD moving to DRM and open source drivers, and Intel joining the GPU market (Intel Arc), several big games are available on steam with native GNU/Linux versions, and others are available with optimized (targeted) Wine/Proton versions. So, it's not impossible, and GNU/Linux could be the optimal PC platform for gaming.
But well, alot of things will have to fall into place for that to ever happen, including the Xorg/Wayland situation.
In my opinion, the deciding factor in all this is gaming.{SNIP!}
I've been away from gaming since my kids could set themselves up. To do what you suggest, you'd have to surpass Direct X
You might approach your gaming OS with the LibreElec model of J.E.O.S., = Just Enough Operating system. LibreElec runs out of a ramdisk, and runs vlc, sound, networking client, and disks. That's about it.
I've been away from gaming since my kids could set themselves up. To do what you suggest, you'd have to surpass Direct X
You might approach your gaming OS with the LibreElec model of J.E.O.S., = Just Enough Operating system. LibreElec runs out of a ramdisk, and runs vlc, sound, networking client, and disks. That's about it.
Well, I don't really care about PC gaming, but I do care about GNU/Linux gaming. And in any case, it is a key component of the desktop market AND it is a key component of high quality/performance graphics. Why do we even need to think about Xorg/Wayland at all if we don't care about graphics quality/performance.
So... in 16 years "millions" of users must have been hit by this bug? but can't find even a single instance?
They probably did. Just didn’t know it. Or saw no activity and figured it wasn’t worth reporting. I know I’m horribly guilty about failing to report bugs. Need to try harder. For many it’s not worth the effort.
It's hard to blame these people though. I'm at least aware of it so I have no excuse for failing to report them. However I'd surmise the bulk of users though may be aware that they can report, but not realize how easy it can be to report an issue. They may also just ignore it because all computers crap out occasionally. Nothing is perfect. For the average user just close / force close the misbehaving program and restart it. Problem solved. I think we all, including myself tend to forget that very likely most folks running Linux of some sort aren't technically inclined in any way. They just decided to try something and liked it. With how easy most installers are this is not a hard thing to picture.
Another thing is maybe these people have reported bugs. Some mods and people on various vcs / forums though if you report something someone else reported you will be scolded in many cases, not all. Why bother if your just going get a talking to. While it's easy for most of us to navigate most bug reporting isn't exactly user friendly in my experience.
Last edited by jmgibson1981; 12-13-2023 at 06:38 PM.
Another thing is maybe these people have reported bugs. Some mods and people on various vcs / forums though if you report something someone else reported you will be scolded in many cases, not all. Why bother if your just going get a talking to. While it's easy for most of us to navigate most bug reporting isn't exactly user friendly in my experience.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.