My second week with Haiku: a lot of hidden diamonds and pleasant surprises, as well as some problems



Screenshot editing for this article - at Haiku







TL; DR: Performance is much better than originally. ACPI was to blame. Running in a virtual machine works great for displaying a screen. Git and the package manager are built into the file manager. Public wireless networks do not work. Disappointment 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 related to the curve of ACPI implementation in the BIOS of my computer.







In order 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 noted by other reviewers in the past. But as a result, I can no longer reboot without kernel panic (you can turn off with the message "Now you can turn off the computer’s power").







ACPI, DSDT, iasl



C'mon, most likely you need to debug ACPI, I have vaguely remembered something from the time when I worked on PureDarwin, because the xnu kernel often needed corrected DSDT.aml



files







We drove ...







Download and build iasl



, Intel's ACPI debugging program . Actually no, it has already been ported:







 ~> pkgman install iasl
      
      





I save the 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 still does not work in Haiku, I decide to reboot on Linux, and I’ll remove the contents of ACPI there. Then I fixed the errors with iasl, a text editor and some knowledge (you can search Google for “patch dsdt fix”) and an abyss of patience. However, as a result, I still couldn’t download the fixed DSDT using the Haiku bootloader. The correct solution might be to transfer ACPI on-the-fly patching to the Haiku bootloader (much like Clover does , fixing DSDT on the fly using labels and patterns). I opened an application .







Virtual machines



In general, I am not a fan of virtual machines, as they most often consume more RAM and other resources that are available to me. Also, I don't like overhead. But I had to take a chance and use the VM, because Haiku is not yet able to record video broadcasts with sound (since my equipment does not work with sound drivers and there is a card connected via usb1 (first version), and its driver must be assembled manually). What I want to say: for such a solution I 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 invested all of its engineering money in this software (which I ignored for about 15 years). In any case, to my great surprise, virtualized Haiku works a little faster than on the same equipment (this is hard to believe. But it seems to me). [It does not 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 was a bit of a lot of movements for my taste, so I wrote down a step-by-step guide (for the most part, for myself to reproduce later), but you can also use this information to record your Haiku video broadcasts (which is definitely worth a try).







Briefly:









Voila!







https://youtu.be/CGs-lZEk1h8

Haiku Live Streaming with QEMU \ KVM, USB Sound Card, OBS Studio and Shotcut







I am happy, although I would be much happier if the sound card, OBS Studio and Shotcut initially worked in Haiku, and I would not have to perform this long setup. [I would take VirtualBox, everything is there right away for recording video broadcasts right in the settings of the virtual machine. - approx. translator]







Tracker and its add-ons



Tracker for Haiku is the same thing as Finder on Mac, or Explorer on Windows. I will try to search for tracker add-on



in HaikuDepot.







Git integration in file manager



Just quote pictures from his homepage









TrackGit is included in Haiku file manager









You can even clone the repository







What is this, a joke?! Password clear text? It's amazing that they do not use the "keychain", for this there is a BKeyStore in Haiku. I left a request .









Password clear text?







Integration of the package manager into the file manager



According to the project home page:







Finds the package (s) of any selected file (s), opening it in the preferred application. By default, this is HaikuDepot, where you can see the 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 was probably only one step left to remove the package ...







Autostart / rc.local.d



How to start something automatically at boot time?









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







More tips



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







Public Wireless Networks



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









Frankfurt Central Station







And what will we find at the Frankfurt railway station ? A bunch of different networks:









The usual situation for public places. Here: Frankfurt Central Station







Connectivity - more than enough. What does Haiky do with these networks? In fact, not much: much confused in them. After all, I was disconnected from the network all this time.







Does access point transfer not work?



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 that I know.









Shows multiple points with the same SSID. Well, and how will handover work in such conditions?







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







No open networks?





Haiku insists that there should be a password, even if the network is open.







Haiku continues to require a network password, although the network itself does not need any passwords. Also created an application .







Confusion over captive portals?



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









After some time, the entire wireless subsystem was completely blocked







No access to the network while traveling, sadness longing.







Disappointment with Python



How to easily and naturally run a “randomly” selected Python program? It turned out to be not so simple. At least I didn’t fully understand everything 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))
      
      





A stuck pip



is a known issue (it needs support for hardlinks that are not supported by Haiku). I was prompted to use python3.6



(I would say that this is a mess). Opened an application with pip







Where are we going next?



Haiku is an example of a focused PC operating system, and as such has excellent principles that greatly simplify common workflows. Its development was stable, but unhurried - the last 10 years, as a result of which the support for the equipment remained quite limited, and the system itself is relatively unknown. But the situation is changing: hardware support provides the ability to run Haiku on a relatively wide list of machines (albeit with errors), and given that the system version is not 1.0, the system needs to attract more public attention. What can I do best to help? I believe this series of articles will be useful. After 2 weeks, I started reporting errors and 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 come up with how I can contribute to the development of the project, although I do not plan to write in C ++ in the near future.







Try it yourself! After all, the Haiku project provides daily download images from DVD or USB.

Have a question? We invite you to the Russian-language telegram channel .







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







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







From the author of the translation: this is the ninth and final article from the Haiku series.







List of articles: First Second Third Fourth Fifth Sixth Seventh Eighth








All Articles