logo

blog

My website can't be that messy, right? git clone https://hacktivis.me/git/blog.git
commit: fcfcff335b0f7738945186057c41a8928b45920d
parent be2507f80f5732e10810080f9794e5f459a34e0a
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sat, 11 Mar 2023 10:41:09 +0100

articles/Why I embraced Wayland: Migrate to Atom fragment

Diffstat:

Aarticles/Why I embraced Wayland.html102+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Darticles/Why I embraced Wayland.shtml15---------------
Tarticles/Why I embraced Wayland.xhtml0
Aarticles/Why I embraced Wayland.xml63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mconfig.ninja1+
Mfeed.atom11+----------
6 files changed, 167 insertions(+), 25 deletions(-)

diff --git a/articles/Why I embraced Wayland.html b/articles/Why I embraced Wayland.html @@ -0,0 +1,102 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en" lang="en"> + <head> + <meta charset="utf-8"/><link rel="stylesheet" type="text/css" href="/css/index.css?serial=2023020902"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="vcs-git" href="https://gitlab.com/lanodan/blog.git" title="gitlab"/><link rel="icon" type="text/css" href="/images/favicon.png?serial=2020111201"/><meta property="og:image" content="/images/avatar.png?serial=2020111201"/> + <title>Why I embraced Wayland - lanodan's cyber-home</title> + </head> + <body> + + <header>Sorry, I do not value($$$) your privacy. :^) — <a href="/privacy%20policy">Privacy Policy</a></header> + <nav><details open=""> + <summary>Links</summary> + <ul> + <li><a href="/home">Home</a></li> + <li><a href="/about">About</a></li> + <li><a href="/projects/">Software Projects</a></li> + <li><a href="/animelist">Anime List</a></li> + <li><a href="/mangalist">Manga List</a></li> + <li><a href="/bookmarks">Bookmarks</a></li> + <li><a href="/coding%20style">coding style</a></li> + <li><a href="/decreases%20of%20usability">Decreases of usability</a></li> + <li><a href="/software%20basic%20needs">Software basic requirements</a></li> + <li><a href="/recaptcha">Google ReCaptcha</a></li> + <li><a href="/git/">/git/</a></li> + <li><a href="/kopimi/">/kopimi/</a>: libre data</li> + <li><a href="/librism">Désintox’ / FOSS activism</a></li> + <li><a href="/notes/">/notes/</a></li> + <li><a href="/standards">standards</a>: opinions on them</li> + </ul> + <ul> + <li><a rel="alternate" type="application/atom+xml" href="https://hacktivis.me/feed.atom">Atom feed</a></li> + <li><a href="gemini://hacktivis.me/">gemini-space</a></li> + <li><a href="https://lanodan.eu/home">Resume</a></li> + </ul> + </details></nav> + + <article> + <div xml:lang="en" lang="en" class="h-entry"> +<a href="/articles/Why%20I%20embraced%20Wayland"><h1>Why I embraced Wayland</h1></a> +<p>Some of the folks that knew me from around 2014 know that I wasn't impressed with Wayland and really didn't see the point of it. X11 worked well enough for me and I didn't want to switch to something else, it felt like reinventing new stuff just for the sake of it to me (like systemd and pulseaudio; the fuck are those doing on freedesktop.org in the first place…). And I disagreed quite badly on it, sorry for folks related to wayland. Hopefully less and less folks will do this "politically conversative" opinion and actually wonder about the reasonings.</p> +<figure> + <img src="/images/Firefox%20overlaying%20st%20on%20my%20laptop.png"/> + <figcaption>Screenshot of firefox chunks ghosting over the terminal on my NVidia laptop running on XOrg</figcaption> +</figure> +<p>The motivation was because using X11/XOrg (specially with NVidia) gave me some years of: +<ul> + <li>applications like Firefox shitting all over the desktop at times, leaving ghosted areas;</li> + <li>all applications being able to send any and receive all keyboard+mouse input with no real solution against that (I know XTerm has some option to steal all keyboard input, didn't work for me);</li> + <li>non-orthogonality of input device settings; XOrg allows to have a different settings on each and would require managing hotplug events but XOrg tools (<code>setxkbmap(1)</code>, <code>xmodmap(1)</code>, …) are done for a display server that would support only one layout setting and manage events by itself</li> + <li>display configuration hell, I know how to use <code>xrandr(1)</code> for some arcane things now (including trashing the concept of VTs, thanks linux) but what a mess and of course no support for hotplugging (which is a mess unless you use a tiling window manager like XMonad);</li> + <li>normal applications being able to trash your setup (ie. multi-monitor to a single display at 640x480) and no restoring if they crash down or don't care;</li> + <li>applications often behaving weirdly when a tiling window manager resizes them automatically;</li> + <li>still having this software-gore bug where moving a window on top of another leaves some of it frames behind, I love having that bug after 2020 when it should have been fixed well before 2010;</li> + <li>some games window just disappearing a bit after initialization (spawns a blank window and immediately goes away), probably related to a missing quirk/extension but haven't found wtf was happening;</li> + <li><a href="https://www.jwz.org/xscreensaver/faq.html">An absolute horror for even just basic screen locking/saving</a>.</li> +</ul></p> +<p> + And that made me just done with X11 and it's design of being similar to a Unix where everyone is root… so basically not a Unix. <q>If you find yourself saying that X is the Unix way: What one thing is X doing and what is it doing well?</q><cite>Daniel Stone</cite><br/> + By the way, if you're that kind of people which is like "X11/Xorg never threw me a bug" you're likely just ignoring the elephant in the room in the first place or not seeing it as a bug (this is why I usually don't care about statements like "$thing just works for me" and "$thing never broke for me", there is high chances of it being delusional or clueless).<br/> + Plus with <em>actually informing myself about the wayland protocol design</em> rather than just seeing that you can rotate windows in weston (which is labelled a reference compositor but should be taken as a demo) and that GNOME is doing it's normal thing of trashing everything in it's way, specially good things <a href="https://www.jwz.org/doc/cadt.html">like an awful teenager</a>. +</p> +<p> + But at some point I gave <a href="https://swaywm.org">Sway</a> an honest try on my NoVidya-plagued laptop, the one where the screenshot at the begining of this article comes from and I actually ended up with less bugs, it was still a mess because of NVidia having trashed the proprietary driver so much that nouveau, an open-source garage-hacker alternative that they're unfriendly with worked better, you know the adage: Fuck You NVidia.<br/> + At least now that I replaced that badly aged laptop (Spectre/Meltdown was the final blow) with <a href="/articles/T495">a full-AMD one</a> (yay, no proprietary drivers), I don't have X11 kind of issues nor NoVidya kind of issues.<br/> + Oh and my phone already was using Wayland (in fact it doesn't have X11) since 2015~2016 as I switched to SailfishOS because Android is a system that loves to trash itself. I maybe just didn't knew or ignored that fact as it's not as desktop/laptop. Wayland works really well on it btw, and X11 never made sense to me on handhelds, which is yet another point for Wayland. +</p> +<p>All that said:<ul> + <li>I have yet to fully switch to wayland on my desktop, mostly because of quirky things like some games (they are really the worst…) and of course <abbr title="Virtual Reality">VR</abbr> is quite alpha but has the potential to work really well but so far the patches got a bit stuck. Launching Xorg for VR is good enough for now (but it's very unstable);</li> + <li>XWayland works well if I need to launch an X11 application, much better than stuff like Xephyr where it always failed with my keyboard layout;</li> + <li>I have done the quite crazy thing of throwing all of X11 (including things like <code>libX11.so</code>) out on my laptop, it means a lack of some applications and some weird shenanigans, like having to replace <code>libGL.so</code>(OpenGL linked with X11) with <code>libOpenGL.so</code>(window-system-agnostic) but sadly it's from <abbr title="GL Vendor-Neutral">GLVND</abbr> which has yet to appear on systems like FreeBSD so it's messy in some buildsystems. But overall it works pretty nicely;</li> + <li>I have yet to resume working on <a href="/git/inaban">inaban</a>, a quite psychorigid wayland compositor for controlling applications behavior (so quite the complete opoosite of X11);</li> + <li>I do not expect GNOME and related projects to actually do software/standards one can trully depend on, I'd much rather bet on one of their software having a critical bug than not having one;</li> + <li>I barely care for proprietary software;</li> + <li>Do not expect your NoVidya hardware to work well; NVidia® is almost hostile to Linux and they're the responsible ones; be careful on picking your hardware, everyone doesn't have to support your choices.</li> +</ul></p> +<h2>See More</h2> +<ol> + <li><a href="https://drewdevault.com/2019/02/10/Wayland-misconceptions-debunked.html">Wayland misconceptions debunked</a></li> + <li><a href="https://www.youtube.com/watch?v=HllUoT_WE7Y">"Write a single library to handle all input devices, it'll be easy" they said…</a> (46 minutes 53 seconds): Talk about a linux-induced burden but relates a bit to Wayland on Linux and FreeBSD</li> + <li><a href="https://www.youtube.com/watch?v=RIctzAQOe44">The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)</a> (45 minutes 34 seconds)</li> + <li><a href="https://github.com/swaywm/wlroots">wlroots</a>: Pluggable, composable, unopinionated modules for building a Wayland compositor; or about 50,000 lines of code you were going to write anyway.</li> + <li><a href="https://swaywm.org">sway</a>: i3-compatible (with few extras) Wayland Compositor</li> + <li><a href="https://git.sr.ht/~sircmpwn/wio">wio</a>: Wayland compositor for Linux &amp; FreeBSD which has a similar look &amp; feel to plan9's rio</li> + <li><a href="https://hikari.acmelabs.space/">hikari</a>: Wayland compositor inspired by CWM</li> + <li><a href="https://wayland-book.com/">Wayland Book</a> by Drew DeVault</li> +</ol> +<p>And yeah a lot of that list is linked to wlroots, feel free to pass on links from others, I know MATE is planning to switch to Wayland but it's still mostly for the future and I don't know how well wayland works in KDE (hopefully quite well).</p> +<p>Note: I usually read replies to my articles but I'm not going to bother if you're going to just throw the typical clueless wayland-hater bile one can see on internet. I will probably answer honest questions though. Hopefully that will save some people's energy and time.</p> +</div> + <p> + <a href="https://queer.hacktivis.me/objects/db4f70f5-7186-43ce-a350-e0e8d332bfb9" rel="replies external">Fediverse post for comments</a>, published on 2021-03-07T00:35:00Z, last updated on 2021-03-08T02:55:00Z + </p> + </article> + <footer> + <a href="http://endsoftpatents.org/innovating-without-patents"><img loading="lazy" src="/images/patent_free.png?serial=2020111201" alt="Patent Free"/></a> + <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img loading="lazy" alt="CC-BY-SA" src="/images/cc-by-sa.png?serial=2020111201"/></a> + <a href="/anybrowser"><img loading="lazy" src="/images/anybrowser.png?serial=2020111201" alt="Anybrowser campaign"/></a> + <a href="http://tstzmgqansvqfzr3qrkehszmlhjqbpqp7pwncrzr72ohyygrnbuu26qd.onion/">.onion</a> + <a href="/privacy%20policy">Privacy Policy</a>(2019-11-27) + This webthing agrees that <a href="https://simpleweb.iscute.ovh/">simple web is cute</a>~ ♥ + </footer> + </body> +</html> diff --git a/articles/Why I embraced Wayland.shtml b/articles/Why I embraced Wayland.shtml @@ -1,15 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> -<!--#include file="/templates/head.shtml" --> - <meta property="og:type" content="article"/> - <meta property="og:title" content="Why I embraced Wayland"/> - <title>Why I embraced Wayland — Cyber-home of lanodan</title> - </head> - <body> -<!--#include file="/templates/en/nav.shtml" --> -<!--#include file="/articles/Why I embraced Wayland.xhtml"--> - <a href="/articles/Why%20I%20embraced%20Wayland.xhtml">article only(plain XHTML)</a> -<!--#include file="/templates/en/footer.shtml" --> - </body> -</html> diff --git a/articles/Why I embraced Wayland.xhtml b/articles/Why I embraced Wayland.xhtml diff --git a/articles/Why I embraced Wayland.xml b/articles/Why I embraced Wayland.xml @@ -0,0 +1,63 @@ +<entry> +<title>Why I embraced Wayland</title> +<link rel="alternate" type="text/html" href="/articles/Why%20I%20embraced%20Wayland"/> +<id>https://hacktivis.me/articles/Why%20I%20embraced%20Wayland</id> +<published>2021-03-07T00:35:00Z</published> +<updated>2021-03-08T02:55:00Z</updated> +<link rel="external replies" type="application/activity+json" href="https://queer.hacktivis.me/objects/db4f70f5-7186-43ce-a350-e0e8d332bfb9" /> +<link rel="external replies" type="text/html" href="https://queer.hacktivis.me/objects/db4f70f5-7186-43ce-a350-e0e8d332bfb9" /> +<content type="xhtml"> +<div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-entry"> +<a href="/articles/Why%20I%20embraced%20Wayland"><h1>Why I embraced Wayland</h1></a> +<p>Some of the folks that knew me from around 2014 know that I wasn't impressed with Wayland and really didn't see the point of it. X11 worked well enough for me and I didn't want to switch to something else, it felt like reinventing new stuff just for the sake of it to me (like systemd and pulseaudio; the fuck are those doing on freedesktop.org in the first place…). And I disagreed quite badly on it, sorry for folks related to wayland. Hopefully less and less folks will do this "politically conversative" opinion and actually wonder about the reasonings.</p> +<figure> + <img src="/images/Firefox%20overlaying%20st%20on%20my%20laptop.png" /> + <figcaption>Screenshot of firefox chunks ghosting over the terminal on my NVidia laptop running on XOrg</figcaption> +</figure> +<p>The motivation was because using X11/XOrg (specially with NVidia) gave me some years of: +<ul> + <li>applications like Firefox shitting all over the desktop at times, leaving ghosted areas;</li> + <li>all applications being able to send any and receive all keyboard+mouse input with no real solution against that (I know XTerm has some option to steal all keyboard input, didn't work for me);</li> + <li>non-orthogonality of input device settings; XOrg allows to have a different settings on each and would require managing hotplug events but XOrg tools (<code>setxkbmap(1)</code>, <code>xmodmap(1)</code>, …) are done for a display server that would support only one layout setting and manage events by itself</li> + <li>display configuration hell, I know how to use <code>xrandr(1)</code> for some arcane things now (including trashing the concept of VTs, thanks linux) but what a mess and of course no support for hotplugging (which is a mess unless you use a tiling window manager like XMonad);</li> + <li>normal applications being able to trash your setup (ie. multi-monitor to a single display at 640x480) and no restoring if they crash down or don't care;</li> + <li>applications often behaving weirdly when a tiling window manager resizes them automatically;</li> + <li>still having this software-gore bug where moving a window on top of another leaves some of it frames behind, I love having that bug after 2020 when it should have been fixed well before 2010;</li> + <li>some games window just disappearing a bit after initialization (spawns a blank window and immediately goes away), probably related to a missing quirk/extension but haven't found wtf was happening;</li> + <li><a href="https://www.jwz.org/xscreensaver/faq.html">An absolute horror for even just basic screen locking/saving</a>.</li> +</ul></p> +<p> + And that made me just done with X11 and it's design of being similar to a Unix where everyone is root… so basically not a Unix. <q>If you find yourself saying that X is the Unix way: What one thing is X doing and what is it doing well?</q><cite>Daniel Stone</cite><br /> + By the way, if you're that kind of people which is like "X11/Xorg never threw me a bug" you're likely just ignoring the elephant in the room in the first place or not seeing it as a bug (this is why I usually don't care about statements like "$thing just works for me" and "$thing never broke for me", there is high chances of it being delusional or clueless).<br /> + Plus with <em>actually informing myself about the wayland protocol design</em> rather than just seeing that you can rotate windows in weston (which is labelled a reference compositor but should be taken as a demo) and that GNOME is doing it's normal thing of trashing everything in it's way, specially good things <a href="https://www.jwz.org/doc/cadt.html">like an awful teenager</a>. +</p> +<p> + But at some point I gave <a href="https://swaywm.org">Sway</a> an honest try on my NoVidya-plagued laptop, the one where the screenshot at the begining of this article comes from and I actually ended up with less bugs, it was still a mess because of NVidia having trashed the proprietary driver so much that nouveau, an open-source garage-hacker alternative that they're unfriendly with worked better, you know the adage: Fuck You NVidia.<br /> + At least now that I replaced that badly aged laptop (Spectre/Meltdown was the final blow) with <a href="/articles/T495">a full-AMD one</a> (yay, no proprietary drivers), I don't have X11 kind of issues nor NoVidya kind of issues.<br /> + Oh and my phone already was using Wayland (in fact it doesn't have X11) since 2015~2016 as I switched to SailfishOS because Android is a system that loves to trash itself. I maybe just didn't knew or ignored that fact as it's not as desktop/laptop. Wayland works really well on it btw, and X11 never made sense to me on handhelds, which is yet another point for Wayland. +</p> +<p>All that said:<ul> + <li>I have yet to fully switch to wayland on my desktop, mostly because of quirky things like some games (they are really the worst…) and of course <abbr title="Virtual Reality">VR</abbr> is quite alpha but has the potential to work really well but so far the patches got a bit stuck. Launching Xorg for VR is good enough for now (but it's very unstable);</li> + <li>XWayland works well if I need to launch an X11 application, much better than stuff like Xephyr where it always failed with my keyboard layout;</li> + <li>I have done the quite crazy thing of throwing all of X11 (including things like <code>libX11.so</code>) out on my laptop, it means a lack of some applications and some weird shenanigans, like having to replace <code>libGL.so</code>(OpenGL linked with X11) with <code>libOpenGL.so</code>(window-system-agnostic) but sadly it's from <abbr title="GL Vendor-Neutral">GLVND</abbr> which has yet to appear on systems like FreeBSD so it's messy in some buildsystems. But overall it works pretty nicely;</li> + <li>I have yet to resume working on <a href="/git/inaban">inaban</a>, a quite psychorigid wayland compositor for controlling applications behavior (so quite the complete opoosite of X11);</li> + <li>I do not expect GNOME and related projects to actually do software/standards one can trully depend on, I'd much rather bet on one of their software having a critical bug than not having one;</li> + <li>I barely care for proprietary software;</li> + <li>Do not expect your NoVidya hardware to work well; NVidia® is almost hostile to Linux and they're the responsible ones; be careful on picking your hardware, everyone doesn't have to support your choices.</li> +</ul></p> +<h2>See More</h2> +<ol> + <li><a href="https://drewdevault.com/2019/02/10/Wayland-misconceptions-debunked.html">Wayland misconceptions debunked</a></li> + <li><a href="https://www.youtube.com/watch?v=HllUoT_WE7Y">"Write a single library to handle all input devices, it'll be easy" they said…</a> (46 minutes 53 seconds): Talk about a linux-induced burden but relates a bit to Wayland on Linux and FreeBSD</li> + <li><a href="https://www.youtube.com/watch?v=RIctzAQOe44">The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)</a> (45 minutes 34 seconds)</li> + <li><a href="https://github.com/swaywm/wlroots">wlroots</a>: Pluggable, composable, unopinionated modules for building a Wayland compositor; or about 50,000 lines of code you were going to write anyway.</li> + <li><a href="https://swaywm.org">sway</a>: i3-compatible (with few extras) Wayland Compositor</li> + <li><a href="https://git.sr.ht/~sircmpwn/wio">wio</a>: Wayland compositor for Linux &amp; FreeBSD which has a similar look &amp; feel to plan9's rio</li> + <li><a href="https://hikari.acmelabs.space/">hikari</a>: Wayland compositor inspired by CWM</li> + <li><a href="https://wayland-book.com/">Wayland Book</a> by Drew DeVault</li> +</ol> +<p>And yeah a lot of that list is linked to wlroots, feel free to pass on links from others, I know MATE is planning to switch to Wayland but it's still mostly for the future and I don't know how well wayland works in KDE (hopefully quite well).</p> +<p>Note: I usually read replies to my articles but I'm not going to bother if you're going to just throw the typical clueless wayland-hater bile one can see on internet. I will probably answer honest questions though. Hopefully that will save some people's energy and time.</p> +</div> +</content> +</entry> diff --git a/config.ninja b/config.ninja @@ -9,3 +9,4 @@ build entry.xsl: xinclude entry.xsl.in | ./templates/head.xml ./templates/en/nav build bookmarks.xsl: xinclude bookmarks.xsl.in | ./templates/head.xml ./templates/en/nav.xsl ./templates/en/footer.shtml build bookmarks.html: xslt bookmarks.xsl bookmarks.xbel build articles/2022$ Summary.html: article entry.xsl articles/2022$ Summary.xml +build articles/Why$ I$ embraced$ Wayland.html: article entry.xsl articles/Why$ I$ embraced$ Wayland.xml diff --git a/feed.atom b/feed.atom @@ -67,16 +67,7 @@ </div></content> </entry> - <entry> - <title>Why I embraced Wayland</title> - <link rel="alternate" type="text/html" href="/articles/Why%20I%20embraced%20Wayland"/> - <id>https://hacktivis.me/articles/Why%20I%20embraced%20Wayland</id> - <published>2021-03-07T00:35:00Z</published> - <updated>2021-03-08T02:55:00Z</updated> - <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<!--#include file="/articles/Why I embraced Wayland.xhtml"--> - </div></content> - </entry> +<!--#include file="/articles/Why I embraced Wayland.xml"--> <entry> <title>real names</title>