My second week with Haiku: Lots of hidden gems and pleasant surprises, and some issues

Editing a screenshot for this article — in Haiku

Performance

Turns out the absymal performance I had in the first week, especially in the browser (e.g., lag when typing) may have to do with and/or a buggy ACPI implementation in the BIOS of my machine.

sed -i -e 's|#acpi false|acpi false|g' /boot/home/config/settings/kernel/drivers/kernel

ACPI, DSDT, iasl

Oh well, I guess we need to debug the ACPI of this machine, something I vaguely remember from when I had worked on PureDarwin, because the xnu kernel needed patched DSDT.aml files more often than not.

~>  pkgman install iasl
~> acpidump  -o DSDT.dat
Cannot open directory - /sys/firmware/acpi/tables
Could not get ACPI tables, AE_NOT_FOUND

Virtual machines

Normally I am absolutely not a fan of virtual machines because they tend to eat more RAM and resources than I usually have available. Also, I don’t like the overhead involved.

Screencasting

On to screencasting. Since it was more fiddling in the end than is my taste, I wrote down the steps (mainly so that I can replicate them later) but maybe you can use this information if you’d like to make your own Haiku screencasts (which you absolutely should do).

  • Use C-Media USB audio device with decent headphones
  • Boot into Pop!OS NVIDIA Live ISO (for nvenc hardware acceleration of the encoding)
  • Download Haiku nightly anyboot image 64-bit
  • Set up KVM as in the article above
  • Get OBS Studio AppImage (and tell them that you want an official one)
  • Add noise cancellation filter to Desktop Audio by right-clicking Desktop Audio, then Filters, then +, then Noise Suppression, leave default dB level
  • Fiddle around in Xfce’s audio settings
  • Right-click Desktop Audio, Properties, Device select “Audio Adapter Analog Stereo”
  • Go to Xfce start menu, enter “Workspaces”
  • Number of workspaces: 2
  • Ctr-Alt-RightArrow will go to second workspace
  • Edit Virtual Machine Manager desktop entry so that it is started as root by prepending sudo — it did not work otherwise for me
  • Start Haiku virtual machine on workspace 2
  • Boot into desktop, set resolution to Full HD (I did not manage yet to have Haiku do that automatically; perhaps we somehow can get QEMU/KVM to pass through EDID information; did not find this option in Virtual Machine Manager)
  • Press Ctrl-Alt to “release the keyboard and mouse” (get them back to Linux)
  • Switch back to workspace 1 by pressing Ctrl-Alt-LeftArrow
  • In OBS, add “Window Capture (XComposite)” and select Window “Haiku on QEMU/KVM”, check “Swap red and blue”
  • Record, then edit with Shotcut AppImage on Linux (run it as root to get NVIDIA hardware acceleration with nvenc)
  • Soundtrack: Timelapsed Tides” from the YouTube music library. Filters: Audio fade in, Audio fade out, Audio volume -35db (no, this should not turn into Shotcut instructions)
  • Export, “YouTube”, upload. Becomes Full HD on YouTube without a lot of postprocessing.
Screencasting Haiku using QEM/KVM, USB audio, OBS Studio, and Shotcut

Tracker and Tracker add-ons

Tracker is to Haiku what the Finder is to the Mac, and what Explorer is to Windows. Search for tracker add-on in HaikuDepot to find these.

Git integrated into the file manager

Just visually citing its homepage here.

TrackGit integrates into the Haiku file manager
You can even clone repositories
Password in clear text?

Package manager integrated into the file manager

Described by its homepage:

Autostart/rc.local.d

How do I launch stuff automatically at boot time?

  • rc.local.d = /boot/home/config/settings/boot/userbootscript
  • Autostart = /boot/home/config/settings/boot/user/launch

More tips

The Tipster application shows useful tips and tricks (check them out!): https://github.com/humdingerb/Tipster/blob/master/tips/tips-en.txt

WLAN in public spaces

While WLAN works fine for me at home, It did not work for me at all while travelling.

Frankfurt main station. Source: Wikipedia
Typical situation in public spaces. Here: Frankfurt main station

No access point handovers?

It starts with the fact that it shows each access point separately, even if many belong to the same wireless network with a common SSID, unlike any other OS I know.

Multiple entries being shown for the same SSID. How is WLAN handover supposed to work here?

No open networks?

Haiku insists on a password even though the network is open

Confused by captive portals?

Many public networks use captive portals, where the user is redirected to a login page where they have to accept terms and conditions before the network can be used. Possibly this added to Haiku getting totally confused in this location.

At some time, the whole wireless stack seemed to be just locked up entirely

Python woes

How easy is it to get a “random” piece of Python software running?

git clone https://github.com/micahflee/onionshare.git
cd onionsharepython3 -m venv venv
pkgman i setuptools_python36 # pkgman i setuptools_python installs for 3.7
pip3 install -r install/requirements.txt
Could not find a version that satisfies the requirement PyQt5==5.12.1 (from -r install/requirements.txt (line 15)) (from versions: )
No matching distribution found for PyQt5==5.12.1 (from -r install/requirements.txt (line 15))
# stalled here - does not continue or exitpkgman i pyqt# No change, same error; how do I get it into the venv?
# Trying outside of venv
Could not find a version that satisfies the requirement PyQt5==5.12.1 (from -r install/requirements.txt (line 15)) (from versions: )
No matching distribution found for PyQt5==5.12.1 (from -r install/requirements.txt (line 15))

Where do we go from here?

Haiku is a refreshingly focused operating system for personal desktop computers, and as such, it has great concepts that can simplify common workflows considerably. Development has been steady but andante over the past decade, which may have had to do with the fact that hardware support was very limited and the system has been relatively unknown.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
probono

probono

Author of #AppImage and contributor to hundreds of open source projects. #LinuxUsability, digital privacy, typography, computer history, software conservation