My OpenBaSeD Experience with the Thinkpad X201, X200.

The title mentions X201 and X200, yeah I have both of them upon circumstances the X200 earlier because of checking out libreboot, but then I got bored of that stupid project and ended up just using me_cleaner and using the stock bios because sometimes the fucking custom bios fucks up some stuff that I dont want fucking up period... so I ended up with a X201 with not yet me_cleaner'd but I'm gonna get to doing that maybe after 6-8 months, for now I want a computer that works and not mess up my daily life... That's why just running on stock bios X201, ofc that's just bad news because of not having the security update for Intel and other microcode stuff blah blah blah, in any case I use a X201 now, not the X200, the X200 still works and I have it as a backup laptop in emergency cases (i am not sure what kinda though). I will write a full details flex for the X201 in a later blog test, for now lets get into the OpenBaSeD Experience.

Okay, first things first, this Operating System is not for beginners that's the first and foremost, no one in OpenBSD is a new computer user, and doesn't know their way around Unixy stuff. You are here because you are that experienced to understand OpenBSD workings. OpenBSD is a Unix-like distro, unlike Linux distros, and I can say any Linux distro, they are just not really in the Unix way of handling things from the kernel level. The Linux Kernel itself... it is a huge mess once you dig deeper and you want to be out of it to something more useful. Basically, when it comes to being an Operating System, Linux has more flexibility from the system to the userspace in terms of customisation, but it comes at the cost of productivity LMAO. Like stop customising your OS from the system level, like ugh what are you even doing? I mean I get the reason you wanna tailor your computer to be to your liking but... This is just quite pain in the ass line of work for no real world benefits.

When it comes to being OpenBSD, you have a already really minimal Operating System that is setup from the system to the userspace, while the userspace is customisable, the system space is something the developers tailored to get the minimal setup possible that's also productive as well. This is the OpenBSD base system. Normally you idle around 15-35 MiB of RAM (RES) on your boot. These are the main daemons included in base:

Like that's mostly all the things you might need, for the default X desktop you get FVWM and CWM in OpenBSD's base as the no-frills simple Window Manager for use, and a modified Xterm which some people just use and live by. Xterm is too bloated though as we know and I much rather prefer the customisation done hard-coded to the program rather than writing 100 lines of configuration.

Linux is when you realise it deeply, a hosh-posh Operating System, truly, it makes no fucking sense. Linux distros really make no fucking sense. Well here we start... First things in Linux, you have the kernel that supports a lot of hardware which makes a lot of hardware be capable of running Linux, sometimes hardware manufacturers support Linux and FOSS to get their hardware to work better on Linux so that the Linux users of the hardware can experience the hardware like the manufacturer intended. However, that really bloats the Linux kernel to real extreemes, like for supporting all the hardware in module count and amount of firmware, you end up with a complete bloated system that just works, because it has no hardware specifics, and is always inefficient for the machine. People will tell you to probably do a custom Kernel build and use it, so that is what you would do.

