[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)
 
web link (gitlab.freedesktop.org)
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)