Lubuntu Development Newsletter #9
I wonder when Debian, SuSE, et al will do this too.<p>XWayland will probably still sit around for a very long time even beyond that point though. Time will tell how hilariously it gets integrated.<p>I&#x27;m especially glad the video driver situation means X will hang around for a long time. I&#x27;m currently learning the X wire protocol and what I find the nicest about it is its eminent <i>hackability</i>.<p>Wayland, on the other hand, is just a compositor. Seems comparatively boring, from the perspective I have (as an outsider who has dubiously picked through some poorly written documentation that doesn&#x27;t inspire much confidence). Compositing chews more (system!) RAM, too; an X client doesn&#x27;t need to allocate any memory of its own, only the X server holds the actual image of the window in memory (GPU memory obviously, and if you&#x27;re using compositing, main memory as well).<p>Yes, X has a thousand bugs. Yes, it would fall down a hundred times a second if it were actually possible to feed it into afl. Yes, I had it deadlock on my laptop (when running a program through xtruss and xterm tried to print too fast). Yes, I&#x27;m still yet to enable XF86Ungrab (introduced in 2010: <a href="https:&#x2F;&#x2F;cgit.freedesktop.org&#x2F;xorg&#x2F;xserver&#x2F;commit&#x2F;?id=7d2543a3cb3089241982ce4f8984fd723d5312a1" rel="nofollow">https:&#x2F;&#x2F;cgit.freedesktop.org&#x2F;xorg&#x2F;xserver&#x2F;commit&#x2F;?id=7d2543a...</a>) so I can fix broken grabs (at least the most recent one that happened this morning - when NFS momentarily timed-out <i>right bang in the middle</i> of me clicking in a menu bar and the menu [window] actually opening).<p>Yes, XKB needed an XKB2, and then XI, and then XI2, because nobody thought we would need more than 256 individual input buttons (mice sometimes eat 30 keys from X&#x27;s perspective...). DRI needed a DRI2 and then DRI3. Yes, Xinerama is actually named PanoramiX and not even used anymore thanks to RandR 1.2 (&quot;RandR 1.2 enabled, ignore the following RandR disabled message.&quot; ... &quot;RandR disabled&quot;). And that&#x27;s not even mentioning XFIXES and XC-MISC...<p>About 4-5 days after starting on poking the X protocol specification for the first time, I crashed into <a href="https:&#x2F;&#x2F;bugs.freedesktop.org&#x2F;show_bug.cgi?id=107568" rel="nofollow">https:&#x2F;&#x2F;bugs.freedesktop.org&#x2F;show_bug.cgi?id=107568</a>, which was highly amusing. I think that&#x27;s been in there for 27 years. Not sure whether to call it a leaky abstraction or a case of &quot;someone forgot their mechanism-over-policy hat that day&quot;, or both. But anyway. Not a critical bug, but a good illustration of poorly thought through design and implementation.<p>I&#x27;m sad to see X die. Not from the it&#x27;s-so-terrible standpoint; from that view, sure, yeah. But nostalgically speaking, it&#x27;s older than I am :) and I guess it&#x27;s sad to see things move on after having existed the way they are for so long (it&#x27;s {h,cl}ung on for 30 years).<p>I know, I know, it&#x27;ll exist as a legacy component for the next 20 years. But that isn&#x27;t the same as &quot;nobody uses Perl but it&#x27;s always installed anyway because some random init-time thing might call it.&quot; You can&#x27;t just &quot;call X&quot;. Having X floating around in the form of Xwayland is very similar to XQuartz; as a legacy component, I can see a status quo developing where the integration is subpar, but the situation isn&#x27;t annoying enough for the people with the &quot;social commit bits&quot; to be insufficiently annoyed to fix it. Hopefully the integration is well-designed and keeps up with the times, at least on 2D screens with keyboards and mice.<p>I wonder where Wayland will be in 15 years.<p>Same for X. It&#x27;ll be interesting.<p>As an OS evaluator, I just wish Linux would <i>stay still</i>. Design things properly the first time (and actually put the time and effort in)! Hopefully Wayland doesn&#x27;t have to change anything major for at least 20 years. (Why do I cynically expect it to have a tangle of circular dependencies on systemd and dbus within 10. :&#x2F;)<p>As a power user&#x2F;sysadmin, I am _not_ looking forward to having to fuss around with Wayland and get it working. (I mean working _properly_.)<p>As an end user, I hope I don&#x27;t actually have to put my sysadmin hat on at all.<p>As an inveterate tinkerer who likes hacking things in the true sense (finding interesting ways to reuse things :D), I&#x27;m sad because X is fun to figure out. (Try it.)<p>From the perspective of a UX designer who likes building efficient integrated software, I have to sadly reiterate a comment I made 2 years ago (before I accidentally locked &#x27;i336_): <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13334053" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13334053</a><p>&gt; <i>I&#x27;m really sad X11 is legacy software myself, as an aside. It&#x27;s a disaster, sure, but now we have one more layer of &quot;uhhhh...&quot; for all the UX-types to get scared away by: it used to be &quot;(WinAPI) vs ((Qt)&#x2F;(GTK+)&#x2F;(Xlib&#x2F;XCB))&quot;, which was embarrassing enough; now it&#x27;s &quot;(WinAPI) vs (X11((Qt)&#x2F;(GTK+)&#x2F;(Xlib&#x2F;XCB))&#x2F;Wayland((Qt)&#x2F;(GTK+)&#x2F;(???)))&quot; which is just plain annoying for low-level graphics hacker wannabes - I can make a WinAPI app in C that opens a window in a few KB, where as to do that in Linux now I HAVE to support XCB and also write my own tiny UI for Wayland.</i><p>I guess this is the major point of my tired rant: I wish I could wet-fish all of Linux and yell something along the lines of &quot;stop increasing the surface area developers must target!!!! Backward compatibility is not developer responsibility!!&quot;, but I can&#x27;t, because Linux is a bazaar, and everyone is too busy trying to compete for the most amount of responsibility they can elegantly juggle.