Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
De schermafbeelding voor dit artikel bewerken - in Haiku

TL; DR: De prestaties zijn veel beter dan oorspronkelijk. ACPI was de schuldige. Uitvoeren op een virtuele machine werkt prima voor het delen van schermen. Git en een pakketbeheerder zijn ingebouwd in de bestandsbeheerder. Openbare draadloze netwerken werken niet. Frustratie met Python.

Vorige week Ik ontdekte Haiku, een onverwacht goed systeem. En zelfs nu, in de tweede week, blijf ik veel verborgen diamanten en aangename verrassingen vinden, en natuurlijk een wekelijks portie verschillende nuances.

Производительность

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

Om ACPI uit te schakelen doe ik het volgende:

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

en opnieuw opstarten. Nu reageert mijn systeem eindelijk snel, zoals andere recensenten in het verleden hebben opgemerkt. Maar als gevolg daarvan kan ik niet langer opnieuw opstarten zonder kernelpaniek (afsluiten kan met de boodschap “Je kunt nu de computer uitschakelen”).

ACPI,DSDT,IASL

Nou ja, hoogstwaarschijnlijk moet je wat ACPI-foutopsporing doen, ik herinner me hier vaag iets van uit de tijd dat ik aan PureDarwin werkte, omdat de xnu-kernel vaak vaste bestanden nodig had DSDT.aml

Laten we gaan...

Downloaden en verzamelen iasl, Intel's ACPI-debugger. Nee, het is al geporteerd:

~>  pkgman install iasl

Ik bewaar ACPI-tabellen:

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

Het blijkt nog niet te werken in Haiku, ik besluit opnieuw op te starten naar Linux en daar de ACPI-inhoud te verwijderen. Vervolgens heb ik de fouten opgelost met behulp van iasl, een teksteditor, wat kennis (je kunt Google "patch dsdt fix") en veel geduld. Als gevolg daarvan kon ik de gepatchte DSDT echter nog steeds niet downloaden met de Haiku-downloader. De juiste oplossing kan zijn om over te stappen ACPI on-the-fly patchen, in de Haiku-bootloader (ongeveer hetzelfde als dit maakt Clover-bootloader, DSDT direct corrigeren op basis van labels en patronen). Ik opende verzoek.

Virtuele machines

