Hacker News new | ask | show | jobs
by sidkshatriya 957 days ago
It's possible some of these things are really distro+hw related, but for the sake of argument:

> * Chrome needs a bunch of extra flags to launch in Wayland mode

I'd rather have to worry about adding a few extra flags than worry about X11. X11 is overcomplicated, over-engineered, barely maintained, is apparently broken from a security angle, ancient...

Till today I have found X11 configuration one of the toughest things in Linux. I'd rather google for some wayland specific flags than worry about X11.

> * Firefox needs extra flags to launch in Wayland mode

See argument above for Chrome.

> * Xwayland is just broken on Nvidia with both sides refusing to compromise (implicit vs explicit synchronization - Nvidia refuses to add implicit and Xwayland refuses to take Nvidia’s patch to do explicit). What this means is that you get tearing, flickering and all sorts of terrible graphical artifacts

Xwayland is a transitional thing anyways too. When X is dead we won't need to worry about Xwayland either.

> * Chrome only just fixed HW acceleration for Nvidia (latest m120 beta)

One more reason got added to use Wayland from now onwards.

> * enabling vulkan causes Chrome to fail to render (although this may just me needing to try reinstalling Nvidia drivers)

Vulkan unlike OpenGL is also quite new. Give it a couple of years for every combination to get ironed out. X11 is hardly the answer here. If you're going to gripe about Wayland, X11 is never the answer.

3 comments

> Vulkan unlike OpenGL is also quite new.

Vulkan is 7 years old by now. That's the same time span between Direct3D1 (1995) and Direct3D9 (2002).

Wayland is 15 years old now btw.

7 and 15 years should be more than enough time to create stable and robust software libraries.

I don't wholly disagree with your conclusion, but it's worth considering some context.

Direct3D versions 1 – 9 were indeed released at a rapid pace, more than one per year on average. However, it took a whole five years before D3D9 was superseded by D3D10, and subsequent releases have also been relatively slow.

Direct3D 12 is eight years old, even older than Vulkan. However, it still feels to me like a "new" API, I think because even now, many games still use DirectX 11.

I'm not sure why this is. Probably some combination of the flattening of the technology curve (hardware used to change more each year than they do today), and the fact that once a technology is more complex, it takes more time to change it, and to adopt those changes. And also, legacy compatibility becomes a concern: in 1995, we didn't have multiple decades of existing code, libraries, tooling, and complete consumer software to migrate and support.

>I'm not sure why this is.

It's because Windows.

DX9 remained on the frontline for as long as it did because Windows XP was supported from 2001 all the way to 2014 due to usage share. Similarly, DX11 remains on the frontline because Windows 7. I guess it's more apt to say they are because Windows Vista and Windows 8(.1) failed spectacularly respectively, but my point remains.

Since Windows 7 and 8(.1) are both EOL now, more games should start using DX12 Ultimate.

Wasn't DX12 backported to Windows 7?
Only a small subset of Direct3D 12 and only if the game dev incorporated it.
Isn't dx12 a lower level API? Not nearly as accessible as dx/opengl. I guess not everyone in the game industry has the ability to just switch because codebases are messy, "things are already working", and there not being much to gain but performance.

Deus Ex: Mankind Divided, for example, would often crash on me under dx12, until I switched to dx11. Not everyone is id Software or Epic.

> 7 and 15 years should be more than enough time to create stable and robust software libraries

Yeah, if it were goddamn Apple forcing the ecosystem to make the change. Linux is the bazaar, no one forces anything, but it also comes with disadvantages, like not adapting new tech.

> Till today I have found X11 configuration one of the toughest things in Linux. I'd rather google for some wayland specific flags than worry about X11.

My experience here is that this used to be true more than ten years ago. At some point in between that though X11 managed to get to 0 config. At least, I installed Arch & didn't have to touch the X config at all and things just worked (on NVidia at least).

I'm not trying to say needing flags is something bad. That stuff will get ironed out for sure. But if you want to avoid Xwayland, you need flags (& it's not just Chrome & Firefox - Electron needs similar things) AND Xwayland on Nvidia is a mess right now with no end in sight.

