My second week with Haiku: lots of hidden gems and surprises, plus some problems

My second week with Haiku: lots of hidden gems and surprises, plus some problems
Screenshot editing for this article - in Haiku

TL; DR: The performance is much better than originally. It was ACPI's fault. Running in a virtual machine works fine for screen sharing. Git and the package manager are built into the file manager. Public wireless networks do not work. Frustration with python.

Last week I discovered Haiku, an unexpectedly good system. And even now, in the second week, I continue to find many hidden diamonds and pleasant surprises, and, of course, a weekly portion of various nuances.

Performance

As it turned out, the deplorable performance of the first week, especially in the browser (delays in typing, for example), may be due to the poor implementation of ACPI in the BIOS of my computer.

To disable ACPI I do:

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

and reboot. Now my system is finally responding quickly, as has been noted in the past by other reviewers. But as a result, I can no longer reboot without kernel panic (you can turn it off with the message "Now the computer can be powered off").

ACPI,DSDT,IASL

C'mon, most likely you need to do ACPI debugging, I vaguely remember something about this from the days when I worked on PureDarwin, because the xnu kernel often needed corrected files DSDT.aml

Let's go...

download and collect iasl, Intel's ACPI debugger. Actually no, it has already been ported:

~>  pkgman install iasl

I save ACPI tables:

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

It turns out that it does not work in Haiku yet, I decide to reboot to Linux, and there I will remove the contents of ACPI. I then fixed the errors with iasl, a text editor, some knowledge (you can google "patch dsdt fix") and a lot of patience. However, as a result, I was still unable to download the patched DSDT using the Haiku uploader. The right decision might be to move ACPI on-the-fly patching, into the Haiku bootloader (about the same as this makes Clover bootloader, correcting the DSDT on the fly using labels and templates). I opened An application.

Virtual machines

