4 ms·
XCB was great for a while, but like so much else in the open-source ecosystem, people knocked it down and dragged it to the "good ^w acceptable ^w tolerable is
by cookiecaper 7y ago
XCB was great for a while, but like so much else in the open-source ecosystem, people knocked it down and dragged it to the "good ^w acceptable ^w tolerable is the enemy of perfect" camp, while political operatives gobbled up another decade in the interest of securing their employers' control over the platform.
AwesomeWM started as a tiling WM built for the new frontier, before xcb crumbled around it. After about four years with scant updates, the maintainer's statement that he didn't see a future for it with the community abandoning its central technology, and a precipitous increase in "I just want this dumb thing to build so I can use my computer" keyboard-smashing sessions, I switched back to KDE. These days, a Windows 10 VM with passthru'd sound, USB, and GPU is my primary workstation environment.
I hear Wayland will be ready for the big time any day now. Been hearing that for the last three years or so. Maybe we can have a Year of the Wayland Desktop before a Year of the Linux Desktop.
- jchw 7y agoI’m running Sway WM as my daily driver. Not really perfect but its very good. Very occasional stability issues aside it is far and away my best experience with Wayland. And as a bonus, the code is damn understandable, plain C. I don’t even usually write C and I think it’s nice.
- eXpl0it3r 7y agoWe tried to use XCB with a cross-platform windowing/input library, but very quickly we ran into a lot of small issues, where XCB was even less documented than Xlib, so you had to resort to reading the source code, or where functionality was just missing, so we had to fallback to Xlib. In the end we reverted the XCB changes and just went with Xlib again. It's a pain, but at least you can make it do anything you need to and it's somewhat documented or enough knowledge aggregated over time.
- newnewpdro 7y agoXlib isn't just somewhat documented, it's exceptionally well documented. I'm no fan of X, but the books documenting it were from an era when the UNIX industry was flush with cash and printed technical writing was at its peak. It pains me to flip through my volumes of printed O'Reilly X books, knowing how much time and care was put into documentation for such a technical abomination. https://www.oreilly.com/library/view/xlib-reference-manual/9780937175262/ https://www.oreilly.com/library/view/xlib-reference-manual/9...
- DonHopkins 7y agoSun's OpenWindows documentation had a man page for every OPEN LOOK cursor! How you'd figure out the name of the cursor you see on the screen to look it up in the manual, I have no idea.
- Athas 7y agoI used Wayland with GNOME on my X250 laptop around 2016-2017. It worked indistinguishably from X11, including automatically connecting to external displays. Now I use Wayland with sway on my home desktop with a 5k display, and it also works fine. The only exception is the odd X11 program that must run through xwayland, where the hiDPI scaling is by interpolation. This is fine for games (Steam runs!), but you wouldn't want to run a very text-heavy application. Fortunately, games are the only non-Wayland programs I run regularly. There are probably things Wayland don't do well - I seem to recall people complain about screen sharing - but for my needs, it Just Works and I never think about it.
- NhanH 7y agoDo you remember where I can find the statement of AwesomeWM's maintainer? I used to use it a couple of years ago and it was fairly great back then.
- cookiecaper 7y agoThank you for sending me on a trip down memory lane. :) Still can't believe that most of this stuff is from +/- 10 years ago. Getting old is weird. Julien Danjou, original awesomewm author, ruminates on the X11 saga and the resistance to XCB in [0], dated 2010-06-01. While that post expresses the bleak outlook for X11 and the Freedesktop project in general, it seems the real clincher about the freeze on awesomewm comes from a LWN article from November 2011 [1], which quotes Julien thus: "The missing parts are advanced stuff like new XInput and multi-touch support, but we were blocked by XCB for those, and users seem to be able to live without them. Now, since everyone seems really happy with the 3.4 branch, I think it's enough that we just keep maintaining it." Taken together, my interpretation at the time -- and I think the general community consensus -- was that the hours and days spent rebuilding cairo to enable the XCB backend and then rebuilding anything that depended on it, which was (is?) basically every substantial Gtk application, were not going to get any easier. Venturing into the comments on that article and seeing the links to issues with users pleading for distro packagers to enable XCB out of the box brings the old days flooding right back. [0] https://julien.danjou.info/thoughts-and-rambling-on-the-x-protocol https://julien.danjou.info/thoughts-and-rambling-on-the-x-pr... [1] https://lwn.net/Articles/467559/ https://lwn.net/Articles/467559/
- alxlaz 7y agoThe tech behind Wayland is pretty solid and reliable. I've been using it in embedded systems for at least four years now, and I've been somewhat late to the party. Whether it's going to take off on the desktop or not is a completely different matter :-). There's a lot more hardware there, with a lot more different requirements, and there are very few people still working full-time on Linux desktop technology. It doesn't help that the barrier of entry is pretty high. There's no documentation, a lot of the code is a moving target... it's pretty hard to get started with this thing when you're working in your free evenings.
- chousuke 7y agoI switched over from awesome to sway just a few days ago. With a bit of scripting and a Python tool that implements the screensaver inhibition dbus protocol, I have awesome-style per-monitor workspaces and swayidle won't kick in to lock my screen while I'm watching videos. I might have to implement it properly in C at some point though. I still prefer how awesome does layouting, but I can get over that. There are still a few rough edges, but if you can handle using a tiling WM, you can handle using sway. I think this time I won't have to go back to X.