> Xwayland is a transitional thing anyways too. When X is dead we won't need to worry about Xwayland either.

Some apps don't even support Wayland and likely won't for a long time and I think you're underestimating how long XWayland will be a thing (e.g. Tcl/TK which is powers a surprising number of developer tooling UIs doesn't have Wayland & doesn't seem to have enough interest to really push this to production though previous ports have been attempted & made progress). FWIW, this argument has been made since Wayland started 15 years ago. I won't even have the same machine in 5 years.

> X11 is overcomplicated, over-engineered, barely maintained, is apparently broken from a security angle, ancient...

It's funny the kind of arguments that get made because you think I'm against your position. I agree with you and think Wayland should replace X11. But there are very real problems with it today & there's a reason anyone with an NVidia GPU goes "uggh. Wayland". The problem is not just on Nvidia's end and I see cultural problems from Wayland's side too (likely because they've faced so much drive by attacks). I feel like Nvidia is stepping up on their side though - I don't see the same from Wayland/XWayland camp.

> Nvidia is stepping up on their side though - I don't see the same from Wayland/XWayland camp

Genuinely curious -- what stepping up should happen from Wayland/XWayland ? Intel and AMD seem to work well on it so is it because they have some accepted some ugly hacks that Nvidia are not willing to do ? Something else ?

In terms of stepping up, they seem to be tackling through Wayland issues. The latest 545 seems to have people on forums saying “this fixed so many Wayland issues for me”. Now either they are paying professional astrosurfers, or they legitimately fixed some classes of bugs (or it’s random). My experience though is that this kind of feedback tends to be genuine. So I’m giving kudos where it’s due and it seems like the Nvidia team is starting to focus on Wayland issues. Similarly, I was observing recent bug tracker activity on Chrome and Nvidia and all that seemed to be tracking bugs on their end (which not surprising - Nvidia and Google have strong relationships between Android, Chrome, and formerly Stadia).

I don’t know the details on the Xwayland BS (which is the main visible issue I’m seeing as unhealthy). I have not done the technical research to fully understand whose position is actually justified. Heck it might be that both sides are correct on the facts (it doesn’t make sense to add the support that makes other GPUs work and it doesn’t make sense yet to add the new way for Nvidia) but the net outcome is that Xwayland on Nvidia’s propietary drivers remains broken for the foreseeable future. Both Intel and AMD both support something called implicit synchronization. But apparently explicit synchronization is “the future” because it enables more performance and Nvidia has clearly communicated they’re not going to support implicit. Xwayland only supports implicit synchronization and refuses to add explicit synchronization (I think strong arming their position is that the explicit synchronization protocol is isn’t ready or not popular enough yet in the ecosystem? I’m not sure). Nvidia has contributed some patch to fix Xwayland to use explicit synchronization when running on the propietary driver (or something like that).

Of course X11 is badly maintained. Because RedHat took over the maintenance and they want to push Wayland. They took it over to kill it.

X11 is not ideal but I don't think it'll really die. The big benefit of UNIX/Linux is choice. Including for a graphics stack.

I'd use Wayland if it worked with KDE on FreeBSD but it doesn't yet. But I'm not in a hurry anyway.

> Because RedHat took over the maintenance and they want to push Wayland. They took it over to kill it.

Can we stop with these useless conteos? No one goddamn cares about linux desktop, this is the unfortunate state of things. X could be maintained, but no one goddamn cares about doing that ugly work, because they don’t get paid Cobol-bank money for maintaining an ugly legacy software that was designed at a time when GPUs didn’t exist.

RedHat is just a bad maintainer because they have a commercial interest in wayland.

They've done the same to CentOS of course - just taking it over to kill it because it's in their way of selling paid licenses.

I'm surprised how much support they have been getting from the community. They managed to frame perfectly normal open source users as "freeloaders" during the whole CentOS and closing source debacle surrounding RHEL. And the community seems to be happy parrotting this twisted narrative. The whole reason for FOSS is to share.

It's one of the main reasons I moved to FreeBSD, I don't want my OS to be a stringpuppet for big tech.