In general, I am not a fan of virtual machines, as they often consume more RAM and other resources that are available to me. Also, I don't like the overhead. But I had to take a chance and use a VM, since Haiku is not yet able to record video broadcasts with sound (because my equipment does not have sound drivers and there is a card connected via usb1 (first version), and its driver must be built manually). What I want to say for such a decision managed to get a very good result when creating my video broadcast. It turned out that Virtual Machine Manager is a real miracle. Perhaps RedHat has invested all its engineering money in this software (which I ignored for 15 years). In any case, to my great surprise, virtualized Haiku runs a little faster than on the same hardware (it's hard to believe, but it seems to me). [Doesn't seem to have had a similar experience in 2007 with the just-released Centos5, which could be installed virtualized in Xen. - approx. translator]

Video broadcast

It took a bit too much body movement for my taste, so I recorded a step-by-step guide (mostly for myself to reproduce later), but you can also use this information to record your own Haiku video broadcasts (which is definitely worth a try).

Short:

  • Use decent headphones and a C-Media USB sound card
  • Boot your computer with NVIDIA's Pop!OS live image (for hardware accelerated nvenc encoding)
  • Download Haiku Anyboot 64bit Night Image
  • Set up KVM as described in the article above
  • Download the OBS Studio AppImage (don't forget to tell the developers you want the official one)
  • Add a noise reduction filter to Desktop Audio (right click on Desktop Audio, then "Filters", then "+", then "Noise Suppression", leave the level as default)
  • Go through the sound settings in XFCE
  • Right click on Desktop Audio, then "Properties", select the device "Audio Adapter Analog Stereo"
  • Go to the XFCE menu, in "Workspaces"
  • Set the number of desktops there: 2
  • Ctrl-Alt-Right Arrow will switch to the second desktop
  • Fix the shortcut to launch Virtual Machine Manager so that it runs as root (by adding sudo), otherwise it didn't work for me
  • Launch Haiku on a second desktop
  • Boot to her desktop, set the resolution to FullHD (I couldn't get Haiku to do this automatically, maybe there is a way to get QEMUKVM to send the EDID from the monitor, but I couldn't find such a setting in Virtual Machine Manager) [it was necessary to put another video card and forward it to Haiku ... - approx. translator]
  • Press Ctrl+Alt to "revert" keyboard and mouse to Linux
  • Ctr-Alt-LeftArrow will switch to the first desktop
  • In OBS, add "Window Capture (XComposite)" and select "Haiku on QEMUKVM" window, check "Swap red and blue".
  • Record a video, edit it with Shotcut (Run as root for nvenc hardware acceleration to work)
  • Soundtrack from the YouTube music library "Timelapsed Tides". Filters: "Audio fade in", "Audio fade out", volume -35db
  • Export, "YouTube", download. The video will become FullHD on YouTube without much post-processing

VoilΓ !

https://youtu.be/CGs-lZEk1h8
Haiku video streaming with QEMUKVM, USB sound card, OBS Studio and Shotcut

I'm happy, although I'd be a lot happier if the sound card, OBS Studio, and Shotcut worked natively in Haiku and didn't have to go through this lengthy setup. [I would take VirtualBox, everything is there right away for recording a video broadcast directly in the virtual machine settings. - approx. translator]

Tracker and its add-ons

Tracker for Haiku is the same thing as Finder on Mac or Explorer on Windows. I'll try to search tracker add-on at HaikuDepot.

Git integration in file manager

Just quoting pictures from his homepage

My second week with Haiku: lots of hidden gems and surprises, plus some problems
TrackGit included in Haiku file manager

My second week with Haiku: lots of hidden gems and surprises, plus some problems
You can even clone the repository

What is this, a joke?! Clear text password? It's amazing that they don't use "keychain", Haiku has a BKeyStore for that. Left a request.

My second week with Haiku: lots of hidden gems and surprises, plus some problems
Clear text password?

Integration of the package manager into the file manager

According to the project home page:

Finds the package(s) of any selected file(s) by opening them in the preferred application. By default, this is HaikuDepot, where you can see a description of the package, and on the Content tab, you can see other files that are part of this package, as well as their location.

There is probably only one step left to remove the package...

autostart/rc.local.d

How to run something automatically on boot?

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

I need to find a local time synchronization command via NTP ... I heard that it should work automatically in general, but for some reason it doesn’t work for me. Which is very bad, since I have a dead battery for the RTC, which means the time is reset when the power is turned off.

More hints

application Tipster shows useful tips and tricks (check them out!).

Public wireless networks

I was unable to connect to wireless networks while walking despite the fact that my home wireless network is working. Public places (airports, hotels, train stations) are usually covered by many wireless networks, each of which usually consists of several access points.

My second week with Haiku: lots of hidden gems and surprises, plus some problems
Frankfurt Central Station

What will we find on Frankfurt railway station? A bunch of different networks:

My second week with Haiku: lots of hidden gems and surprises, plus some problems
The usual situation for public places. Here: Frankfurt Central Station

Connectivity options are plentiful. And what does Haiky do with these networks? In fact, not much: very confused in them. After all, I've been disconnected from the network all this time.

Access point transfer not working?

It all starts with the fact that each access point is shown separately, even if they belong to the same network with a common SSID, not like on any other OS I know.

My second week with Haiku: lots of hidden gems and surprises, plus some problems
Multiple hotspots with the same SSID are shown. Well, how would the handover work under such conditions?

And only one SSID should be displayed, for which the access point with the strongest signal will be selected. The client must select another point with a stronger signal but the same SSID (when available) if the connection with the current access point becomes too weak - everything works even when moving (client handover between access points). Created an application.

No open networks?

My second week with Haiku: lots of hidden gems and surprises, plus some problems
Haiku insists that there must be a password, even if the network is open.

Haiku continues to require a password for the network, even though the network itself doesn't need any passwords. Also created an application.

Confusion over captive portals?

Many wireless networks use captive portals, where the user is redirected to an authorization page where they can accept the terms and conditions before using the network. It may have confused my OS even more. In the end, apparently, my wireless subsystem was completely blocked.

My second week with Haiku: lots of hidden gems and surprises, plus some problems
After some time, the entire wireless subsystem was completely blocked.

No access to the network while traveling, sadness-longing.

Frustration with Python

How to easily and naturally run a "randomly" selected Python program? It turned out that not everything is so simple. At least I didn't fully understand it myself...

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 exit

pkgman 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))

dangling pip is a known issue (it needs support for hardlinks which are not supported in Haiku). I was told to use python3.6 (I would say it's a mess). opened application with pip

Where are we going next?

Haiku is an example of a focused PC operating system, and as such has great principles that greatly simplify overall workflows. Its development has been stable but slow over the last 10 years, leaving hardware support fairly limited and the system itself relatively unknown. But the situation is changing: hardware support provides the ability to run Haiku on a relatively wide range of machines (albeit with errors), and given that the system version is not 1.0, the system needs to attract more public attention. How can I best help? I think this series of articles will be helpful. 2 weeks later I started report bugsand also started a series of video broadcasts.

Once again I express my deep gratitude to the Haiku development team, you are the best! Be sure to let me know if you have any idea how I can contribute to the project, although I don't plan to write in C++ anytime soon.

Try it yourself! After all, the Haiku project provides images for booting from DVD or USB, generated daily.
Got questions? We invite you to the Russian-speaking telegram channel.

probono is the founder and lead developer of the AppImage project, the founder of the PureDarwin project, and a contributor to various open source projects. Screenshots were taken on Haiku. Thanks to the developers on the #haiku channel on irc.freenode.net

Error overview: How to shoot yourself in the foot in C and C++. Haiku OS Recipe Collection

From Author Translation: This is the ninth and final article in the Haiku series.

List of articles: First The second The third The fourth Fifth Sixth Seventh Eighth

Source: habr.com

Add a comment