{"id":59645,"date":"2023-12-04T10:26:08","date_gmt":"2023-12-04T15:26:08","guid":{"rendered":"https:\/\/pappp.net\/?p=59645"},"modified":"2023-12-04T13:14:57","modified_gmt":"2023-12-04T18:14:57","slug":"plasma-wayland-today","status":"publish","type":"post","link":"https:\/\/pappp.net\/?p=59645","title":{"rendered":"Plasma Wayland Today"},"content":{"rendered":"\n<p>I was having Vulkan\/Wine interaction issues when I had a minute to play a game the other night and flipped my big laptop (which has Intel\/AMD Polaris12 dual graphics, both running the Mesa stack since AMD dropped Polaris support in amdvlk in the 2023.Q4 release) into a Plasma Wayland session (v5.27) to see if it helped. It did  &#8211; making it the very first thing I&#8217;ve encountered that worked in Wayland and not X &#8211; so I&#8217;m rolling with the Plasma Wayland session for a couple days to see how things are. I have a little machine I&#8217;ve been playing with Hyprland on to check out the Wayland situation, and it&#8217;s been closing from &#8220;Linux 20 years ago&#8221; to &#8220;Linux 5 years ago&#8221; in terms of brokenness, so it seems plausible that one of the big two would be tolerable now.<\/p>\n\n\n\n<p>I&#8217;m totally onboard that xf86-&gt;xorg is an unmaintainable mess for both legacy-codebase and design from a different era reasons, and it would be nice to start with something built on assumptions that match modern reality, but uh\u2026 over a decade in, Wayland is just getting to be less of a &#8220;<em>almost<\/em> a tech demo&#8221; and more of an &#8220;almost there.&#8221; If the devs can shut up about some bikeshedding that obstructs common use cases now over concerns about theoretical security issues or compatibility with yet-unimagined future interface models and implement widely-accepted solutions to the last few basic-fucking-features, it might actually matter before it too starts to exhibit wrong ancient assumptions and gets replaced, but it looks like they&#8217;ve missed the bus on a couple of those necessary standardizations.<\/p>\n\n\n\n<p>Things I use regularly that are currently broken in KDE&#8217;s Plasma Wayland session in Nov. 2023:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The mere fact that I have to specify it&#8217;s a KDE Plasma session for all these details because every compositor is having to reinvent a bunch of wheels in differently-broken ways &#8211; input plumbing, session management, etc. They could have at least spun some reference libraries and treated anyone who didn&#8217;t use them when building desktop-like interfaces as a second class citizen to paper over the necessary parts to build a desktop they didn&#8217;t want in the core protocol (and for some of them someone else did it; see PipeWire). Wayland&#8217;s entire development process is built around former X devs being exceptionally gunshy about maintenance and attempting to avoid having any meaningful implementation under their auspices, and it&#8217;s causing a lot of goofy decisions.  wlroots was too little too late.<\/li>\n\n\n\n<li>KeepassXC can&#8217;t do its autotype into last active window thing.\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/keepassxreboot\/keepassxc\/issues\/2281\">Relevant Bug<\/a><\/li>\n\n\n\n<li>Because Wayland completely abdicated on input plumbing and programmatic window selection. It even sort-of works between xwayland windows because X is a feature-complete desktop protocol and Wayland isn&#8217;t.<\/li>\n\n\n\n<li>I use this ALL THE TIME and it drives me CRAZY.  Browser extensions are not a comparable solution, I auto-type credentials into all kinds of windows. <\/li>\n\n\n\n<li>They <em>finally<\/em> accepted <a href=\"https:\/\/gitlab.freedesktop.org\/wayland\/wayland-protocols\/-\/merge_requests\/187\">ext-foreign-toplevel-list<\/a> so the plumbing for window selection is theoretically there\u2026 but I don&#8217;t think any compositors implement it yet.<\/li>\n\n\n\n<li>The pipe-input-to-a-specifc-window shit is still being bikeshedded over mostly-irrelevant security concerns. Maybe <em>maybe<\/em> the ever-contended global hotkeys stuff in xdg-destop-portal will make it possible, but since every compositor has sprung a bespoke portal variant, even that may not comprise a global solution, and it&#8217;s not entirely clear it&#8217;ll work for piping arbitrary strings anyway.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Everything restores to a random virtual desktop, if it restores at all.\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/bugs.kde.org\/show_bug.cgi?id=436318\">KDE Bug for sessionrestore<\/a> and also <a href=\"https:\/\/bugs.kde.org\/show_bug.cgi?id=468252\">xwayland session restore<\/a><\/li>\n\n\n\n<li>I think only the xwayland windows are restoring because, refrain, X11+extensions is actually a complete desktop protocol and Wayland still isn&#8217;t.<\/li>\n\n\n\n<li>There&#8217;s no generic solution, and gnome spun their own internal bullshit which seems to be further sandbagging a general solution.<\/li>\n\n\n\n<li>KDE is thus also spinning their own internal bullshit, so everything will be broken forever.<\/li>\n\n\n\n<li>This is like basic 90s shit being fundamentally bobbled.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Firefox PiP windows\n<ul class=\"wp-block-list\">\n<li>The wayland devs are still <a href=\"https:\/\/gitlab.freedesktop.org\/wayland\/wayland-protocols\/-\/merge_requests\/132\">busy insisting the use case supported on every major windowing system including the coercive prisons like iOS and Android for years is wrong<\/a><\/li>\n\n\n\n<li>They might be right that it shouldn&#8217;t be a specific feature, there should probably be more layers exposed than there are in general. The <a href=\"https:\/\/bugs.kde.org\/show_bug.cgi?id=476080\">interaction of always-on-top and things like trays and bars is also janky<\/a> I just don&#8217;t run into it quite as often.<\/li>\n\n\n\n<li>Ed: &#8230;and sometimes it now not only works but shows the control I was having trouble with in the next point when right clicked.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The &#8220;Move to Screen&#8221; context menu item in the task switcher seems to have vanished? I can still do &#8220;Move&#8221; and scoot a program to the desired monitor and it seems to snap correctly, but sometimes fullscreen windows relocated that way jump back to the first display.  Apparently it has <a href=\"https:\/\/bugs.kde.org\/show_bug.cgi?id=383192\">never been available from the task manager<\/a>, only the title bar right-click menu and my memory is faulty. <\/li>\n\n\n\n<li>I don&#8217;t know if it&#8217;s Wayland related, but baloo has started acting up again. I&#8217;m regularly seeing baloo_file_extractor eating a whole core when it hits things like openembedded trees. It&#8217;s possible I just disabled it in my saved X session and it&#8217;s being started again because the session management carryover between X and Wayland Plasma sessions is half-working.<\/li>\n<\/ul>\n\n\n\n<p>The whole situation is silly. It&#8217;s a gigantic shell-game of trying to outsource the solutions to problems <em>everyone already knew needed to be solved consistently<\/em> because the ICCM and EWMH stuff for X represented decades of effort to do so, by the people best situated to actually solve the problems at the time when they could be solved in a general way. <\/p>\n\n\n\n<p>I sometimes get the feeling reading the bug trackers that many of the Wayland people are building a display layer suitable for infotainment systems, kiosks, signage, and that sort of thing, and desktop functionality is an unfortunate extra thing some people are trying to force on them &#8211; which, financially, may be the case. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was having Vulkan\/Wine interaction issues when I had a minute to play a game the other night and flipped my big laptop (which has Intel\/AMD Polaris12 dual graphics, both running the Mesa stack since AMD dropped Polaris support in &hellip; <a href=\"https:\/\/pappp.net\/?p=59645\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,1],"tags":[],"class_list":["post-59645","post","type-post","status-publish","format-standard","hentry","category-computers","category-general"],"_links":{"self":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/59645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=59645"}],"version-history":[{"count":0,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/59645\/revisions"}],"wp:attachment":[{"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=59645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=59645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=59645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}