Let us like take a overview of what makes up an OS. On the very front of the hardware is the OS Kernel that provides a interface to the hardware which programs use to work with the hardware. The system space starts from the OS bootloader that lives in the HDD, then the bootloader starts the Kernel which initiates and enables or disables (or doesn't even give a fuck) the hardware that is allowed to be access (in the bios) then bringing up an init system that initiates daemons to start networking, power management, time sync, audio, and xserver. In Linux, all these stuff that's not the kernel is a fucking mess. Hey, yes, yeah you have choices but none of the choices on the list are good because of the Linux kernel API is fucked up itself. networking daemons exist, but your main choices would be eiwd and dhcpcd. Power management would be handled by... Linux? yeah... Audio? Oh noes, stepped on a fucking landmine, becuase you are not getting anything but ALSA, and ALSA is... pretty shit (the API I mean), It is the sole reason, Audio in Linux is harder than in OpenBSD, like you have alsa, jack, pipe, pulse, yada yada 100 more audio daemons and none work great, the one that barely works is the pipewire, in my experience, oh uhh no, are you using JUST pipewire? you aren't, no? Like get a reality check, you have jack, pulse, and every other shit installed just to get audio working normally, I swear. XServer is just X, but well you have Xenocara instead of X11, on Linux you have XLibre instead of the shitty X11, but ultimately both are good forks, no complains there.

Also, you have a greater flexibility in Linux to the point that you can choose what init system you prefer to use and all that. Ultimately as said this is a huge waste of time for no benefit, stick to the defaults of an already tailored OS probably not really for you, but if you think the OS as a tool, you know you need to work with it, instead of getting it to work like you do... meaning learn the damn OS you bufoon. That is what minimalistic OS like OpenBSD tailored to be as minimal and productive as possible, it is honestly insane amount of work for a crazy experience that outright makes OpenBSD the best Operating System of systems.

Now, the most important point of all, and probably the main reason you'd even use OpenBSD in the first place is security, OpenBSD's first and foremost priority in an operating system is outmost security, that's what you see when you go to their homepage and read what they talk about. This security stems from the Kernel all the way to the userspace. Linux will possibly never get people to care about the security in it, that is fucked up nature of FOSS, it is rather better to just maybe contribute to OpenBSD at this point. Hardware support in OpenBSD is not great. They do not go and find hardware to support without any reason to support them. Mostly, old hardware do work better with OpenBSD, but "old" as in a decade old, not like antiques like the X201 or the X200, because these are like EOL-EOL level shit no one cares about these hardware anymore kinda thing, but hey, it still works, and OpenBSD supports it, and that's what I wanted!

Efficiency is where OpenBSD kinda lacks, the 100 Hz static tick rate and the missing of important power management stuff that Linux has more support for said harwdare, but then again this should be handled by the EC not the OS. Modern hardware are really good at this but the "ancient" hardware like from the thinkpad x201 era are not in that era of efficient computing. Nowadays its basically ARM computers right now, or ARM laptops, because ARM as an arch is more efficient than x86 and it can perform same menial tasks with less power consumption, total win in fact. ARM came to be popular in the embedded world that took into the real world and scaling, but the main problem still is that ARM arch is not really widely supported for a lot of stuff and there is no huge take in it, otherwise I'd rather prefer getting a ARM cheap laptop (definitely used) and live on... maybe (or mod this thinkpad to get an ARM board inside it :P)

In Linux, most people use startx, but that's unsafe, startx, would set Xorg as root so it can utilize the hardware, but that gives X access to all kinds of stuff, and security wise, you dont want X to access anything other than what it should access to work, that is why in OpenBSD you use Xenodm which runs X as a dedicated _x11 user and only let it access what it necessary. X11 has a lot of exploits this mitigates a ton of them.

Audio is as I mentioned, the audio server system, or like the entire Linux sound system is a piece of shit. ALSA is a fucking mess of a API, then we have pulse, jack, pipe which doesn't work independantly... and the audio servers need to be ran as through a runtime fucking dir for the user, fuck this. and the way to control the audio system is with alsamixer or some other ctl system which isn't simple to use as well... theres multiple layers of compatibility and ultimately its a hosh-poshed up system that apparently works, oh well, just live on with it, 3+ daemons, bloated ass APIs and bloated ass audio servers.

sndiod, is a simpler audio system, that is in OpenBSD's base, and infact it's own sound server. This is a hardware based sound server that works with hardware, and lets the hardware handle the swtich between 3.5mm and the speaker on a system if they are the same hardware I mean. On a desktop it'd be no different because it be on the same IO, or well if not and there actually is multiple output IO, then you have to change that manually or with a keybind :P. I use a dedicated DAC myself, and I basically always live on ... server.device=1(ECHO MINI) ... and enjoy music myself, honestly sndioctl is the most simplest audio server you can possibly get in an operating system.

Another OpenBSD security trick is when you boot the operating system, the kernel in /bsd != the kernel loaded in memory, the mapping are different only because reorder_kernel relinks the kernel again to randomise the maps, this prevents someone from mapping the kernel in userspace and exploiting it.

OpenBSD's packaging system is also really interesting, its the idea that anything that's not in the OpenBSD base system is under the eye of OpenBSD so packages you install are not audited throughly by OpenBSD, but because the base system is that secure, the software package having an exploit would probably not make much of a difference. In all, there are not that much chances of software packaged in your mirror to ruin your system unless you mess up, yourself, somehow. All the packages in the OpenBSD are installed using pkg_add it includes all the packages that people use as third party software or ports, and there honestly is quite a lot of packages, as expected, and which arent in pkg_add probably is in the ports tree to compile yourself and use.

I started using OpenBSD myself with DWM, which is a window manager by the suckless people, and I customised it a bit to my liking of light themed which is good for my eyes. I have my own colorscheme which makes light mode super bearable, nice! I honestly like black on white and white on black its good for reading, its good for your eyes, and I have been using light mode for around over an year, yeah.

OpenBSD has amazing manpages, an amazing sysctl system instead of the sysfs probing in Linux, it is more simpler because sysctl go well with the Kernel where the sysctl in Linux doesn't really go well with the Kernel, some people find it better to probe things directly from sysfs. OpenBSD being an actual Operating System has a Handbook, and FAQ, and also manpages which actually answer your question instead of just spitting out whatever the fuck information which doesn't even matter, a real descriptive description first of all. For some, manpages are documentation of the program itself and that is something you want to make the description more verbosive and explanatory.

The rest of the things about OpenBSD's niceties, are something you will have to experience yourself :P try OpenBSD I'm sure you will not be dissapointed.