The majority of this is written under Haiku using Kate (the KDE text editor). I tried using Pe (the built-in advanced text editor in Haiku) but me being a webshit spoiled by vscode felt really uncomfortable with it.

Haiku User Experience Report (August 2023)

I decide to try out Haiku again when I've heard with the release of R1/beta4 it comes with Epiphany which finally allows Haiku users to have a relatively-modern web experience (it uses the same engine as Safari). Before this I've heard nodejs & npm is also available under Haiku so I thought maybe finally I'm able to use this non-Linux OS as somewhat of a daily driver.

Installation

I tried to install Haiku on my main laptop (Lenovo X1 6th Gen Yoga) but I couldn't get the installation image to boot, until one day I decided to go back to Arch Linux and being told that you have to disable Secure Boot before booting with USB HDD, so I gave it one more try and... it sure booted without problems* so I thought hey maybe I can do a trial-boot (as in one more than dual-boot) of Windows + Linux + Haiku so that's what I did.

(Before this happened I tried to install Haiku on my Panasonic CF-SX2 because I didn't know about the secure boot thing. It booted with the wrong resolution and a good part of the viewport got cut off; I didn't know how to fix this so I gave up.)

Before the installation process, this was the situation of my laptop:

This is the installation process:

Everything worked fine from the get go, except for those that didn't. (Some issues described below)

Resource usage

You can seriously run this on a machine with as little as 2GBytes RAM (maybe even less) without noticing any kind of UI lag; not that many linuxes can pull that off nowadays (not with things like KDE plasma). I have heard that the 32-bit version could run on machines with less than 512MBytes; it's kinda crazy when you think about it.

UI

It's not until now that I realized my Windows setup has its UI configured to be 125% bigger (for high DPI support); no wonder everything looks tiny when things are in their supposed sizes. I set the font size to 16+pt; it's tolerable after that. The icons are still very small though. I'm guessing people are only gonna run it on second-hand old Thinkpads but I still hope this could be added in the next release.

I probably can never get used to Tracker (the built-in file manager?); good thing they have Dolphin (KDE's file manager) in HaikuDepot.

Keyboard

Haiku uses MacOS layout (Control-Option-Command) by default; you can switch this behaviour with Preferences-Keymap. Surprisingly they have X-Bows in Keymap configuration (I was using one) but that breaks my config of replacing PgUp/PgDn with Home/End so just stuck with some generic choices instead.

Audio

It sort of works but also sort of doesnt:

For whatever reason audio on my haiku setup sounds thinner than a motherfucker and it seems like there's no related config where i could tweak the soundcard or something within the os.

Somehow the device manager is in the Applications folder. Sure thing, buddy...

It's not a manager but rather an info viewer...

-- from my own Mastodon posts when I was trying to fix this issue

It sounded like using Bluetooth Hands-free AG audio. I tried to fiddle around with input mapping and output mapping and all that stuff, couldn't found a combination that would give a proper bass sound. It's not an earphone problem - I used the same pair of earphones on my phone and everything sounded normal. It's not an application problem - I played some music with Bandcamp using Epiphany and it sounded just as thin. I tried to investigate further -

Okay so from what I've seen it seems like the output from mediaplayer got resampled and only the left side became the source of the output and got mapped to both sides of the earphones. What a strange situation...

Don't know if this is correct at all - I don't know enough about Haiku. It doesn't explain why there's no bass though; it's not like you have to have stereo before you got the bass.

Installed opensound. Let's hope that this will fix the audio issue... nope, the audio is gone. I guess I'll have to stick with phones for music when using haiku from now on.

My laptop comes with Intel HD Audio which Haiku does have a driver but as I mentioned before didn't work as well as I expected it to be. According to some sources you can switch to OSS by (1) installing OSS (named opensound in HaikuDepot) and (2) disabling built-in drivers for HD Audio by configuring /boot/system/settings/packages. When I disabled the HD Audio driver no audio devices had been recognized.

Bluetooth

I had zero luck with Bluetooth; Haiku recognized my bluetooth device but it seems like the bluetooth server doesn't want to load.

Webcam

No luck on my machine. CodyCam simply told me there was no webcam. Haiku recognizes that there's an "ACPI 'ICAM'" (which is the infrared camera that was supposed to be used for logging in with facial recognition) and an "ACPI 'WCAM'" (I'm guessing this is the actual webcam), but it seems like it doesn't have a driver for the device.

CJK support

这句话是在Haiku下用BeCJK输入的。坦白说,UX非常糟糕,词库也不是很好。

It comes with Noto fonts so it can display CJK just fine, but CJK input is a different story. You can use BeCJK, which is arguably worse than using the one that comes with emacs; you can't config keyboard shortcut to switch between input methods and CJK input on/off mode (BeCJK has zero keyboard shortcut). It somehow has its own toolbar that doesn't seem to stick to anywhere and doesn't disappear when it's not needed (which is the norm twenty years ago but very annoying in today's standard). At least it's better than 9front's barely anything.

Proxy

There's no system-wide network proxy settings but somehow there's this "Qt Configuration" thing (which probably comes with some Qt application I installed from HaikuDepot) that looks like it can set the network proxy used by *all* Qt applications. I tried this but had no luck.

Can I do front-end webdev on this thing?

I mean it depends? There do be a node16 and npm package in HaikuDepot but node is just a few minor versions too old for a new Svelte project (maybe I could compile the latest 16.x with existing config but I gotta change my focus onto something else now); older versions of frameworks should definitely work, combined with GNOME Web you can just pretend you're writing for Safari.

Final Verdict: Daily Driver?

Depend on what you do it finally ranges from "feasible" to "very close"; it takes significantly less effort than before to be able to do what you used to do on Windows or Linux (with the introduction of GNODE Web, considering so much things are now implemented with the modern web stack), but it still takes time to be comfortable with it. If you don't have the time to tinker (not even a weekend or two) I would suggest you wait for the next release...

I think I really need to learn C++ now. Haiku dev requires C++, Genode dev requires C++, ...
Back