Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Screenshot bewerken voor dit artikel — in Haiku

TL;DR: De prestaties zijn veel beter dan aanvankelijk. Het probleem was ACPI. Opstarten in een virtuele machine werkt perfect voor het delen van het scherm. Git en de pakketbeheerder zijn geĆÆntegreerd in de bestandsbeheerder. Gratis openbare netwerken werken niet. Teleurstelling met Python.

Afgelopen week ontdekte ik Haiku, een onverwacht goede systeem. En zelfs nu, in mijn tweede week, blijf ik vele verborgen parels en aangename verrassingen vinden, evenals de wekelijkse dosis verschillende nuances.

Prestaties

Het blijkt dat de teleurstellende prestaties van de eerste week, vooral in de browser (vertragingen bij het typen, bijvoorbeeld), mogelijk verband houden met de gebrekkige ACPI-implementatie in de BIOS van mijn computer.

Om ACPI uit te schakelen doe ik:

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

en herstart ik. Nu reageert mijn systeem eindelijk snel, zoals eerder door andere reviewers is opgemerkt. Maar als gevolg daarvan kan ik niet meer opnieuw opstarten zonder kernel panic (uitschakelen kan met de melding "Het is nu veilig om de computer uit te schakelen").

ACPI, DSDT, iasl

Oja, waarschijnlijk moet ik ACPI debuggen, ik herinner me daar vaag iets van de tijd dat ik aan PureDarwin werkte, omdat de xnu-kernel vaak aangepaste bestanden nodig had. DSDT.aml

Laten we beginnen...

Ik download en compileer iasl, de ACPI-debugtool van Intel.Eigenlijk niet, het was al geportableerd:

~> pkgman install iasl

Ik sla de ACPI-tabellen op:

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

Het blijkt dat het nog niet werkt in Haiku, dus besluit ik opnieuw op te starten naar Linux, daar zal ik de inhoud van ACPI vastleggen. Vervolgens heb ik de fouten gecorrigeerd met behulp van iasl, een teksteditor en wat kennis (je kunt op Google zoeken naar "patch dsdt fix") en een oceaan van geduld. Desondanks is het me toch niet gelukt om de gecorrigeerde DSDT te laden via de Haiku-bootloader. Een juiste oplossing zou mogelijk zijn om ACPI on-the-fly patching, naar de Haiku-bootloader te verplaatsen (ongeveer zoals de Clover-bootloader het doet, die DSDT on-the-fly corrigeert op basis van labels en sjablonen). Ik heb een aanvraag.

Virtuele machines

Over het algemeen ben ik geen fan van virtuele machines, omdat ze meestal meer RAM en andere middelen verbruiken dan ik tot mijn beschikking heb. Bovendien houd ik niet van overhead. Maar ik moest het risico nemen en gebruikmaken van een VM, aangezien Haiku momenteel geen videostreams kan opnemen met geluid (omdat de geluidsdrivers op mijn hardware niet werken en er een kaart via usb1 (de eerste versie) is aangesloten, waarvan de driver handmatig moet worden opgebouwd). Wat ik wil zeggen is: voor zo'n oplossing is het gelukt om een zeer goed resultaat te behalen bij het maken van mijn videostream. Het bleek dat Virtual Machine Manager een waar wonder is. Misschien heeft RedHat al zijn engineeringgeld in deze software gestoken (die ik al 15 jaar negeerde). In ieder geval, tot mijn grote verbazing draait de gevirtualiseerde Haiku iets sneller dan op dezelfde hardware (dit is moeilijk te geloven, maar zo lijkt het). [Het lijkt niet zo, maar ik had een soortgelijke ervaring in 2007 met de net uitgebrachte Centos5, die gevirtualiseerd in Xen kon worden geĆÆnstalleerd. — opmerking van de vertaler]

Videostream

Er waren naar mijn smaak behoorlijk wat handelingen vereist, daarom heb ik een stap-voor-stap handleiding opgenomen (voornamelijk voor mezelf, om het later opnieuw te kunnen reproduceren), maar je kunt ook gebruikmaken van deze informatie voor het opnemen van je eigen Haiku-videostreams (wat zeker de moeite waard is om te proberen).

