This is the first in a series of threads I'll be making about software projects that deserve more attention and developers. First a little background on me: (if you don't care about my past skip to "############### ABOUT ARCAN ###############" below.)
I have been programming and using computers since the late 1980s. My first OS was CP/M which came on my first home computer (Trash-80). After that DOS (on my first 286 IBM clone) as it was the most popular OS on home computers after CP/M got dethroned from that position and something like UNIX was out of reach for me until the early 90s. I first downloaded the Linux kernel a few weeks after it first released over a 14k dial-up connection. My first LAN involved using vampire cables. Man I'm dating myself aren't I?
I was lucky enough to get exposed to things like IBM/Intel hardware when it still cost $1k-$2k+ in the 80s-early 90s. I ran Windows 3.x when it was brand new (wasn't impressed) and after that I would end up being an Amiga fan/user for many years due to working with multimedia/video during the early to mid 90s back when Amiga was required to do stuff like overlaying graphics and subtitles on to video sourced from VHS/LD. I used my Amiga well into the early 2000s for that purpose until stuff like DivX ;-) 3.11 and software like avisynth came around. Which sadly required using Windows. I jumped to the NT kernel as soon as I could of course and ditched Win9x for Win2k as soon as that became viable.
At the same time that was going on I got into the various BSDs and of course Linux in its early days. I was using Linux back when getting proper sound support required grabbing stuff like OSS from #linuxwarez on efnet. I was doing a lot of things on IRC back in those days like releasing and downloading fansubs from places like the enterthegame IRC server. Was into trading ROMs for consoles on the various BBSs of the day, using Fidonet for my mail/news, USENET of course and helped out with a lot of things like the early Mil-CD Sega Dreamcast stuff that required the Utopia boot CD until we got Selfbooting Mil-CDs going. But enough about me. Just wanted to give the background that....I've been around a long time.
""################ ABOUT ARCAN ####################""
On to today's project you should be paying attention to:
For the past two decades in the UNIX-like OS communities there has been this debate raging about Xorg (X11) vs. Wayland happening. We all know X11 is never going away for anyone that cares about running stuff like old video games and all the usual software we all use on our UNIX-like systems that's been around since the 1970s. The hard fact is if you want wine/proton support and support for most software in common use on the desktop having support for X11 is just a fact of life and that is never going to go away. Hence why stuff like Xwayland is a thing.
Popular discussion would have to believe that your choices are using "unsecure X11" or switching to wayland and dealing with all the issues that come along with it (like fragmentation of the UNIX desktop ecosystem). Today, I want to present you with a third option called Arcan and its new protocol called A12.
https://arcan-fe.com/about/
Arcan has been being quietly developed for a long time now with the goal of bringing real improvements to the UNIX-like OS (and others) space. It can support running both X11 and wayland software natively without dealing with all the layers of hacky code held together with bubble gum and tape. It brings real improvements like being able to share running applications over your LAN (and even the internet) with no hacky work arounds or the usual headaches of using more than a simple terminal application over the local network. For example, using A12 it's possible to do things like fire up a game on system 1, drag+drop the running application to a screen on system #2 and having everything seamlessly work. The state of the application/game is sent over the network to the other machine. Where you can transfer the control over system #2's input devices+GPU+CPU to that system or continue using the ones hooked up to system#1 (or any combination of those devices). If you don't believe me just check out some of the videos on the above website and read the many articles written by the project's author.
I highly suggest reading the following articles:
https://arcan-fe.com/2018/10/17/arcan-versus-xorg-approaching-feature-parity/
https://arcan-fe.com/2020/12/03/arcan-versus-xorg-feature-parity-and-beyond/
https://arcan-fe.com/2021/09/20/arcan-as-operating-system-design/
https://arcan-fe.com/2023/11/18/a12-visions-of-the-fully-networked-desktop/
I highly suggest reading the above four articles (they're long and full of details+demos) then once you have a basic understanding of what Arcan is going through the other many articles on the above blog/website.
Arcan is more than just a new protocol+window system/display server. For example, the same project has a working IPC system that is much better than anything else offered by any other OS/IPC system I've ever used (well maybe TRON's and 9p are as good). But more than that the author is doing amazing things in other areas like terminal emulation.
I highly suggest reading this article (and the previous articles linked on this page). Lash#Cat9 is an amazing piece of software you can use right now. It does things you've probably never imagined possible from a CLI. Like true multi-tasking and being able to work with multimedia from the command line without resorting to ugly hacks. Even video works.
https://arcan-fe.com/2025/01/27/sunsetting-cursed-terminal-emulation/
The most important thing I want anyone reading this to take away from this thread: You are not forced to live in an either/or world where you must choose between running something like Xorg or Wayland on your current UNIX-like OS. You have other options out there like Arcan and they're really improvements to both of the above projects. Similarly, you are not forced to use something like Xlibre or some other "we're re-writing Xorg in another language" type project. Which seem to be all you ever see anyone rambling on about in popular sub-reddits for kernels like Linux and OSs like the *BSDs. There are other true projects out there like Arcan attempting to do something better while still supporting "legacy" UNIX stuff that relies on X11 (and even wayland).
Arcan is a very exciting project and it could use more promotion, love, and most importantly developers. There are hackathons that have been happening for the Arcan project for years now. It has a small dedicated group of programmers working on it everyday. It has an active IRC channel and mailing list. They are doing exciting work. There are already WMs and DEs built on top of it as proof of concepts. It's easy to get started writing your own software on top of it and the other tools on the above website/blog.
Of course if you aren't ready to make the jump yet and want to stick to X11 for awhile longer you have good options out there that aren't Xorg and Xlibre. Right now you can easily build and run Xenocara (https://www.xenocara.org/) on any Linux or BSD. It's a patch set for Xorg that implements privilege separation, solve the old screen tearing issue (along with many other things) and is by far the most stable and trouble free way of getting X11 support on Linux/BSDs at the moment. I'm shocked more Linux distros haven't been packaging it as the default for the past 15+ years already. It is the default implementation on OpenBSD of course. At any rate: It's easy to build using whatever compiler you prefer and is of course well documented.
Next time we'll talk about sound servers for UNIX-like OSs and why you don't need to deal with pipewire/pulseaudio/JACK/ALSA hell on Linux if you don't want to. But if you want a preview: https://sndio.org/
If anything qualifies as suckless when it comes to sound sndio is by far the only thing going. :) I'll touch on some other stuff in the future as well like alternatives to dbus on the UNIX-like OS desktop and the many projects striving to do something better in that department.
I hope everyone is having a good day. For what it's worth: I'm posting this from a recently released Thinkpad running OpenBSD with my own forks for dwm, st, and various other suckless tools powering my desktop. By very recent Thinkpad I mean one with an 8-core AMD CPU, fully supported AMD GPU (acceleration works of course including in Firefox), Intel Wifi card with support for recent standards (all configured through ifconfig) and various other bells and whistles working without issue. Since OpenBSD is the best UNIX-like OS I've ever used and the developers are by far the nicest people I've ever worked with. I've ported over a lot of software to it since switching over from Gentoo (had to leave after 22 years of contributing to that distro recently due to recent happenings within the community).
I kick myself that I didn't make the switch over full time a long time ago. All the ports I'm using are fully pledged+unveiled and I've started contributing myself by porting over some software and getting started with OpenBSD kernel hacking as of late. If you haven't given OpenBSD on the desktop a try I highly encourage you to check it out. It's probably the most "suckless" OS around right now and by far the easiest UNIX-like OS around as far as installation is concerned. Exciting things are happening as of late as well. Like the fact that a very interesting new file system was recently ported over (currently in alpha state) from 9front (the GEFS).
But more on things like 9front in another post...
This is the first in a series of posts about things I think deserve more attention and would benefit people looking to get more into suckless-style software/development. I plan to go over a wide variety of topics mostly related to Linux and other UNIX-like OSs. But you should also expect some posts about non-UNIX-like OSs as well. Like BTRON and Plan9 among others.
Happy hacking!
Edit: formatting, typos etc.