[HN Gopher] HW accelerated Xwayland rendering for Nvidia merged
       ___________________________________________________________________
        
       HW accelerated Xwayland rendering for Nvidia merged
        
       Author : luigifcruz
       Score  : 189 points
       Date   : 2021-04-09 14:27 UTC (8 hours ago)
        
 (HTM) web link (gitlab.freedesktop.org)
 (TXT) w3m dump (gitlab.freedesktop.org)
        
       | oneplane wrote:
       | For those who skim the headline and wonder if this is about
       | nouveau or the proprietary binary driver: it's the latter (which
       | might also be why it's newsworthy).
        
       | csomar wrote:
       | How convenient. I bought an 6700XT (overpriced, crappy, and not
       | yet supported) a couple weeks ago as soon as they were released.
       | Having used Nvidia for Linux, I thought AMD would play much
       | nicer. That was far from true, but maybe because the 6700XT is
       | yet to be fully supported in the kernel.
       | 
       | That being said, I'm now enjoying wayland. Gnome apps already
       | supports wayland natively. The rendering is smooth, no tearing
       | and no issues. I think the transition to Wayland will be faster
       | than many here are predicting.
        
         | maddyboo wrote:
         | I bought a 5700XT back when it was first released. It would
         | crash my entire system randomly, it was so bad I had to shelve
         | it for a while and put my old GPU back in. It took a good few
         | months for the amdgpu driver to work out the kinks, but now it
         | runs fine. In the future I'll definitely avoid buying GPUs less
         | then 6 months old for use on Linux, and will diligently search
         | for "model# crash|bugs|glitch|unstable linux|wayland" before
         | pulling the trigger.
        
       | jrm4 wrote:
       | Long time Linux (and therefore X11) user here. I'm not much of a
       | programmer, more of a techy end user.
       | 
       | I have read of the supposed benefits of Wayland, but from what I
       | can percieve, the cons (too numerous to mention, but mostly
       | breaking a billion useful things that X has had for some time)
       | seem to out weigh the pro. Yes, the pro. Fractional scaling.
       | 
       | I don't like actively cheering for something to fail, but _I
       | really don 't get it._ X11 is in no way broken enough to justify
       | such a huge change, and I'm concerned that the KDEs and Gnomes of
       | the world are going to ramrod the thing through regardless.
        
         | edflsafoiewq wrote:
         | It's an old story.
         | 
         | A conservative rewrite, that amends those things experience has
         | shown were mistakes but were always retained for compatibility,
         | is rare, since the impulse to rewrite is revolutionary in
         | nature. A rewrite is treated as an opportunity to remake the
         | world in a new image (with a new set of mistakes to uncover).
        
           | turminal wrote:
           | The problem here is that a lot of stuff X does relies on
           | horribly unsafe (mis)features of X. And of course wayland had
           | to break compatibility with those things.
        
             | michaelmrose wrote:
             | If the user wants to do X which involves increased danger
             | to the user giving users a way to tell the system that app
             | X has the privilege of doing X but not allowing all
             | applications to do X is potentially viable but telling
             | users you don't need to do X anymore is a much harder sale.
             | 
             | It needn't be a prompt users will quickly be prompted to
             | click yes to it could easily be an option in settings or at
             | communicated at install time.
        
         | aduitsis wrote:
         | The fact that XWayland's "performance should be roughly on-par
         | with native X11" probably solidifies rather than weakens the
         | position of X11 as the de facto display protocol.
         | 
         | If everything that uses X11 today can be used on top of
         | XWayland without any modification and without performance loss,
         | this means that a lot of pressure stemming from the need to
         | switch to speaking Wayland instead of X11 is lifted in a
         | certain sense.
         | 
         | Or am I missing something?
        
         | coldtea wrote:
         | First of all, nobody cared to hack on X/Xorg. The project was
         | seriously understaffed.
         | 
         | Second, it ended a pile of hacks upon hacks.
         | 
         | Those two reasons have to be added on top of the other benefits
         | of Wayland (or any other modern re-arch of X).
        
         | DoctorNick wrote:
         | X11 is a security nightmare. It is absolutely broken enough to
         | justify a huge change.
        
           | michaelmrose wrote:
           | Installing random software off the internet or from a market
           | that developers have direct access to poison is a security
           | nightmare that isn't much fixed by wayland.
        
         | infoseek12 wrote:
         | The main thing that has me cheering Wayland on is that it seems
         | like the only, really viable, path forward for the Linux
         | desktop environment. The developers of X11, and more or less
         | the rest of the Linux community, decided that X11 wasn't the
         | best path to take into the future. So X11 is treated like a
         | legacy technology. It will keep getting patched and will be
         | supported for the foreseeable future but it's hard to see
         | anyone wanting to invest a lot of effort innovating and moving
         | the tech forward when everyone agrees there's no future in it.
         | I'm not aware of any frameworks that are really competing with
         | Wayland for the next generation.
         | 
         | There will be stumbling blocks as with any new technology,
         | especially one that interrelates with so many systems but
         | Waylands core architecture seems to be solid.
         | 
         | Personally, I'm still using I3 and don't see many immediate
         | benefits to switching over to Sway (the Wayland fork of I3). I
         | am cheering Wayland on though and making the switch is
         | somewhere on my todo list. What other path forward is there for
         | desktop Linux?
        
           | inclemnet wrote:
           | > Sway (the Wayland fork of I3)
           | 
           | Minor clarification: Sway is an i3-compatible wayland
           | compositor written from scratch, not a fork.
        
         | zaxcellent wrote:
         | The issue is X11 as we know it has no developers left. If
         | nobody is around to maintain it, the world will move on, no
         | ramrod necessary. More info:
         | https://ajaxnwnk.blogspot.com/2020/10/on-abandoning-x-server...
        
           | sprash wrote:
           | There are plenty of developers left. It is just release
           | management refuses to make new releases.
        
             | zaxcellent wrote:
             | I suppose that theory is possible. A proxy for developer
             | availability might be to check the primary mailing list of
             | xorg for the full month of march:
             | https://lists.x.org/archives/xorg-
             | devel/2021-March/thread.ht.... There wasn't much directly
             | related to xorg-xserver itself. As a point of comparison,
             | here is March for QEMU:
             | https://lists.nongnu.org/archive/html/qemu-
             | devel/2021-03/thr...
        
               | sprash wrote:
               | After years of misleading propaganda about how X11 is
               | "deprecated" now I would expect no less. Besides maybe
               | the main communication channel for development is
               | somewhere else.
        
               | taway098123 wrote:
               | Most developer activity related to Linux graphics is in
               | dri-devel, it's been like this for quite a while. The X
               | development channels have been mostly dead outside of
               | discussion of XWayland. I doubt you'll see anyone
               | starting any major new features in X.
        
               | pantalaimon wrote:
               | There are still some active PRs
               | 
               | https://gitlab.freedesktop.org/xorg/xserver/-/merge_reque
               | sts...
               | 
               | Someone is trying to get multi-touch support merged, but
               | is waiting for a review.
        
               | taway098123 wrote:
               | I hope someone comes along to review those, but I don't
               | see there being much interest in it.
        
         | dkersten wrote:
         | > mostly breaking a billion useful things that X has had for
         | some time
         | 
         | This is always the case when there is some widely used legacy
         | tech, but it shouldn't stop us from trying to move forward, or
         | we'll never get better things.
         | 
         | I've personally switched to using wayland on my main laptop and
         | am very happy with it. I was using X before and was getting
         | incredibly bad screen tearing when using i3, I tried every
         | recommendation I could find (double buffering, running a
         | compositor, etc) and nothing helped, but Sway on wayland fixed
         | it for me and its been running flawlessly for the last 9
         | months. I have no plans of going back to X anytime. The only
         | thing I use X for is playing Windows games with Proton (which
         | this HW acceleration change might even fix, if the laptop had
         | an nvidia gpu, but alas, it does not).
        
           | sprash wrote:
           | > but it shouldn't stop us from trying to move forward,
           | 
           | Wayland means moving backwards. It has the complete wrong
           | philosophy and abstractions. If "sway" runs flawlessly for
           | you you are not doing much with your computer at all. I can't
           | work without my fine tuned synaptics driver configuration and
           | without my over the years grown and perfected scripts using
           | xdotool, dmenu, xsel, xcape, xcalib and many other tiny but
           | useful x-tools.
        
             | dkersten wrote:
             | So because it doesn't work for your workflow of scripts
             | that rely on X, wayland is a step backwards and I must not
             | be using my computer for much? Get over yourself.
             | 
             | > fine tuned synaptics driver configuration
             | 
             | My touchpad, touchscreen and apple magic trackpad work
             | great for me, so this isn't a problem for me.
        
               | sprash wrote:
               | Wayland is power-user hostile. If all you do is watching
               | cat videos all day long Wayland will be great for you.
        
               | dkersten wrote:
               | And once again you are making completely erroneous
               | assumptions about my computer use.
        
         | dijit wrote:
         | Fractional scaling is kind of the most visible thing today. But
         | to be clear, there's a lot of benefits to wayland.
         | 
         | Mostly the issues could be hacked around. But let's be
         | absolutely clear with this: it is hacking around the issue.
         | 
         | Problem: tearing, solvable with double buffering, maybe.
         | 
         | Problem: Xorg runs as root, solvable, there's ways of making
         | your user have direct control of the frame buffer device.
         | 
         | Problem: Xorg is a network system, and a porous one, meaning
         | it's possible to intercept keystrokes from any running program.
         | Solvable by running a mini X11 instance for each program.
         | 
         | Problem: Xorg is a network system, meaning it is very
         | inefficient. (Imagine using TCP to talk to your SSD)
         | 
         | Problem: Xorg needs to be backwards compatible, so it can't dig
         | much into hardware features. Especially as the client may not
         | be on the same machine as the server.
         | 
         | Overall, wayland is a good clean slate, it's been in
         | development a long time. X11 has major warts and they are hard
         | to clear out.
        
           | espadrine wrote:
           | I'd like to emphasize a major aspect that makes the switch a
           | non-brainer: SECURITY.
           | 
           | The "good old days" of unencrypted Internet, where everyone
           | could see your cookies, are no longer acceptable; the same is
           | true of X11.
           | 
           | With X11, if you _copy a password_ from your manager, you
           | must assume all running apps now know it and transmitted it
           | to a malicious server. There's no way to tell.
           | 
           | With Wayland, it is only transmitted upon pasting, and only
           | done directly from the copier app to the paster app.
           | 
           | With X11, _everything displayed on the screen_ is
           | compromised. Also, all inputs, keyboard and otherwise.
           | 
           | With Wayland, each app only sees their own pixels.
           | 
           | With X11, _screen locking_ is pure hackery that doesn't
           | always protect the locked pixels and... login password.
           | 
           | Traditionally, you are meant to trust that process boundaries
           | on Linux are sacredly secure, which is why Spectre was a big
           | deal. But in practice, that is only true under Wayland.
        
           | jrm4 wrote:
           | So, I see and understand these arguments in theory -- but,
           | and I don't think I'm alone, none of them are actually
           | pressing?
           | 
           | I'm running Openbox/Xubuntu on a 4K monitor, doing some
           | awesome equivalent-of-4-monitors work, then playing all the
           | steam games I want with the Proton and the decent AMD GPU,
           | all under X. "Font size is a little weird sometimes" is my
           | only gripe?
           | 
           | Put differently, I understand "hacking around the issue"
           | criticism in theory -- but if you applied that sort of purity
           | to, say, web programming -- step one would be, okay, first
           | get rid of Javascript, an idea that I really do like in
           | theory, but I know it's not happening.
        
           | josefx wrote:
           | > Xorg is a network system, meaning it is very inefficient.
           | (Imagine using TCP to talk to your SSD)
           | 
           | I am quite sure that there is something wrong with your
           | system if your X clients run through the IP stack by default.
        
           | michaelmrose wrote:
           | You said Xorg is a network system twice and I don't think you
           | did enough research once. Wherein client and server are local
           | it doesn't doesn't communicate via the network stack. The
           | problem you imagine exists only in your imagination not
           | reality.
           | 
           | I don't care if xorg runs as root and I don't need to run an
           | instance of xorg per application I simply install software
           | from trusted sources and haven't managed to get malware
           | between 2003 and now. I also didn't have issues with tearing
           | in 2003 and I don't now.
           | 
           | Generally speaking QT and GTK and other toolkits must concern
           | themselves with the details of X others concern themselves
           | with QT or GTK as they would under wayland. It is extremely
           | likely that all players in the overall ecosystem who never
           | had to specifically worry about X in many years have had more
           | issues, work, and tears from wayland development than they
           | would have had for the remainder of the next century with X.
           | 
           | This is nearly entirely about presenting a saner stable base
           | to improve the work for a tiny number of people actually
           | developing the graphics stack in Linux to build upon and
           | unfortunately they made poor design decisions at the start
           | that have led to it taking 12 years and still not being ready
           | for prime time in some ways.
           | 
           | After doing the necessary research to understand the topic
           | you could construct another post about the shortcomings of X
           | that is actually factually correct but it would still be
           | beside the point. Wayland would still be a poor work that
           | squandered a lot of the opportunity of a clean slate despite
           | its authors being in perhaps the best position possible to do
           | so. In 20 years Linux if it exists on the desktop will be a
           | weird opaque overengineered system that works when it works
           | and is impossible for an end user to understand why it is
           | misbehaving when it doesn't.
           | 
           | On the bright side due to package management the windows
           | solution of pave over the install and start over could
           | probably be configured to automatically reinstall all your
           | software for you!
        
             | jrm4 wrote:
             | After a few years of wondering about the "why," I find this
             | comment very illustrating; it feels like Wayland is one of
             | many Linux related efforts (like Gnome and KDE) that are
             | not particularly interested in a high level of
             | interoperability and/or long term durability. Instead, the
             | goal is more in the direction of trying to make their
             | preferred way of things more dominant in the ecosystem.
             | Now, if those efforts are _actually good at it_ then more
             | power to them. But most of the time, that doesn 't happen,
             | and I think it harms the Linux ecosystem, one that I am a
             | fan of, overall.
        
           | _jal wrote:
           | I find it personally a bit hilarious - Wayland has been Going
           | To Be Great Soon for over a decade.
           | 
           | I've never even had a reason to want to run it.
           | 
           | But I'm sure it'll be great, any day now.
        
             | KeyBoardG wrote:
             | From what I gather its a chicken and egg issue. Wayland
             | would get more attention and development if it had more
             | users. It would have more users if it had more feature
             | development. Although a lot of the bigger gaps are closed
             | or closing now. OBS now works on Wayland as of 03/30/2021
             | and Fedora plans to ship Wayland as the default.
        
             | toun wrote:
             | I find Wayland is great already for my usage, and has been
             | for the last two years. If Xorg works for you and Wayland
             | doesn't, that's perfectly fine too.
        
               | _jal wrote:
               | Don't get me wrong - I would love to not deal with
               | certain X warts. (I see substantially fewer warts than
               | other people do, but that's just me.)
               | 
               | It just seems Wayland's combination of technical
               | requirements and political entanglements make it a sort
               | of Zeno's Project, doomed to asymptotically approach
               | peoples' expectations and desires, but never reach them.
        
             | coldtea wrote:
             | > _I find it personally a bit hilarious - Wayland has been
             | Going To Be Great Soon for over a decade._
             | 
             | So? The same has been the case for desktop Linux in
             | general, for 2 decades.
        
               | de_Selby wrote:
               | Linux desktop has been perfectly fine for at least 1.5 of
               | those decades.
        
               | throw0101a wrote:
               | > _So? The same has been the case for desktop Linux in
               | general, for 2 decades._
               | 
               | Some of us have been running Linux desktops for over two
               | decades. Nothing more fun than setting Modelines manually
               | for your VESA card:
               | 
               | * https://en.wikipedia.org/wiki/XFree86_Modeline
        
               | michaelmrose wrote:
               | Desktop linux actually worked pretty well in 2003 for my
               | purposes. I started on Fedora Core 1. I burned a dvd hit
               | the magic key to select a boot target booted it up told
               | the installer what time zone I was in and what disks it
               | could use and such details and rebooted after a while.
               | 
               | Wine sucked and there was less software existed but it
               | was perfectly possible to do the normal tasks one did
               | with a computer.
        
               | edoceo wrote:
               | My Gentoo/Xfce multiple monitors with Nvidia has been
               | great for at least 10 years.
               | 
               | Linux Desktop is Great. Wayland is still in the process
               | of becoming great (I think it's making good progress too)
        
           | sprash wrote:
           | > Fractional scaling is kind of the most visible thing today.
           | 
           | And also perfectly possible with X11 because the pitch
           | information is exposed via the Xrandr extention
           | 
           | > Problem: tearing, solvable with double buffering, maybe.
           | 
           | Solved since ages. Just enable Tearfree in your Xorg.conf.
           | That also shows how great X11 really is. It allows you the
           | _choice_ to turn it on or off. Because Tearfree comes at a
           | cost of latency.
           | 
           | > Problem: Xorg runs as root, solvable, there's ways of
           | making your user have direct control of the frame buffer
           | device.
           | 
           | OpneBSD solved that two decades ago. Also it perfectly
           | possible on Linux to run X11 as non-Root.
           | 
           | > Problem: Xorg is a network system, and a porous one,
           | meaning it's possible to intercept keystrokes from any
           | running program.
           | 
           | This is a feature not a bug. The security paradigm is
           | blacklisting (which means sandboxing untrusted apps) instead
           | of whitelising (which means locking everything up and only
           | allow the compositor to do stuff). Since the vast majority of
           | Software on FOSS system is trusted X11 is the far superior
           | solution here.
           | 
           | > Problem: Xorg is a network system, meaning it is very
           | inefficient.
           | 
           | X11 runs even on 386's and beats Wayland in every performance
           | metric, especially latency. After 13 years of development
           | only some compositors come close to X11's performance.
           | 
           | > Problem: Xorg needs to be backwards compatible, so it can't
           | dig much into hardware features.
           | 
           | Backwards compatibility is a major feature even 40 year old
           | Software runs on current Xorg which is an impressive feat. As
           | for the "hardware features": DRI3 uses the exact same buffer
           | sharing mechanism as the major Wayland compositors do.
           | Wayland offers zero advantage in exploited Hardware features.
           | On the contrary X11 is capable of using hardware layers that
           | has the effect that you can smoothly move your mouse even on
           | heavy load and OOM events. Wayland still completely craps out
           | in that regard.
           | 
           | > Overall, wayland is a good clean slate, it's been in
           | development a long time.
           | 
           | It is a clean slate, but a very bad one. The wrong philosophy
           | ("every frame is perfect") and the wrong abstractions
           | ("everything in the universe is a buffer made of RGB values")
           | make it a major step backwards in computer graphics on
           | Unix/Linux.
        
           | gspr wrote:
           | I very much agree with what you wrote. I'll just add a
           | comment:
           | 
           | > Overall, wayland is a good clean slate, it's been in
           | development a long time. X11 has major warts and they are
           | hard to clear out.
           | 
           | This may seem like it's irrelevant for the user. It isn't.
           | Lots of things us users want are much easier and more
           | attractive for developers to add to the clean slate design
           | that is Wayland.
           | 
           | For example: When I switched, an unexpected bonus I
           | experienced was that my touchpad's behavior got orders of
           | magnitude better. So I googled around a bit, and it turns out
           | that almost all touchpad improvements just happen to occur on
           | Wayland because the people who are interested in that aren't
           | interested in wading through the X swamp in order to
           | implement their stuff. (I mean, have you looked at the X
           | code? Oh dear, oh dear, it's a daunting thing!)
        
             | mrighele wrote:
             | > This may seem like it's irrelevant for the user. It
             | isn't. Lots of things us users want are much easier and
             | more attractive for developers to add to the clean slate
             | design that is Wayland.
             | 
             | This is something I don't understand about Wayland. How is
             | it possible that something that is supposed to be much
             | easier and more attractive for developers after TEN+ years
             | of development still has so many issues ?
        
               | stinkytaco wrote:
               | On the other hand, a bunch of X11 issues were just
               | listed, and X has existed three times as long. Some
               | issues are architectural and thus probably not solvable,
               | some are just persistent annoyances that must be
               | difficult to fix and likely will not get fixed because
               | X11 has so little active development anymore. X has
               | enough issues that a good portion of the community said,
               | "we've got to fix this". And frankly, I've used software
               | from multi-billion dollar corporations that gives me more
               | trouble in a day than Wayland does in a month.
        
         | devwastaken wrote:
         | There are reasons, many times those reasons are obvious to
         | whomever is actually implimenting the changes but not to others
         | outside of it. The reasons have been highlighted hundreds of
         | times and unless there's actual arguments against those reasons
         | the discussion of "I don't like wayland" is a distractive
         | circle that ignores the content of the original post.
        
       | harel wrote:
       | Since I switch to Wayland on Ubuntu 20.04 my laptop works
       | significantly better. I don't get random hickups and slowdowns.
       | Screen sharing works fine (at least on zoom which is what I
       | tried, and only on the .deb package, not the snap one). I am
       | aware it's not as mature as X but I'm looking forward to watching
       | Wayland grow.
        
       | pmontra wrote:
       | I'm definitely not in hurry to switch from X11 (it's good enough
       | for my use cases) but this is an important step to enable a mass
       | migration to Wayland. I'll give it a try as soon as screen
       | sharing and video conferencing work out of the box for NVidia.
       | Meet, Skype, Slack, etc. If a customer of mine use something that
       | doesn't work on Wayland I have to keep using X11.
        
         | CarelessExpert wrote:
         | Man, I wish it was just that.
         | 
         | Using Qt apps under Gnome on Wayland can break in weird ways
         | (e.g. in one case I saw popup menus opening in weird places or
         | disappearing entirely). Meanwhile, because window decorations
         | under Gnome are client side, the behaviour is weird and
         | inconsistent (double-click on a Gnome titlebar and it
         | maximizes, but double click on a Qt app titlebar and it
         | doesn't).
         | 
         | So maybe switch to KDE? Unfortunately, the idea of a "primary"
         | display simply doesn't exist in KDE on Wayland, which is a
         | major regression for multi-monitor setups. And that's setting
         | aside that KDE on Wayland still crashes on a very regular
         | basis.
         | 
         | Under Gnome I've also seen apps like Guake that simply don't
         | work properly due to either bugs in the compositor or
         | limitations in the Wayland protocol (I'm still not sure which),
         | so you need to find workarounds in those cases.
         | 
         | In general this leads to distros not enabling Wayland by
         | default in clients and toolkits, even if Wayland is the default
         | display server. For example, on Debian (testing), both Firefox
         | and QT require special environment variables to be set
         | depending on your setup. If you don't set them, those
         | applications just use Xwayland and you lose things like
         | fractional scaling. Force the use of Wayland and you end up
         | with a lot of the issues I mention above.
         | 
         | Wayland is _really_ coming along. When it works, it 's smooth
         | as butter and works great! Heck, I'd love to use it if only for
         | fractional scaling support. But a lot of things are still very
         | broken and it's still gonna take a while for things to mature.
        
           | cycomanic wrote:
           | Maybe this is a Gnome issue? I've been using sway as my main
           | driver for 2 (?) years now and I don't encounter any of the
           | issues that you see. I'm running with firefox and most other
           | apps forced to wayland and was actually surprised how easy it
           | was.
           | 
           | The main issues I encounter are about screen sharing. At the
           | moment it does not work for wayland apps (i.e. wayland apps
           | don't show up in the share this). Supposedly there is a way
           | around it, but I've not yet needed to investigate. The other
           | issue is OBS not working (I guess also because of
           | screensharing). And the third issue is some weird bug in
           | Zoom, where if I open the participant or chat window, it
           | becomes extremely laggy. So much so that I can't really type
           | in the chat window because there is such a strong lag, that I
           | finished typing before the word appears. Similarly the video
           | feed becomes choppy.
           | 
           | One other issue was that Pycharm was having issue opening
           | some menus/windows but that seems to have been fixed now.
        
             | nvarsj wrote:
             | I like sway a lot, but I also encountered many bugs with
             | its implementation. For example, it's drag and drop and
             | focus switching randomly breaks when interacting with
             | Xwayland windows. It also breaks resume/suspend if you have
             | multiple GPUs. I finally went back to pure X11 and
             | everything just works and is snappy. I miss the Wayland
             | tear-free experience though.
        
             | CarelessExpert wrote:
             | > Maybe this is a Gnome issue?
             | 
             | I actually listed a range of issues. Some are in Gnome.
             | Others are in KDE. Yet others are in the toolkits (e.g. the
             | Qt popup menu problem). And still others are in the
             | applications themselves (e.g. Firefox has a whole menu of
             | Wayland-specific bugs).
        
               | igneo676 wrote:
               | I had a ton of issues with QT menus until the latest
               | patches from KDE hit Arch's QT packages. Fixed them
        
             | albertzeyer wrote:
             | There was an update for OBS recently, which sounds like it
             | fixed the Wayland issues.
             | 
             | https://feaneron.com/2021/03/30/obs-studio-on-wayland/
        
             | turminal wrote:
             | > Maybe this is a Gnome issue?
             | 
             | Definitely a Gnome issue.
        
           | michaelmrose wrote:
           | By primary display do you mean new app windows are created
           | there? If so you can use window rules to force windows to be
           | created on a particular screen.
           | 
           | You could put different windows on particular screens or just
           | punt everything to the desired primary monitor.
           | 
           | This functionally is also available in i3wm/sway as
           | for_window and as a stand alone application under x called
           | devilspie2.
        
             | CarelessExpert wrote:
             | It's a pretty common feature. Windows, Gnome/X11 and
             | KDE/X11 all have the concept of a "primary" monitor. I
             | believe macOS does as well.
             | 
             | The idea is that things like the status bar, top bar, dock,
             | etc, appear on the primary monitor unless configured
             | otherwise.
             | 
             | Similarly, new windows preferentially open on the primary
             | monitor.
             | 
             | This is existing functionality on all of these desktop
             | environments.
             | 
             | In a multi-monitor setup, you designate a monitor as the
             | primary monitor and the desktop automatically "does the
             | right thing" even if you remove and reattach the primary
             | display.
             | 
             | KDE on Wayland loses this functionality. The primary
             | monitor is whichever monitor is detected first with no way
             | to control it through configuration. The only workaround is
             | to disable your secondary screen and then re-enable it, and
             | you have to do that every time the desktop launches or the
             | display configuration changes, which is a deal-breaker if
             | you dock/undock regularly (or when the display server
             | crashes).
             | 
             | Might there be hacky workarounds that partially fix some of
             | these issues? Maybe. But it's a major functional regression
             | and I'm not willing to invest that effort (especially,
             | again, given the stability issues).
             | 
             | BTW, Gnome on Wayland preserves this functionality. But
             | unfortunately, as I mentioned, Qt + Gnome leads to a whole
             | host of other issues.
        
               | michaelmrose wrote:
               | Logically you would just put the same dock on both
               | monitors and tell it to move all new windows to DP-2 (or
               | wherever), open an issue on their bug tracker asking for
               | this feature to be reinstated and explaining why, and
               | move on. This wouldn't so much be a hacky workaround as
               | using a built in feature that achieves the same result.
               | 
               | In my opinion primary monitor is conflating 2 settings
               | that perhaps ought to both exist in an easier to use that
               | windows rules.
               | 
               | Open new windows on ____ selected from monitor with mouse
               | cursor, same window as focused application, a selected
               | monitor with the default being same monitor as focused
               | application.
               | 
               | Always show panel in place of any other bar yes/no.
               | Unchecked by default. You can have a panel on each
               | monitor and put things of your choosing in each panel or
               | even have a panel on top and below on the same monitor if
               | you like. So what happens if you have a panel on your
               | primary monitor 1 and also on your secondary monitors 2
               | and 3? Say you unplug the laptop and monitor 3 becomes
               | the only monitor.
               | 
               | The most obvious and simple thing would be to show the
               | same things on all 3 including showing a taskbar for the
               | windows just on that particular monitor so that when you
               | undock you can still do the same things. Windows does
               | this for example the only difference is which bar has the
               | tray.
               | 
               | The most theoretically correct would seem to be allowing
               | you to set different bars for different configurations
               | but this would be complicated and perhaps little used.
               | 
               | What I've suggested would be to give you the ability to
               | set a primary bar that is always displayed hiding any
               | secondary bars that normally appear on that display.
        
               | CarelessExpert wrote:
               | > This wouldn't so much be a hacky workaround as using a
               | built in feature that achieves the same result.
               | 
               | But there's _already_ a built-in feature in KDE /X11 for
               | this. It's just broken in Wayland. It's a feature
               | regression, plain and simple.
        
               | michaelmrose wrote:
               | So ask them to put it back?
        
               | CarelessExpert wrote:
               | I think you're missing the entire point of my comment.
               | 
               | I'm not saying these things can't be resolved! They
               | probably will be, eventually. I have every confidence
               | that some day, KDE on Wayland will restore this now-
               | missing feature.
               | 
               | I'm simply saying, through my personal laundry list of
               | bugs and regressions, that Wayland is a long way off from
               | ready for prime-time due to a wide range of issues that
               | go well beyond the oft cited, very well-trod issue of the
               | lack of screen sharing.
               | 
               | That's it.
               | 
               | And I genuinely look forward to the day those gaps are
               | closed and I can use Wayland full time!
               | 
               | I just have a feeling that won't be until 2023 at the
               | earliest.
        
               | michaelmrose wrote:
               | I have a feeling it will be 20never as I sit in front of
               | my machine running i3wm version whatever in 2029.
        
               | craftinator wrote:
               | I'm pretty sure Wayland is never the problem, it's always
               | the user. If no one used Wayland, it would run exactly as
               | designed!
        
             | azinman2 wrote:
             | I'd imagine this as far as things like docks are concerned?
             | But the idea that I have to write specific windowing rules
             | just to use my computer suggests this has a long way to go.
             | It should 'just work' out of the box.
        
               | michaelmrose wrote:
               | Just work doesn't mean it just works as you personally
               | desire. It means just works in a consistent predictable
               | fashion that is suitable for use not desirable for your
               | taste or matching behavior on windows.
               | 
               | Personally I expect windows to show up on the same
               | monitor as the currently focused window or the cursor and
               | having it pop to a primary monitor would be from my
               | perspective a defect. I would have to test but I think
               | that outside of gnome this is actually how the majority
               | of linux environments work out of the box.
               | 
               | You don't have set a windows rule in the settings gui
               | just to use your computer. You have to set a windows rule
               | in the settings gui for your computer to work in the
               | fashion that you prefer. That you regard this setting as
               | essential doesn't mean that it actually is just that you
               | strongly prefer it.
        
           | coliveira wrote:
           | > When it works, it's smooth as butter and works great
           | 
           | Come on, Wayland was released 12 years ago! And it still has
           | all kinds of problems that don't make it qualify even for
           | beta software. I'm highly skeptical that Wayland will ever be
           | as useful as X11 is right now.
        
             | eikenberry wrote:
             | I take it you don't remember X11 when it was 12 years old.
             | Wayland looks quite good in comparison.
        
               | craftinator wrote:
               | I think, based on the responses to your comment, that
               | your comment is quite wrong. It seems X11 was completely
               | functional at the time, which Wayland is definitely not
               | at this time.
        
               | wnoise wrote:
               | X was 1984. X11 was 1987. Twelve years later in 1999, it
               | worked just fine.
        
               | coliveira wrote:
               | Even before that. I remember installing X11 on PCs in
               | 1995. And it worked much earlier than that on UNIX
               | workstations.
        
               | deckard1 wrote:
               | to give you an idea of 1999, I was running Quake 3 on
               | Linux with official Nvidia Riva TNT support and X11.
               | 
               | X11 also ran fine in 1995. Granted, I think fvwm2 was
               | probably state of the art for window managers at the
               | time. From '95 to almost '97 or '98 I stuck pretty much
               | in 80x25 or 80x40 text console. Not because X11 didn't
               | work, but more so because xterm really sucked and the
               | only apps you would use in X11 anyway were Netscape, Gimp
               | or xv (image viewer). Gtk+ also did not exist, so
               | everything was ugly Motif or Tcl/Tk.
               | 
               | Oh, and... there was always talk of replacing X11. Even
               | in the '90s. People have been talking about replacing X11
               | nearly as long as X11 has been around, sadly.
        
               | donio wrote:
               | 1995 the state of the art WM was probably GWM which was
               | fully programmable in a Lisp dialect. You could even draw
               | your window decorations in Lisp using various primitives.
               | It was never widely used though.
        
               | eikenberry wrote:
               | Sorry, I meant X. Wrote X11 out of habit. But X11 is a
               | version of X, so I still think the relevant date is 1984
               | and in 1996 I was still writing modelines in my X conf
               | file... and at least with Wayland you don't have to worry
               | about a misconfiguration frying your monitor.
        
               | forgotpwd16 wrote:
               | Then again, was there even an alternative back then?
        
             | CarelessExpert wrote:
             | In all fairness, my experience is that most of the issues
             | are in the broader ecosystem at this point.
             | 
             | Wayland, itself, is just a protocol. The display servers
             | are just the display servers. But then you have Gtk and
             | Gnome, Qt and KDE, software like Firefox and Chrome, etc.
             | All of those have to updated as well, and while Wayland the
             | protocol, the display servers, and a lot of the suite of
             | infrastructure around it is in pretty good shape, the
             | toolkits and clients and so forth all still need a lot of
             | work.
             | 
             | And you only need to look at the Python 3 transition to see
             | how hard it is to shift a whole ecosystem.
             | 
             | So I'm willing to cut the Wayland guys some slack. But it
             | does mean there's still a ways to go, yet, before things
             | are ready for prime time.
        
               | kbumsik wrote:
               | > Wayland, itself, is just a protocol
               | 
               | That is the root of the problems IMO. The thing is, this
               | design decision had made the ecosystem a lot harder to
               | grow than X11/xorg.
        
               | michaelmrose wrote:
               | The perspective that wayland is just a protocol and
               | doesn't need to address real issues is why it has so many
               | of them to start with.
        
               | CarelessExpert wrote:
               | That I completely agree with.
               | 
               | The folks involved in designing the Wayland protocol
               | seemed to have shed a lot of key features in the name of
               | simplicity or security, forgetting that the solution
               | actually has to meet real, human user needs. Those needs
               | include things like screenshots and screensharing, global
               | hotkey binding, etc, etc.
               | 
               | To address that, we now have a range of extension
               | protocols, which is creating fragmentation. The CSD-vs-
               | SSD debate is a perfect example.
               | 
               | Things are slowly coalescing--PipeWire is maturing, for
               | example, filling some key gaps--but it's taking time and
               | meanwhile IMO the ecosystem continues to be too immature
               | for broad adoption.
        
               | taway098123 wrote:
               | Screen sharing and screenshots weren't an afterthought.
               | Weston had support for those for a long time, but gnome
               | and kde decided to do something different, probably
               | because they saw pipewire was maturing.
               | 
               | Allowing arbitrary clients to globally capture keys at
               | will is impossible to do without opening up a hole for
               | keyloggers. Maybe someone will figure out a good way to
               | do this but I wouldn't hold my breath. You're better off
               | writing a compositor extension to do what you want.
               | 
               | The CSD-vs-SSD debate isn't anything new, there were apps
               | that used CSD before wayland, and there were X11 window
               | managers that didn't draw any window decorations. There
               | is fragmentation there but it's caused by the apps, you
               | won't fix that one without rewriting all of them to have
               | the same policy on decorations, probably that means
               | redesigning all of them to use the same widget toolkit
               | and designs.
        
               | pantalaimon wrote:
               | > Maybe someone will figure out a good way to do this but
               | I wouldn't hold my breath.
               | 
               | Android and iOS and Browsers these days already have
               | figured out something for those kind of things - they ask
               | for permission.
        
               | taway098123 wrote:
               | The usual place those permission dialogs have gone is the
               | flatpak portal, which is separate from Wayland. Someone
               | would have to implement it there.
        
               | zaat wrote:
               | > Allowing arbitrary clients to globally capture keys at
               | will is impossible to do without opening up a hole for
               | keyloggers.
               | 
               | Is this feature standard on every OS in use by human kind
               | today? Is this feature requested by most users and not
               | having it pisses off most users? Is this feature
               | available on the system that Wayland aims to replace?
        
               | taway098123 wrote:
               | All of those questions are really irrelevant. The point
               | with Wayland is to make something that's more secure than
               | the systems it aims to replace, not to make exactly the
               | same thing. If you want to help, maybe show a way this
               | can be done without poking a huge security hole?
               | 
               | Regarding pissed off users, in my experience most
               | computer users are used to Microsoft Windows and get
               | pissed off when things don't work exactly like that, so
               | unless you work for Microsoft then it's a lost cause
               | trying to please them all.
        
               | michaelmrose wrote:
               | If you don't have any users you will soon find yourself
               | without developers so it is in fact quite relevant.
        
               | taway098123 wrote:
               | That seems like the reverse of the way it's always been
               | on Linux, where there are only developers and no users...
        
               | zaat wrote:
               | I'm working with i3 (on X, obviously). Perhaps I'm
               | diluted but my experience is that users of this setup are
               | happy about their setup and love the system they use.
               | 
               | I don't know of any way an Ethernet device can be truely
               | secured, perhaps it should be disabled until a solution
               | is found. I couldn't care less about a system that is
               | more secure if it massively interfere with day to day
               | usability.
        
               | taway098123 wrote:
               | There's plenty of ways to securely multiplex Ethernet
               | devices. You don't give your web server read access to
               | all TCP ports being used by other services for example.
               | You only let it open the HTTP ports. There are of course
               | ways for debuggers to escape this and intercept all TCP
               | packets sent by the kernel, but those require elevated
               | privileges.
        
               | CarelessExpert wrote:
               | I've heard all the excuses.
               | 
               | None of it changes the fact that Wayland was either
               | intentionally or unintentionally designed to exclude
               | extremely common software use cases, or worse, to make
               | those use cases someone else's problem (e.g. screen
               | sharing), thereby creating fragmentation in the ecosystem
               | due to a lack of standardization.
               | 
               | After all, it's pretty rich to blame Gnome or KDE for
               | "[deciding] to do something different" when Wayland was
               | very deliberately designed to offer no standard for how
               | to do the thing in the first place.
               | 
               | I'd actually prefer it was unintentional, as that would
               | imply simple oversight. If it was intentional, that
               | implies deliberately bad design choices that have gotten
               | us to the semi-broken place we are right now; a place
               | we're only finally getting out of as other people (e.g.
               | the PipeWire folks) step in to cover up the spike-filled
               | holes that Wayland has left behind.
        
               | taway098123 wrote:
               | These aren't excuses, there are no other parties at play
               | here. Weston was the first implementation. GNOME and KDE
               | were the next implementations. They could have chosen to
               | copy Weston's implementation, thus making those parts
               | "standard" but they didn't. That's the way it played out.
               | The way you're talking about it makes it sound like there
               | was some outside force designing Wayland and convincing
               | the other designers to exclude screen sharing, when it
               | wasn't like that at all. You also seem to be suggesting
               | that they could have designed everything in hindsight
               | perfectly before the implementations even existed, I hope
               | I don't need to point out why it doesn't work like that.
               | 
               | You're also talking as if Pipewire is some outside thing
               | that was developed in reaction to Wayland, when as far as
               | I know, the plan with those implementations was always to
               | delegate some tasks to Pipewire. The fragmentation here
               | is because it's taken a lot of effort to redesign these
               | core components. Ideally this would all be done already,
               | but it takes time.
        
               | CarelessExpert wrote:
               | > You're also talking as if Pipewire is some outside
               | thing that was developed in reaction to Wayland, when as
               | far as I know, the plan with those implementations was
               | always to delegate some tasks to Pipewire.
               | 
               | Given that Wayland was first released in 2008 and the
               | first commit to the PipeWire project was in 2015, I'm
               | quite confident at this point that you're rewriting
               | history to support your position.
        
               | taway098123 wrote:
               | You misunderstand, it was only Weston that was started in
               | 2008, and it had screenshots back then. I'm talking about
               | those other implementations, they didn't really stabilize
               | and start aiming to have feature parity until a few years
               | ago, and they decided not to copy Weston's screenshooting
               | mechanism.
        
               | CarelessExpert wrote:
               | Weston being the reference implementation for the
               | protocol, my point stands and you're now picking nits.
        
               | taway098123 wrote:
               | I don't see how I am, and I don't understand your point.
               | The reference implementation had screenshots. The other
               | implementors decided not to copy that and did their own
               | thing. What more could the Weston developers have done?
               | They can't force the other implementations to write code
               | that they weren't interested in writing.
        
               | CarelessExpert wrote:
               | Actually standardize the protocol and make the feature
               | part of the spec instead of delegating the implementation
               | to compositor extensions and effectively giving everyone
               | permissions to do their own thing.
               | 
               | As they should've done with the many other features that
               | are missing from the base protocol because some designer
               | somewhere decided it was "beyond the scope of the
               | project".
               | 
               | We even have a pattern for this in the way HTML5 was
               | developed.
               | 
               | I swear, it's like the Wayland folks were absolutely
               | hell-bent on repeating the mistakes of the browser world
               | circa 2000. The only question, now, is which project will
               | end up the IE5 of the Wayland compositor world...
        
               | taway098123 wrote:
               | Any implementor always has permission to do their own
               | thing, that's the point of making a second
               | implementation. Putting something in a spec somewhere
               | doesn't make it mandatory or guarantee it will be
               | implemented. They could have put the weston screenshoot
               | protocol that was created in 2008 in the spec, but they
               | didn't do it, probably because the other implementors
               | said it wasn't good enough and they didn't want to
               | implement it. So what more could they have done? The
               | mailing lists around that time had a lot of suggestions
               | that went nowhere. Trying to put pressure on open source
               | developers to implement something they don't want to do
               | doesn't work, unless you are their boss paying them a
               | salary.
               | 
               | I'm being serious here, I legitimately don't understand
               | what you're pointing out. Yeah I too wish everything I
               | was planning on 13 years ago turned out perfectly, things
               | don't work like that though. And if you ask me, the thing
               | that's most comparable to IE5 is the Xorg server.
        
               | CarelessExpert wrote:
               | > Putting something in a spec somewhere doesn't make it
               | mandatory or guarantee it will be implemented. They could
               | have put the weston screenshoot protocol that was created
               | in 2008 in the spec, but they didn't do it, probably
               | because the other implementors said it wasn't good enough
               | and they didn't want to implement it.
               | 
               | Amazing how nothing is ever the fault of the people
               | leading the Wayland project.
               | 
               | > Any implementor always has permission to do their own
               | thing, that's the point of making a second
               | implementation. Putting something in a spec somewhere
               | doesn't make it mandatory or guarantee it will be
               | implemented.
               | 
               | Ahh, now I've got it!
               | 
               | So what you're saying is that, in essence, since your
               | claim is no one follows it, one must conclude that in
               | fact there is no spec!
               | 
               | And given that everyone I've come across who's involved
               | with Wayland has said "Wayland is just a protocol", and
               | given protocols are defined by specs, if the spec doesn't
               | exist, then neither does Wayland!
               | 
               | Neo would be proud.
               | 
               | > I'm being serious here, I legitimately don't understand
               | what you're pointing out.
               | 
               | I can't think of anything that more succinctly describes
               | what's wrong with how Wayland has been developed over the
               | last 13 years.
               | 
               | Well, except there is no spec, so I guess nothing was
               | developed at all? I dunno...
        
               | taway098123 wrote:
               | I mean, no, it's not the fault of Weston developers that
               | other implementors decided do their own thing. I asked
               | this before but what could they have done? Putting tons
               | and tons of things in the spec wouldn't really have fixed
               | the real problem, which is that the way they wanted
               | things didn't exist at that time, and the only way
               | forward for them was to write their own implementation.
               | The spec is only meaningful if you can get other people
               | to promise to implement it in the way it's supposed to be
               | implemented. It's true that Wayland is just a protocol
               | but that protocol is also defined significantly by its
               | implementations.
               | 
               | >I can't think of anything that more succinctly
               | illustrates what's wrong with how Wayland has been
               | developed over the last 13 years.
               | 
               | I don't understand why and I wish you wouldn't do this,
               | this is leaning into flame war territory. If you can
               | explain your point to me in a way I understand, then I'm
               | ready to listen.
        
               | johnday wrote:
               | > It's true that Wayland is just a protocol but that
               | protocol is also defined significantly by its
               | implementations.
               | 
               | A protocol should never, never, _ever_ be defined in any
               | way by its implementations. The entire purpose of a
               | protocol is to abstract away the common interface such
               | that it is entirely implementation-agnostic.
               | 
               | Indeed, you might say that a protocol prescribes exactly
               | the intersection of all implementations.
        
               | taway098123 wrote:
               | >a protocol prescribes exactly the intersection of all
               | implementations.
               | 
               | That's a better way to put it and that's more what I was
               | getting at.
        
               | CarelessExpert wrote:
               | > The spec is only meaningful if you can get other people
               | to promise to implement it in the way it's supposed to be
               | implemented.
               | 
               | The _entire point_ of a spec is to help drive
               | interoperable implementations. If that 's not the goal,
               | then it has no purpose and it might as well not exist.
               | 
               | The core of Wayland is supposedly a standardized protocol
               | and these various projects seemed to do just fine
               | implementing against that core spec. There's a reason I
               | can run a Qt Wayland app on Mutter or vice versa.
               | 
               | Evolution and development of that spec _can_ be done in a
               | collaborative way that takes into account the various
               | needs of those projects, such that the standard can
               | evolve in a way that furthers the whole ecosystem.
               | 
               | That the Wayland folks instead throw up their hands and
               | just say "write a compositor extension" demonstrates
               | their unwillingness to do the _actual_ hard work of
               | building an ecosystem, which is creating consensus and
               | driving adoption of common features.
               | 
               | Is this hard?
               | 
               | Yes.
               | 
               | What they are doing _is_ hard, and it 's deeply naive
               | bordering on irresponsible to engage in a project of
               | rebuilding the entire display server ecosystem without
               | recognizing the need for coordination and diplomacy
               | across the open source world.
               | 
               | I look at the history of this and all I can think is that
               | this is a group of people who have failed to learn the
               | lessons of the past. Groups like the X11 and HTML5
               | standards bodies, the IETF, and so many more have
               | demonstrated how to build a consensus-oriented
               | specification that enables and encourages
               | interoperability. Yet, to hear you speak of this, that
               | must be a figment of my imagination because apparently
               | that's impossible.
        
               | taway098123 wrote:
               | Everything you're saying is... mostly what's been
               | happening? It's not impossible to have consensus. You're
               | missing my point which is that people were trying this
               | since 2008, and there just wasn't any consensus on this
               | particular feature until a few years ago. There's no
               | reason to put it in a spec if there's no consensus. It
               | turned out that the consensus was to not put this in a
               | Wayland protocol, and to do it somewhere else. So it
               | would have probably been a mistake if someone tried to
               | force this through before then.
               | 
               | If you ask me, people only notice this one because it
               | took a while to reach agreement. No one ever seems to pay
               | attention to all the other areas over the years where
               | there was consensus.
        
               | craftinator wrote:
               | So I can't log my own keystrokes on Wayland? Anti
               | feature.
        
               | taway098123 wrote:
               | If you have root access to your own system, or read
               | access to /dev/input, then it's trivial to deploy a
               | keylogger. No need for Wayland to get involved there. You
               | can't log keys through the Wayland socket because that
               | socket is intended to be accessible to sandboxed
               | programs.
        
               | michaelmrose wrote:
               | So to be clear you want such a program to be implemented
               | to be running as root in a way that the user can't
               | individually control its just another root daemon that
               | the user may or may not be aware of.
        
               | taway098123 wrote:
               | That's one way to do it, it's probably not the best way
               | but it would work if you were planning to sidestep
               | Wayland security completely. You could make it user
               | controllable with dbus and then make a GUI to talk to it.
        
           | donio wrote:
           | I dread the day when I will be forced to switch since there
           | is nothing like EXWM for Wayland and it's hard to see how
           | such a thing could be implemented.
           | 
           | I don't care for "smooth" or "every pixel is perfect" so to
           | me the trade-offs are all negative.
        
             | eikenberry wrote:
             | There are more traditional window manager type compositor,
             | you might be able to find something more to your tastes in
             | this list...
             | 
             | https://github.com/swaywm/wlroots/wiki/Projects-which-use-
             | wl...
             | 
             | As a happy Openbox user, I'm planning on trying Waybox
             | first I think. Waiting for the next Debian release though.
        
               | donio wrote:
               | EXWM does some special stuff though. It maps X11 windows
               | in a way that they appear to be Emacs buffers and are
               | managed as such. It also optionally captures certain
               | input from them so that Emacs sequences (for example
               | stuff prefixed by C-x) still work as usual. All this is
               | done in a very granular way to maintain the illusion. So
               | for example if I hit "b" after "C-x" or while the Emacs
               | minibuffer is active then it goes to Emacs but otherwise
               | it goes to the application. And generally it works very
               | well, I've been using it for many years.
               | 
               | To do this in Wayland I imagine we'd need to have Emacs
               | act as the compositor and that sounds a bit too crazy...
               | Or perhaps some kind of a proxy-compositor could be used
               | that could be fully driven by Emacs using an rpc
               | protocol. Is there such a thing out there?
        
           | ubercow13 wrote:
           | >Using Qt apps under Gnome on Wayland can break in weird ways
           | 
           | Same on sway. I think the relevant bug report is this [1] but
           | there is no traction and the patch doesn't really work. Qt5
           | is probably not going to receive any attention now too, so
           | I'm not holding my breath.
           | 
           | [1] https://bugreports.qt.io/browse/QTBUG-87303
        
           | soulofmischief wrote:
           | I run GNOME/Wayland on my host and do 100% of my computing
           | inside fully-virtualized VMs running xfce, an actually useful
           | desktop environment. In this way, GNOME 3 actually excels
           | because it's completely void of features and is thus mostly
           | invisible.
        
             | forgotpwd16 wrote:
             | Why do that rather just run Xfce?
        
             | jl6 wrote:
             | Out of interest are you doing this using Qubes? And why?
        
         | dijit wrote:
         | I understand this position, not wanting to be a first mover is
         | noble, but most of the complaints about "Linux Desktop" (hiDPI
         | screens for example) are solved with wayland, so ultimately I
         | prefer if we don't make the switch so painful. (python3 for
         | example).
        
       | dasb wrote:
       | Tangential: some say that Wayland has inherently higher latency
       | due to its design (because vsync is always on?)
       | 
       | Is that true?
        
       | solarkraft wrote:
       | Now we just have to wait ... for the actual driver. It's quite
       | interesting how this was validated and merged all without a
       | sample for testing.
       | 
       | Nvidia still have some way to go with their driver policy, but
       | them contributing in an attempt to become a normal citizen of the
       | Linux ecosystem is a sign that the "fuck you" days may finally be
       | coming to an end which, as the owner of a laptop with an Nvidia
       | chip, gives me a sense of relief.
       | 
       | As far as I know this is all still based on their non-standard
       | EGLstreams platform, but they are working on a Vulkan allocator
       | that supposedly fixes the issue and some contribution activity
       | indicates that they may finally support GBM, which would make
       | Nvidia cards "just work" without any special treatment, which I
       | would of course prefer.
        
         | devit wrote:
         | Actually EGLstream is the standard (albeit proposed by nVidia)
         | while gbm is an API specific to some Linux drivers.
        
           | solarkraft wrote:
           | EGLStreams may be popular in some areas, but _all_ other
           | graphics drivers support GBM.
        
             | my123 wrote:
             | On Linux.
             | 
             | EGLStreams is the actual Khronos standard
             | (https://www.khronos.org/egl) as such existing on Windows,
             | QNX and others.
        
               | kllrnohj wrote:
               | Being a Khronos standard doesn't mean it exists anywhere.
               | 
               | EGLStreams doesn't exist on Windows, as Windows doesn't
               | have any EGL at all. Similarly while EGL is used on
               | Android, Android doesn't support EGLStreams and probably
               | won't as the functionality already exists & EGL is on the
               | way out long-term as Vulkan adoption picks up.
               | 
               | With all that said, EGLStreams is probably also not going
               | to get adoption on most platforms as it's pretty terrible
               | & inferior to what most platforms already have. Which is,
               | on most platforms you can work directly with buffers
               | instead of being forced into a specific point to point
               | pipe (Android's HardwareBuffe or iOS/Mac's CVPixelBuffer)
        
               | my123 wrote:
               | At least Windows has EGL incl streams for some scenarios
               | (related to WSL's graphics stack mainly).
               | 
               | On more embedded scenarios that I've worked on (Qt w/
               | EGLFS), it's quite popular too.
        
       | igravious wrote:
       | When would this filter through to distros?
        
         | solarkraft wrote:
         | The next major XWayland release will likely be in about half a
         | year, but they're considering putting it into a point release.
         | 
         | The most likely answer is next version or the one after that
         | depending on how they'll do the release (Ubuntu just released
         | so there are a few months available for the next version in
         | their 6 months schedule, it'll definitely be in the next LTS).
         | 
         | Source:
         | https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests...
        
       | AndrewUnmuted wrote:
       | This is a very interesting development for those of us in the
       | CUDA space who work on Linux!
       | 
       | I had thought Wayland was not ever likely to be supported by
       | nVidia, but something clearly has changed.
        
         | mrweasel wrote:
         | Couldn't you use the Nvidia card for CUDA and just have an AMD
         | card for the display. It's a little dumb having two graphics
         | cards, you need a spare PCI slot and graphics cards are
         | expensive (but you could just get a cheap old and used card, if
         | it's just for your desktop environment).
         | 
         | I'm asking because it seems like no one relying on Nvidia card
         | for number crushing and who want Wayland seem to have opted to
         | just get a second card.
        
           | Y_Y wrote:
           | The top CUDA cards don't even do display. Anyway tons of CPUs
           | have a good-enough on-die GPU that you can use for display in
           | a pinch.
        
             | michaelmrose wrote:
             | In a pinch if you only want one display.
        
         | michaelmrose wrote:
         | Nvidia has a difference in how they implement their driver that
         | would have required a number of players to each implement
         | support for NVIDIA separately from other hardware because
         | NVIDIA wants to directly use a lot of code it uses on other
         | platforms on Linux.
         | 
         | Unfortunately due to the misdesign of Wayland each graphical
         | environment must write code to more directly interface with
         | hardware instead of that being a layer above that. This means
         | in current context it is vastly easier if NVIDIA bends on this
         | issue however they also have the least incentive because most
         | of their money isn't earned on the Linux Desktop.
         | 
         | People seem to suppose that somehow hardware vendors owe Linux
         | users support and support in the fashion that would be
         | desirable as if somehow not supporting the standards that
         | others do is somehow wronging those developers and users but a
         | private company in fact doesn't owe said developers or users
         | ANY support of any kind.
        
         | nikodunk wrote:
         | Is what has changed maybe that XWayland has been refactored out
         | of core X, making it easier to support without dealing with the
         | huge X codebase? Or maybe it's been in the works for a while
         | and everything's just landing at once.
        
         | skhameneh wrote:
         | Support is inevitable, Wayland is staged to replaced X11, all
         | major distros have it in their roadmap (if not already default
         | on stable).
        
           | yjftsjthsd-h wrote:
           | Yep, totally inevitable; in just another 12 years it'll be
           | totally prod-ready ;)
        
           | nsajko wrote:
           | > Wayland is staged to replaced X11
           | 
           | Wayland can't possibly replace X11, it's got a fundamentally
           | different (I'd even say broken or even malicious) design. If
           | anything, some Wayland compositors may emerge as dominant
           | desktop environments, but this would be a dark day for power
           | users, if it would mean not being able to switch to an
           | actually friendly design, as currently offered by Xorg.
        
             | yokem55 wrote:
             | Then I encourage you to take up leadership to get some
             | development going on the bare metal xorg server. Odds are,
             | within a year or two, it will need serious patches to keep
             | working with up to date kernels, mesa, and nvidia drivers.
        
               | michaelmrose wrote:
               | The kernels policy is not to break userspace and RHEL 8
               | which still supports X is 2 years into a 10 year support
               | term.
               | 
               | Also nvidia still provides drivers for 18 year old
               | hardware for x under solaris
               | 
               | If you want the current version built this year for Linux
               | instead of the legacy version you will have to move up
               | 2010 hardware though.
               | 
               | I find it quite amusing that proponents of insert
               | technology here seem to come in 2 stripes.
               | 
               | A) Those who believe new thing is superior and think you
               | ought to try it
               | 
               | B) People smugly stating that you must move to new thing
               | because the other options are going away see wayland
               | systemd gnome.
               | 
               | It reminds me of a supervisor at a telecom support center
               | who gleefully explained that the new system would hang up
               | on people who kept mashing zero on the automated phone
               | menu that preceeded getting to a person to make you go
               | through it.
               | 
               | He didn't understand that people didn't want to use the
               | new automated process because in general such systems are
               | crappy and confusing.
        
               | zaxcellent wrote:
               | The kernel can choose to not support new hardware with
               | old interfaces. If the X11 can't interface with new
               | hardware, that's game over. No broken userspace
               | necessary.
        
               | michaelmrose wrote:
               | Choosing not to support said interfaces would be the
               | biggest breakage of userspace in 3 decades of Linux
               | history. Such a course of action is nowhere specified by
               | the people who would be responsible. As best I can see
               | you have constructed it from whole cloth from
               | suppositions that seem to be ill considered.
               | 
               | Edit: To be clear breaking user space is when a change
               | happens in the kernel level wherein software that used to
               | work no longer works because the public interface
               | presented differs. If you have evidence that this is
               | actually going to happen other than your own
               | misunderstandings please link it.
        
               | zaxcellent wrote:
               | There is a lot of detail about this in the kernel docs:
               | https://www.kernel.org/doc/html/latest/gpu/drm-
               | uapi.html#ope...
               | 
               | The gist of it is that breakage is OK if the userspace
               | isn't open-source and that new uAPIs come around every
               | few years due to the rapid pace development of GPUs.
               | 
               | I worked on Chrome OS graphics for years on and one of my
               | earliest projects was to bring DRM/KMS (then a newish
               | interface) to the Cirrus display card (an ancient card
               | that QEMU happens to emulate).
        
               | michaelmrose wrote:
               | Does it specifically mention the kernel breaking X? One
               | would think that would be the topic of discussion years
               | before anyone actually did it.
        
             | anhanhanh wrote:
             | Not sure what have I missed but how is X window system a
             | "friendly design"?
        
               | nsajko wrote:
               | Friendly compared to Wayland. X Windows offers _many_
               | features that the designers of Wayland decided to exclude
               | to keep their protocol simple, and for some security
               | theatre reasons. But this simplicity is deceptive, as it
               | means that implementing all the excluded features, and
               | deciding on relevant interfaces, is left to the Wayland
               | compositors. This is the reason  "Wayland" (or, more
               | correctly, Wayland compositors) still miss many important
               | features that are
               | 
               | * expected by users of X11, Windows, or Mac
               | 
               | * expected by power users
               | 
               | * needed by the visually impaired
               | 
               | And it is also the reason why the Wayland ecosystem is
               | destined for horrible fragmentation of interfaces,
               | features and implementations.
               | 
               | Another consequence is that the X11 model of having the
               | possibility of easily making a window manager to one's
               | liking is not possible with Wayland, as compositors are
               | monstrous beasts compared to window managers.
               | 
               | I also wrote about all this in some of my previous
               | comments, e.g. there was a large thread here:
               | https://news.ycombinator.com/item?id=24886074
               | 
               | EDIT: there's another perspective to this that I didn't
               | express very well, so here are some quotes from Arch BBS:
               | 
               | By user neosix:
               | 
               | > You can't send keystrokes, move mouse, move windows,
               | you can't even get active window. And all that because of
               | security?
               | 
               | > But guess what it's not safe walking down the street,
               | something can kill you, so let's just stay in the house
               | and never go out again :)
               | 
               | By user Trilby:
               | 
               | > While I place a very high value on security and well
               | designed software, the strategy of saying "you shouldn't
               | want to do that" is not a sane policy. Yet this has been
               | the approach of wayland from the start. Can you have a
               | system panel? No, you should not want to have one. Can
               | you have one client talk to another client? No, you
               | should not want to do this. Can you turn on your computer
               | and do anything even remotely productive with it? No, you
               | should not want to be productive: here, _watch a cat
               | video_.
               | 
               | Emphasis mine.
        
               | taway098123 wrote:
               | That's not a Wayland problem. The features you're asking
               | for are probably still there but they're implemented at a
               | different spot in the stack instead of trying to stuff
               | everything into the same protocol like in X11. This is
               | actually done to reduce fragmentation. Make a service its
               | own daemon with a dbus interface or something like that,
               | and then it can run the same on X or on any Wayland
               | compositor.
               | 
               | In my experience it's actually the simplicity of building
               | window managers in X11 that's misleading. It's easy to
               | get something up and running that lets you move windows
               | around, but to build a full desktop that does everything
               | you'd expect is a giant task, and X11 only really gets in
               | the way of that.
        
               | nsajko wrote:
               | > That's not a Wayland problem.
               | 
               | Exactly, "not a Wayland problem". That's the problem with
               | Wayland, nothing is a Wayland problem.
               | 
               | > Make a service its own daemon with a dbus interface or
               | something like that
               | 
               | I don't know if I should cry or laugh at this.
        
               | taway098123 wrote:
               | Not sure why you'd laugh or cry. Dbus is just an example.
               | You can use another mechanism to build another daemon, it
               | doesn't have to be built on anything in particular. I'm
               | just saying, if you expect that Wayland is going to solve
               | every problem you had with your desktop, you're setting
               | yourself up to be disappointed. It solves a few specific
               | problems. You can solve the other problems in ways that
               | reduce fragmentation, but you'll have to look in other
               | places.
        
               | nsajko wrote:
               | > solve the other problems in ways that reduce
               | fragmentation
               | 
               | > look in other places
               | 
               | There's a contradiction here. How do you expect to avoid
               | fragmentation if adding additional protocols alongside
               | Wayland is required? I mean, _obviously_ there won 't be
               | just one protocol. This idea is actually a common joke,
               | there's even an XKCD on the topic.
        
               | taway098123 wrote:
               | You misunderstand. In both situations, you're making a
               | new protocol. The only difference is you'd be making your
               | own thing instead of adding new packet types to Wayland.
               | And why add new packet types to Wayland if the thing
               | you're trying to do can be done outside the Wayland
               | socket? Best example is Pipewire and screensharing.
               | People ask for screensharing in Wayland but it makes a
               | lot more sense to have it in Pipewire because it can
               | handle all the other tasks related to video streaming
               | like format negotiation and compression. It works
               | headless and independent of any compositor, the fact that
               | it can also be used to do screensharing is a benefit of
               | its design.
        
               | edflsafoiewq wrote:
               | It's certainly much friendlier to write programs for.
        
       | WesolyKubeczek wrote:
       | This is all very sad.
       | 
       | One would think that A. D. 2021 a program implementing one
       | abstraction upon another abstraction wouldn't have to care about
       | the actual hardware it's running on.
       | 
       | But in the actual fact we have GUI programs containing quirks for
       | graphic chips, and userland programs deeply concerned with what
       | kind of filesystem they are writing to.
        
       | boudin wrote:
       | This new is actually a bigger step torward Wayland from Nvidia:
       | https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-G...
       | 
       | It seems that Nvidia finally is moving away from the GBM madness.
        
         | d33 wrote:
         | What's GBM?
        
           | boudin wrote:
           | It's the buffer management part of wayland. Nvidia never
           | implemented it and pushed for egl streams instead. This means
           | that compositor have to implement two paths, gbm (wayland),
           | egl stream (nvidia propriatory only).
        
           | josefx wrote:
           | Apparently a Mesa driver API for buffer management.
        
         | zaxcellent wrote:
         | That link seems to imply they embracing GBM by implementing a
         | backend for it.
        
           | boudin wrote:
           | You're absolutely right, got confused between egl stream and
           | gbm
        
       | 2OEH8eoCRo0 wrote:
       | Already on Phoronix:
       | 
       | https://www.phoronix.com/scan.php?page=news_item&px=Xserver-...
        
       ___________________________________________________________________
       (page generated 2021-04-09 23:00 UTC)