Over het algemeen ben ik geen fan van virtuele machines, omdat ze meestal meer RAM en andere bronnen verbruiken die voor mij beschikbaar zijn. Bovendien houd ik niet van overhead. Maar ik moest een risico nemen en een VM gebruiken, aangezien Haiku nog niet weet hoe hij video-uitzendingen met geluid moet opnemen (aangezien mijn apparatuur geen geluidsstuurprogramma's heeft en er een kaart is aangesloten via usb1 (eerste versie) en de bijbehorende driver moet handmatig worden gemonteerd). Wat ik wil zeggen: voor zo'n beslissing Ik heb een heel goed resultaat behaald bij het maken van mijn video-uitzending. Het bleek dat Virtual Machine Manager een echt wonder is. Misschien heeft RedHat al zijn engineeringgeld in deze software geïnvesteerd (die ik vijftien jaar lang heb genegeerd). Hoe dan ook, tot mijn grote verbazing draait de gevirtualiseerde Haiku iets sneller dan op dezelfde hardware (moeilijk te geloven, maar het lijkt mij wel zo). [Ik denk niet dat er in 2007 een soortgelijke ervaring was met de zojuist uitgebrachte Centos5, die gevirtualiseerd in Xen kon worden geïnstalleerd. — ca. vertaler]

Video-uitzending

Het was naar mijn zin iets te veel, daarom heb ik een stap-voor-stap handleiding opgenomen (meestal voor mezelf om later af te spelen), maar je kunt deze informatie ook gebruiken om je Haiku-videostreams op te nemen (wat zeker het proberen waard is ).

in het kort:

  • Gebruik een goede koptelefoon en een C-Media USB-geluidskaart
  • Start uw computer op met behulp van de Pop!OS NVIDIA live image (voor hardwareversnelde nvenc-codering)
  • Haiku Anyboot 64bit nachtafbeelding downloaden
  • Stel KVM in zoals beschreven in het bovenstaande artikel
  • Download OBS Studio AppImage (vergeet niet de ontwikkelaars te vertellen dat u de officiële versie wilt)
  • Voeg een ruisonderdrukkingsfilter toe aan Desktop Audio (klik met de rechtermuisknop op Desktop Audio, vervolgens op "Filters", vervolgens op "+", en vervolgens op "Noise Suppression", laat het niveau op standaard staan)
  • Doorloop de geluidsinstellingen in XFCE
  • Klik met de rechtermuisknop op Desktop Audio en vervolgens op "Eigenschappen", selecteer het apparaat "Audio Adapter Analog Stereo"
  • Ga naar het XFCE-menu, "Werkruimten"
  • Stel daar het aantal desktops in: 2
  • Ctrl-Alt-RightArrow schakelt over naar het tweede bureaublad
  • Herstel de snelkoppeling om Virtual Machine Manager te starten zodat deze als root draait (door sudo), anders werkte het niet voor mij
  • Start Haiku op een tweede bureaublad
  • Start op naar haar bureaublad, stel de resolutie in op FullHD (ik kreeg Haiku niet zover om dit automatisch te doen, er is misschien een manier om QEMUKVM te dwingen de EDID vanaf de monitor te verzenden, maar ik heb een dergelijke instelling niet gevonden in Virtual Machine Manager) [Ik moest een andere videokaart installeren en deze doorsturen naar Haiku... - ongeveer. vertaler]
  • Druk op Ctrl+Alt om het toetsenbord en de muis terug te zetten naar Linux
  • Ctrl-Alt-LeftArrow schakelt over naar het eerste bureaublad
  • Voeg in OBS "Window Capture (XComposite)" toe, selecteer het venster "Haiku on QEMUKVM", schakel het selectievakje "Rood en blauw wisselen" in.
  • Neem een ​​video op, bewerk deze met Shotcut (voer hem uit als root om nvenc-hardwareversnelling te laten werken)
  • Soundtrack uit de YouTube-muziekbibliotheek "Timelapsed Tides". Filters: “Audio fade in”, “Audio fade out”, volume -35db (oké, dat is genoeg, dit is geen instructie voor Shotcut)
  • Exporteren, YouTube, downloaden. De video wordt zonder speciale nabewerking FullHD op YouTube

Voila!

https://youtu.be/CGs-lZEk1h8
Stream Haiku-video met QEMUKVM, USB-geluidskaart, OBS Studio en Shotcut

Ik ben blij, hoewel ik veel gelukkiger zou zijn als de geluidskaart, OBS Studio en Shotcut native in Haiku zouden werken en ik deze langdurige installatie niet hoefde te doorlopen. [Ik zou VirtualBox nemen, alles is meteen aanwezig voor het opnemen van een video-uitzending rechtstreeks in de instellingen van de virtuele machine. — ca. vertaler]

Tracker en zijn add-ons

Tracker voor Haiku is hetzelfde als Finder op Mac of Explorer op Windows. Ik zal proberen te zoeken tracker add-on bij HaikuDepot.

Git-integratie in bestandsbeheer

Ik citeer alleen maar foto's van zijn startpagina

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
TrackGit opgenomen in Haiku-bestandsbeheer

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
U kunt de repository zelfs klonen

Wat is dit, een grap?! Wachtwoord in platte tekst? Verrassend genoeg gebruiken ze geen "sleutelhanger", daarvoor heeft Haiku BKeyStore. Een verzoek achtergelaten.

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
Wachtwoord in platte tekst?

Integratie van pakketbeheer in bestandsbeheer

Volgens de startpagina van het project:

Vindt de pakketten van alle geselecteerde bestanden en opent deze in uw voorkeurstoepassing. Standaard is dit HaikuDepot, waar u een beschrijving van het pakket kunt zien, en op het tabblad Inhoud kunt u andere bestanden zien die deel uitmaken van dit pakket, evenals hun locatie.

Er is waarschijnlijk nog maar één stap over om het pakket te verwijderen...

Autostart/rc.local.d

Hoe start je iets automatisch als het opstart?

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

Ik moet een commando vinden voor het synchroniseren van de lokale tijd via NTP... Ik heb gehoord dat dit over het algemeen automatisch zou moeten werken, maar om de een of andere reden werkt het bij mij niet. Dat is jammer, want ik heb een lege batterij voor de RTC, wat betekent dat de tijd opnieuw wordt ingesteld wanneer de stroom wordt verwijderd.

Meer tips

toepassing Tipster toont handige tips en trucs (bekijk ze!).

Openbare draadloze netwerken

Ik kon tijdens het lopen geen verbinding maken met draadloze netwerken, ook al werkte mijn draadloze thuisnetwerk. Openbare plaatsen (luchthavens, hotels, treinstations) zijn meestal bedekt met meerdere draadloze netwerken, die elk meestal uit meerdere toegangspunten bestaan.

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
Centraal Station Frankfurt

Wat zullen we vinden op Treinstation van Frankfurt? Een aantal verschillende netwerken:

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
Een veel voorkomende situatie voor openbare plaatsen. Hier: centraal station van Frankfurt

Er zijn ruim voldoende mogelijkheden tot aansluiting. Wat doet Haiky met deze netwerken? Eigenlijk niet veel: hij raakt er erg in de war van. Ik was tenslotte al die tijd losgekoppeld van het netwerk.

Toegangspuntoverdracht werkt niet?

Het begint allemaal met het feit dat elk toegangspunt afzonderlijk wordt weergegeven - zelfs als ze tot hetzelfde netwerk met dezelfde SSID behoren - in tegenstelling tot elk ander besturingssysteem dat ik ken.

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
Er worden meerdere punten met dezelfde SSID weergegeven. Hoe zal de overdracht in dergelijke omstandigheden verlopen?

En er mag slechts één SSID worden weergegeven, waarvoor het toegangspunt met het sterkste signaal wordt geselecteerd. De client moet een ander punt kiezen met een sterker signaal, maar met dezelfde SSID (indien beschikbaar), als de verbinding met het huidige toegangspunt te zwak wordt - alles werkt, zelfs bij verplaatsing (clientoverdracht tussen toegangspunten). Een verzoek aangemaakt.

Geen open netwerken?

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
Haiku benadrukt dat er een wachtwoord moet zijn, zelfs als het netwerk open is.

Haiku blijft een netwerkwachtwoord vereisen, hoewel het netwerk zelf geen wachtwoorden vereist. Ook een verzoek aangemaakt.

Verwarring over captive portals?

Veel draadloze netwerken maken gebruik van captive portals, waar de gebruiker wordt doorgestuurd naar een inlogpagina waar hij de voorwaarden en overeenkomsten kan accepteren voordat hij het netwerk gebruikt. Dit heeft mijn besturingssysteem misschien nog meer in de war gebracht. Uiteindelijk werd mijn draadloze subsysteem blijkbaar volledig geblokkeerd.

Mijn tweede week met Haiku: veel verborgen diamanten en aangename verrassingen, maar ook enkele uitdagingen
Na enige tijd werd het hele draadloze subsysteem volledig geblokkeerd

Geen toegang tot het netwerk tijdens het reizen, verdriet en melancholie.

Frustratie met Python

Hoe voer je eenvoudig en moeiteloos een “willekeurig” programma uit in Python? Het bleek dat niet alles zo eenvoudig is. Zelf heb ik tenminste niet alles helemaal begrepen...

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

Opgeschort pip is een bekend probleem (het heeft ondersteuning nodig voor hardlinks, die niet worden ondersteund in Haiku). Ze vertelden me wat ik moest gebruiken python3.6 (Ik zou zeggen dat het een puinhoop is). Geopend applicatie met pit

Waar gaan we verder?

Haiku is een voorbeeld van een gericht pc-besturingssysteem en heeft als zodanig uitstekende principes die de algehele workflows aanzienlijk vereenvoudigen. De ontwikkeling ervan is de afgelopen tien jaar stabiel maar traag geweest, waardoor de hardwareondersteuning vrij beperkt is gebleven en het systeem zelf relatief onbekend is. Maar de situatie is aan het veranderen: hardwareondersteuning maakt het mogelijk om Haiku op een relatief breed scala aan machines te draaien (zij het met fouten), en aangezien de systeemversie niet 10 is, moet het systeem meer publieke aandacht trekken. Hoe kan ik het beste helpen? Ik denk dat deze serie artikelen nuttig zal zijn. Na 1.0 weken heb ik begonnen meld fouten, en startte ook een reeks video-uitzendingen.

Ik spreek nogmaals mijn diepe dankbaarheid uit aan het Haiku-ontwikkelingsteam, jullie zijn de beste! Laat het me zeker weten als je manieren kunt bedenken waarop ik kan bijdragen aan de ontwikkeling van het project, hoewel ik niet van plan ben om in de nabije toekomst in C++ te schrijven.

Probeer het zelf! Het Haiku-project levert immers gegenereerde afbeeldingen voor het opstarten vanaf dvd of USB dagelijks.
Heb je nog vragen? Wij nodigen u uit voor de Russischtalige telegramkanaal.

probono is de oprichter en hoofdontwikkelaar van het AppImage-project, oprichter van het PureDarwin-project en levert een bijdrage aan verschillende open source-projecten. Er zijn screenshots gemaakt op Haiku. Met dank aan de ontwikkelaars op het #haiku-kanaal op irc.freenode.net

Foutoverzicht: Hoe je jezelf in de voet schiet in C en C++. Haiku OS-receptenverzameling

Van auteur vertaling: dit is het negende en laatste artikel in de serie over Haiku.

Lijst met artikelen: eerste Het tweede Третья vierde vijfde zesde zevende Achtste

Bron: www.habr.com

Voeg een reactie