Sway: i3-compatible Wayland compositor – 1.0-beta.1 released
github.comPrevious discussion: https://news.ycombinator.com/item?id=18265793
"Experimental Nvidia support has been deprecated since its inception, and has now been removed entirely. Please use nouveau and consider future purchases from GPU vendors that support open source. Other proprietary drivers are also unsupported."
How is nouveau doing this days compared to the proprietary drivers of NVidia ?
They have a support matrix on their site[1].
The short of it is, every card has 2d support. There are very few lacking 3d acceleration. Newer cards have flimsy video acceleration. Power management is severely lacking across the board. Specific advanced features are hit or miss. Performance is still behind the proprietary driver in every case I've seen; but for cards from the 200 to 700 series, it's a smaller drop-off than newer cards.
I'd recommend giving it a try and see how it works in your specific use case. I've personally never found a case where nouveau works well enough to drop the Nvidia driver, but I'm usually on the latest or next to latest gen.
Sway/wlroots maintainer here. The older the card, the better the support. If you're not gaming and you have a 9xx or older card, you should have pretty decent support for a workstation type of deal. If you get as old as 7xx or 6xx you start to have games getting playable.
Although note that recent Intel HD should outperform those cards, with much better power efficiency.
For newer cards, nouveau can be a quite sad experience due to nvidia not only making a mess of their own driver, but actively handicapping development of nouveau.
i think you will be happy to hear since 2014 they can alterr the clock speeds and get out of the boot frquency of the cards which gives them somewhat normal performance. there is a bit of an issue still to reverse features implemented on the cards. this is a daunting task. these features make some functions in games or renderers run much smoother than directly rendering them or using non-specific resources for them ,which is why on a lot of places there is still considerable performance loss compared to nvidias own drivers.
https://en.wikipedia.org/wiki/Nouveau_(software) here is some interesting info on the state, with a lot of references
nvidia are a bunch of dicks who have no real reason to keep their specifications closed other than to (speculating) hide things they don't want you to see. patents and other things will still protect their IP / featuresets even if they open it.... intel/amd are where people should invest, especially people who are using alternate (non-windows) platforms, since nvidia will never open their sources, and amd/intel will never improve the way you want if you don't invest in their future!
What I understood one of the reasons they keep their source closed is that it's full of stuff like:
`if (game == "Fifa2016") use_nvidia_custom_shaders() ...`
So games don't work quite fast and the game companies ask nVidia to fix it in their drivers, which might do stuff such as adding custom shaders to get that good fps. That's why many major games require you to update to the latest nVidia drivers before running.
I don't know how much AMD does this, their open source support is excellent nowadays.
Other reason I believe(no proof) NVIDIA is not publishing specifications or open sourcing the driver is related with FreeSync an open protocol for monitors, NVIDIA does not support it because they have an expensive proprietary version (compatible monitors can will be more expensive) though I read recently that someone managed to trick the NVIDIA driver to work with FreeSync on some hardware.
>patents and other things will still protect their IP / featuresets even if they open it....
That's not how it works. Even if you patent something others can copy it (and I don't mean just the source, but the idea, algorithm, implementation) and use it in their products and then you're left with the work of completely reverse engineer them, figure it all out, then sue them, etc.
So you can either do that or just never open your source. Who can blame them?
> and then you're left with the work of completely reverse engineer them, figure it all out, then sue them, etc. That isn't that difficult if your competitors also make their drivers open source. There is no doubt in my mind, that nvidia already has a team looking at every commit AMD and Intel make to their Linux drivers. If one of them started using their IP, nvidia would know.
The performance of the AMD drivers on Linux is much lower than on Windows, so it goes without saying that the spicy parts are still closed source.
Doesn't support GPU power management on the newer cards akin to 1080 Ti. Thus X will never start if you've got more than a single 4K monitor; I suppose neither would GPGPU work. But I don't think I've had any other issues.
BTW, I believe the reason it's not supported isn't because OS developers don't understand how it works - it's because Nvidia has never released the private keys associated with power management on the GPU. So the only thing Nvidia's got to do is to provide these keys to the open-source community. So it is a DRM issue.
Imagine a world where Gnome doesn't support any proprietary card drivers, where VLC can't read non open codecs, where libre office can't open doc* files...
Does that seems like a world where FOSS can be successful in ?
The issue isn't as much of proprietary drivers as nvidia not wanting to implement GBM in their drivers as it's supposed to for wayland support and pushing for EGL streams.
It means that people writing wayland compositors have to write a EGL stream version because of a purely one-sided nvidia decision.
EGL Stream support in Mutter (gnome) is supported a bit by Nvidia but that's it.
Between spending time on improving a compositor and the window managers making use of it or spending time to support non standard driver implementation because of one-sided decision from nvidia, it seems to me that the first choice is a smarter one.
Do you know how much special cases there are in all FOSS to accomodate the bad decisions of the rest of the world ?
Just look at the ifdef in the Python source code to make it cross plateform, it's insane.
But it's what's makes it useful.
You can have purity. But you won't have many users, because on the scale "Stallman <=> My dad", they will all be on the far left.
Nothing wrong with that. But it won't be a big number.
I refuse to add this to my code. The nouveau driver is good enough for most people who aren't buying new cards, and if you're buying a new card you should give your money to a company that cares about FOSS.if (nvidia) { // thousands of lines of code } else { // thousands of lines of code }As much as I'd love to do that, I need CuDNN for my work. It's okay, though; X11 still works. I have no real reason to want Wayland.
The beauty of choice is that it goes both ways.
Yep. Particularly with hardware makers that strategy has worked remarkably well. Nvidia is actually the only major hardware company I know of (other than Apple who sorta don't count) who doesn't have a good open source driver. That isn't an ideological position, just all the other majors seem to support linux as a first class citizen across all product categories.
There is also a difference between data exchange (codecs, doc*, etc) and drivers. Intransigence by the kernel community regarding closed source code has resulted in Good Things in the driver space.
Yet, it seems that the only very popular FOSS projects are the ones playing well with proprietary. Actually the most popular distrib is Ubuntu, precisely because of this.
This comment is tautologic
What about ARM GPUs or PowerVR?
PowerVR is basically dead FWIW.
That would work just fine. Intel HD, which basically everyone has, would work fine (and performs quite well). AMD also works.
It's only nVidia that would be excluded, due to them acting like children and trying to push proprietary things as the only GPU vendor.
Haven't you seen how largely successful Linux desktops are among common users, outside the ChromeOS and Android variants?
My point, actually.
Apparently, still not well: https://www.phoronix.com/scan.php?page=article&item=nouveau-...
Yes, IT puts me in a wierd situation as I need nvidia for machine learning related stuff, and I would love to move from i3 to sway...
I have an integrated intel card in my notebook, and an extra nvidia card that I use with proprietary driver and bumblebee.
That works great with sway
Can you get a cheap Radeon as a display card?
Why would anyone go out, buy a new Radeon, install it in their computers (assuming there is room, which in ML cases is not always true), and reconfigure any drivers and all the other hassle, just to use a window manager? That's assuming such a thing is even possible (e.g. work restrictions).
Because they “would love to move from i3 to sway”? The cheapest passive Radeon is less than $50 on Newegg and I’m sure a lot cheaper second-hand, and $50 doesn’t seem like much to spend on something one would love to do.
You ignored most of my point. Many people have restrictions other than money.
It's not great in terms of performance in games, but it's perfectly usable on the desktop. I've been using sway on nouveau full time for a couple of days now and have had no issues so far.
Except when you are using a Quadro GPU, and nouveau will hard-lock the machine randomly (and has been doing so for at least 4 years)
This has been my unfortunate experience.
What does that exactly mean for Nvidia GPU users?
Use the proprietary nvidia driver and X for gaming or 3D-related work, use Nouveau, Wayland and Sway on your other computers.
It means that you can't use sway (or any other compositor based on wlroots) with the proprietary nvidia driver. Instead, you should use the nouveau driver.
My experiences with nouveau have been anything but stable. I don't know why people would recommend alpha quality software over alternatives.
You have a choice of A: give up the improved performance and features of the proprietary driver to use i3 with wayland, no longer able to take screenshots or use secondary monitors
B: continue using i3 with X
You can take screenshots and use secondary monitors on sway, I use four displays at home, including one rotated 90 degrees and one 4K display, to make sure I test each use-case before anything breaks for end-users. The performance of the novueau driver is adequate for most non-gaming workstations.
> You can take screenshots
can you, with any app that takes screenshots ? e.g. with SimpleScreenRecorder or flameshot ?
No, they will require patches to support Wayland. But we have created portable protocols which will allow you to take screenshots on 10+ Wayland compositors and are on track for standardization. Third-party screenshot clients already exist, like grim:
"Please use nouveau and consider future purchases from GPU vendors that support open source. Other proprietary drivers are also unsupported."
Uh... how about I just not use your software? I'm not going to replace a couple thousand dollars in GPUs, or even buy a new specific GPU just so I can use your software.
Your pick. Nvidia are assholes, though, and should not be supported directly at any cost. They need to learn to grow up.
Also, what the hell are you using a couple thousand dollars in consumer nVidia GPUs for on a Linux system?
Machine learning, where NVIDIA hardware and proprietary drivers is currently non-negotiable. It sucks but it is reality, and refusing to support their drivers in other software because NVIDIA doesn't support FOSS will accomplish absolutely nothing. Except people not using your software.
Why are you rendering your desktop through a compute GPU? Connect screens to the Intel HD outputs.
Refusing to support nvidia accomplishes that their shitty approach will die. They will then have to pick between either dropping linux support (which they don't want exactly due to ML and stuff), or having to do shit right.
IIRC, gnome is also dropping eglstream support (nvidia crap), leaving nothing supporting it.
Machine learning, probably. Nvidia is still the best option for that.
In that case, you don't really need graphics at all. It's perfectly possible to use a card with good drivers for your displays (even the Intel IGPUs are good enough for that) and do your machine learning with the nvidia GPU and whatever blob they provide.
I don't have integrated graphics on these machines, and there is no room for additional cards, and if there was, I would either be putting in another NVIDIA card, or RAID, or 10Gb or the many other things that will actually improve our use of these machines. Also, these are company/org machines, I can't just go putting random ass hardware in them because someone wants to use a window manager.
What you're suggesting may be fine for casual desktop users at home, but in many cases it's simply not possible.
Fair enough - there are edge cases. If you're running Xeons or the new AMDs and don't have an iGPU, you're out of luck. But this is Nvidia's doing, not the developers'. It's Nvidia who is stubbornly refusing to implement standards. I can't blame the devs who don't want to duplicate their effort. This is the price you (and I) pay for using Nvidia GPUs. Hopefully OpenCL (or similar) support catches up soon and Nvidia gets some competition, or we're headed for a dark future.
That's a unique case: a non-server xeon workstation.
However, it's up to nvidia to fix. No one intends to support their lazy eglstream suggestion for countless reasons, and only gnome is left, which IIRC intends to drop it too.
ML is a good example of why not putting up with them will work. They need that customer base. If all support is dropped, they'll need to act.
> No one intends to support their lazy eglstream suggestion for countless reasons,
So first Wayland came for the networked UIs because "X forwarding is shit" then they wayland users came for NVIDIA because "we don't like how they do it". I can see myself booting into a Windows 10 desktop in five to ten years because pretty much everything I relied on on Linux has been killed off by then, oh whait that is GNOME 10, it just looks and acts just as user hostile as Windows.
Excuse me while I seat myself into a corner with my trusty X window based software that at least does what I need it to do half the time.
NVIDIA being assholes is nothing new. Wayland is just their newest way to try to screw open source development in order to stay as proprietary as possible.
> Excuse me while I seat myself into a corner with my trusty X window based software that at least does what I need it to do half the time.
Enjoy your root escalation exploits and complete lack of any usable security model, then. Oh, and soon, complete obsolescence. I'll enjoy my out-of-the box wayland setup.
Oh, and yes, X forwarding is total utter crap. Wayland will have remote capabilities, but X forwarding was never a good idea. It was okay 20 years ago, but it doesn't make sense at any level today.
It's a legit option. Unfortunately everyone involved seems unwilling to compromise on this one so you're forced to choose.
Which is fine, it's not like the developers of sway owe me anything. My point is just that if your goal is to increase the adoption rate of your software that you're pouring so much time into, and you want that software to be successful, this is exactly the opposite way to do it.
I don't know much about Sir_Cmpwn, but my impression is that his ideological desires outweigh any desire he may or may not have for higher adoption.
This is also acceptable. Please, never use Sway
I know this is about sway, but I feel I can't pass up this opportunity to profess my undying love for i3. The learning curve is relatively minor for such a slim powerful system I'm truly amazed. I really can't thank the original author(s) enough.
RE: Sway, I'm glad they hit this milestone, I have a friend who is using it and he claims it's almost as good, (although he hasn't found a way to do -gaps yet..).
Last time I used Wayland/Sway I couldn't get decent font rendering. Has the situation improved?
Sway maintainer here, i3-gaps is fully supported. Can you direct your friend to our support channels? #sway on irc.freenode.net, or open a GitHub issue.
Font rendering on sway is in all respects equivalent to font rendering on i3.
i3 really is just incredible and simple - and not at all opinionated about what other components you use (statusbar, menu, notification system, screen locker, etc).
And also its documentation is excellent.
>Last time I used Wayland/Sway I couldn't get decent font rendering. Has the situation improved?
Wayland and Sway don't touch font rendering as far as I know. There should be no difference between font rendering on X and Wayland. Perhaps you were getting blurred out fonts due to scaling?
I guess what I mean is the the font rendering tweaks to give you really nice font dithering etc; didn't used to work. I'm thinking the freetype2 project for example.
The fonts always appeared super sharp and jagged on Wayland when compared to X11.
Sway is great -- for my purposes (which are mostly arranging terminal emulators) it's been indistinguishable from i3 for well over a year. Unfortunately some of the systems I use are burdened with Nvidia cards, which don't seem to work well with Wayland no matter which driver I use. (It's even worse with Gnome!) Anywhere I have AMD or Intel graphics, I use Sway very happily.
Another interesting project which is similar to awesome: http://way-cooler.org/
Congrats to the sway developers on this milestone. i3 is one of the 'killer apps' of the linux ecosystem and the developers of sway are doing god's work by translating i3 for the wayland compositor.
Excited to use this soon if it lands in Debian 10 Buster.
I am really looking forward to using Sway. I briefly tried the beta and it worked very nicely. However, one problem that prevents me from switching completely is that with 2x scaling, XWayland apps are scaled up from a lower DPI, resulting in very blurry rendering.
As far as I understand, this is a problem in XWayland and GNOME uses a hack to make XWayland applications render without scaling (since X11 Qt/Gtk+ applications use their own scaling). But it makes using Firefox et al. way more convenient to use.
Same for me.
Though there is a wayland version of firefox, which I plan on trying out.
Am I seeing this right? Third party screen capture? Practically the only reason I'm still on i3 instead of sway is sharing my screen (as I work from home and do a few video calls a week).
edit: spelling. I am apparently terrible at leaving comments from my phone.
We implemented our half of the equation, but the other half (clients) is still poorly supported. However, you can share Xwayland windows in Chromium.
My current setup is to run xmonad as my window manager within an otherwise normal Gnome session. Is there a way to do this with Sway, possibly with some other desktop environment if I had to?
No, this is not currently possible, but it's something we're working on. It requires buy-in from e.g. Gnome, which is hard to get. KDE is more amenable to this.
By the way, check out waymonad, it's based on the same wlroots library as sway:
I use i3 currently. I might remove the old nvidia card from my box and purge the nvidia drivers from my system. The Intel graphics will be good enough. I run Gentoo but I don't want my graphical stuff to be high maintenance. Can anyone comment on whether it's worth it to move to wayland/sway?
Whether it's worth it depends on the user. Try it, it's free!