Kort samengevat:

  • Gebruik fatsoenlijke hoofdtelefoons en een C-Media USB geluidskaart
  • Start de computer op met een live image van Pop!OS NVIDIA (voor hardwareversnelling met nvenc)
  • Download het Haiku Anyboot 64bit nachtfoto image
  • Configureer KVM zoals beschreven in het bovenstaande artikel
  • Download OBS Studio AppImage (vergeet niet de ontwikkelaars te vertellen dat je een officiĆ«le versie wilt)
  • Voeg een ruisonderdrukkingsfilter toe aan Desktop Audio (klik met de rechtermuisknop op Desktop Audio, dan 'Filters', daarna '+', dan 'Noise Suppression', laat het niveau op de standaardwaarde staan)
  • Loop door de geluidsinstellingen in XFCE
  • Klik met de rechtermuisknop op Desktop Audio, dan 'Properties', kies het apparaat 'Audio Adapter Analog Stereo'
  • Ga naar het XFCE-menu, naar 'Workspaces'
  • Stel daar het aantal werkruimtes in op: 2
  • Ctrl-Alt-Rechtermuisknop schakelt naar de tweede werkruimte
  • Pas de snelkoppeling voor het starten van Virtual Machine Manager aan zodat deze als root wordt uitgevoerd (door aan het begin toe te voegen sudo), anders werkte het bij mij niet
  • Start Haiku on the second desktop
  • Boot into its desktop, set the resolution to FullHD (I couldn't make Haiku do this automatically; perhaps there's a way to get QEMUKVM to pass the EDID from the monitor, but I couldn't find such a setting in Virtual Machine Manager) [I should have installed another graphics card and passed it through to Haiku… — translator's note]
  • Press Ctrl+Alt for the keyboard and mouse to 'return' to Linux
  • Ctrl-Alt-LeftArrow will switch to the first desktop
  • In OBS, add 'Window Capture (XComposite)', and select the window 'Haiku on QEMUKVM', check 'Swap red and blue'.
  • Record the video, edit it using Shotcut (run it as root for NVENC hardware acceleration to work)
  • Soundtrack from YouTube's music library 'Timelapsed Tides'. Filters: 'Audio fade in', 'Audio fade out', volume -35db (okay, enough, this isn't a Shotcut manual)
  • Export, 'YouTube', upload. The video will be FullHD on YouTube without much post-processing

VoilĆ !

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

I'm happy, although I would be much happier if the sound card, OBS Studio, and Shotcut worked in Haiku from the start, and I didn't have to go through this long setup. [I would take VirtualBox; everything is set up for recording a live stream right in the virtual machine settings. — translator's note]

Tracker and its extensions

Tracker for Haiku is similar to Finder on Mac or Explorer on Windows. I'll try to search tracker add-on in HaikuDepot.

Git integration in the file manager

Just quoting images from its homepage

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
TrackGit is integrated into Haiku's file manager

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
You can even clone a repository

Is this a joke?! Password in plain text? It's surprising they don't use 'keychain'; for this, Haiku has BKeyStore. Sent an application.

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Password in plain text?

Integration of the package manager in the file manager

According to the project's homepage:

Finds package(s) of any selected file(s), opening it in the preferred application. By default, this is HaikuDepot, where you can view the package description, and on the 'Contents' tab, you can see other files that are part of this package and their location.

Probably only one step left to remove the package…

Autostart/rc.local.d

How to run something automatically at boot?

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

Ik moet het synchronisatiecommando voor lokale tijd via NTP vinden… Ik heb gehoord dat dit automatisch moet werken, maar het werkt om een of andere reden niet bij mij. Dit is erg slecht, aangezien mijn RTC-batterij is overleden, wat betekent dat de tijd wordt gereset bij het uitschakelen van de voeding.

Meer tips

Toepassing Tipster geeft nuttige tips en aanbevelingen weer (bekijk ze!).

Publieke draadloze netwerken

Ik kon niet verbinden met draadloze netwerken tijdens mijn wandeling, hoewel mijn thuis draadloze netwerk wel werkt. Publieke plaatsen (luchtports, hotels, stations) zijn meestal bedekt met veel draadloze netwerken, waarvan elke meestal bestaat uit verschillende toegangspunten.

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Centraal station Frankfurt

Wat zullen we vinden op het station van Frankfurt? ŠšŃƒŃ‡Ńƒ разных сетей:

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Een gebruikelijke situatie voor publieke plekken. Hier: Centraal station Frankfurt

Er zijn volop mogelijkheden om te verbinden. En wat doet Haiky met deze netwerken? Eigenlijk niet veel: het raakt er enorm in verward. Want ik was de hele tijd van het netwerk afgekoppeld.

Werkt de doorvoer van toegangspunten niet?

Het begint ermee dat elk toegangspunt apart wordt weergegeven - zelfs als ze tot hetzelfde netwerk met een gemeenschappelijke SSID behoren - niet te vergelijken met elk ander OS dat ik ken.

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Meerdere toegangspunten met dezelfde SSID worden weergegeven. Dus, hoe zou de doorvoer van dienstverlening in zulke omstandigheden werken?

Er zou slechts ƩƩn SSID moeten worden weergegeven, waarvoor het toegangspunt met het sterkste signaal moet worden geselecteerd. De cliĆ«nt moet een ander toegangspunt met een sterker signaal kiezen, maar met dezelfde SSID (indien beschikbaar), als de verbinding met het huidige toegangspunt te zwak wordt — alles werkt zelfs tijdens het verplaatsen (doorvoer van de cliĆ«nt tussen toegangspunten). Aanvraag ingediend.

Geen open netwerken?

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Haiku staat erop dat er een wachtwoord moet zijn, ook al is het netwerk open.

Haiku blijft om het wachtwoord van het netwerk vragen, hoewel er voor het netwerk zelf geen wachtwoorden nodig zijn. Ook aanvraag ingediend.

Verwarring door captive portals?

Veel draadloze netwerken maken gebruik van captive portals, waarbij gebruikers worden doorgestuurd naar een aanmeldpagina waarop ze de voorwaarden en overeenkomsten kunnen accepteren voordat ze het netwerk gebruiken. Dit lijkt mijn besturingssysteem nog meer in de war te hebben gebracht. Uiteindelijk is de draadloze subsysteme kennelijk volledig geblokkeerd.

Mijn tweede week met Haiku: veel verborgen parels en aangename verrassingen, evenals enkele problemen
Na een tijdje was het hele draadloze subsysteem volledig geblokkeerd.

Geen toegang tot het netwerk tijdens het reizen, verdrietig.

Teleurstelling met Python.

Hoe start je gemakkelijk en zonder moeite een 'toevallig' gekozen programma in Python? Blijkbaar is het niet zo eenvoudig. Althans, ik heb het zelf niet helemaal begrepen...

git clone https://github.com/micahflee/onionshare.git
cd onionshare
python3 -m venv venv
pkgman i setuptools_python36 # pkgman i setuptools_python installeert voor 3.7
pip3 install -r install/requirements.txt

Kon geen versie vinden die voldoet aan de vereiste PyQt5==5.12.1 (uit -r install/requirements.txt (regel 15)) (uit versies: )
Geen overeenkomende distributie gevonden voor PyQt5==5.12.1 (uit -r install/requirements.txt (regel 15))

# bleef hier hangen - gaat niet verder of verlaat niet

pkgman i pyqt

# Geen verandering, dezelfde fout; hoe krijg ik het in de venv?
# Probeert buiten de venv

Kon geen versie vinden die voldoet aan de vereiste PyQt5==5.12.1 (uit -r install/requirements.txt (regel 15)) (uit versies: )
Geen overeenkomende distributie gevonden voor PyQt5==5.12.1 (uit -r install/requirements.txt (regel 15))

Vastgelopen pip — een bekend probleem (het heeft ondersteuning voor hardlinks nodig, die niet worden ondersteund in Haiku). Mij werd verteld dat ik moest gebruiken python3.6 (ik zou zeggen dat het een troep is). Ik opende een verzoek met pip

Waar gaan we nu verder?

Haiku is een voorbeeld van een gefocust besturingssysteem voor pc's en heeft daardoor uitstekende principes die de algemene workflows aanzienlijk vereenvoudigen. De ontwikkeling is stabiel maar traag geweest — de afgelopen tien jaar, wat heeft geleid tot beperkte hardware-ondersteuning en het feit dat het systeem relatief onbekend is. Maar de situatie verandert: hardware-ondersteuning maakt het mogelijk om Haiku op een relatief breed scala aan machines te draaien (hoewel met fouten), en aangezien de systeemversie niet 1.0 is — moet het systeem meer aandacht van het publiek trekken. Hoe kan ik het beste helpen? Ik denk dat deze serie artikelen nuttig zal zijn. Na 2 weken begon ik fouten te rapporteren, en begon ook een serie videotransmissies.

Ik wil nogmaals mijn grote dankbaarheid uitspreken naar het Haiku-ontwikkelingsteam, jullie zijn de besten! Laat het me weten als jullie bedenken hoe ik kan bijdragen aan de ontwikkeling van het project, hoewel ik niet van plan ben om binnenkort met C++ te schrijven.

Probeer het zelf! Het Haiku-project biedt imagebestanden voor opstarten vanaf DVD of USB, die dagelijks worden aangemaakt. dagelijks.
Heb je vragen? We nodigen je uit in ons Russischtalige telegramkanaal.

probono - oprichter en hoofdontwikkelaar van het AppImage-project, oprichter van het PureDarwin-project, deelnemer aan verschillende open source-projecten. Schermafbeeldingen zijn gemaakt op Haiku. Dank gaat uit naar de ontwikkelaars op het #haiku-kanaal op het netwerk irc.freenode.net.

Foutoverzicht: Hoe je jezelf in de voet schiet met C en C++. Een verzameling recepten voor Haiku OS.

Vanaf auteur van de vertaling: dit is het negende en laatste artikel in de cyclus over Haiku.

Lijst van artikelen: Eerste Tweede Derde Vierde Vijfde Zesde Zevende Achtste

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster