Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Edycja zrzutu ekranu dla tego artykułu — w Haiku

TL;DR: Wydajność jest znacznie lepsza niż na początku. Winny był ACPI. Uruchamianie w maszynie wirtualnej działa doskonale do pokazywania ekranu. Git i menedżer pakietów są wbudowane w menedżer plików. Publiczne sieci bezprzewodowe nie działają. Rozczarowanie z pythonem.

W zeszłym tygodniu odkryłem Haiku, niespodziewanie dobrą system operacyjny. Nawet teraz, w drugim tygodniu, wciąż odnajduję wiele ukrytych skarbów i przyjemnych niespodzianek, a także cotygodniową porcję różnych niuansów.

Wydajność

Okazało się, że opłakana wydajność pierwszego tygodnia, szczególnie w przeglądarce (opóźnienia podczas pisania, na przykład), może być związana z błędną implementacją ACPI w BIOS-ie mojego komputera.

Aby wyłączyć ACPI, wykonuję:

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

i restartuję system. Teraz mój system w końcu reaguje szybko, tak jak zauważyli wcześniej inni recenzenci. Jednak w rezultacie nie mogę już ponownie uruchomić systemu bez kernel panic (wyłączenie można z komunikatem „Teraz można odłączyć zasilanie komputera”).

ACPI, DSDT, iasl

Pewnie trzeba wykonać debugowanie ACPI, coś mi się przypomina z czasów, kiedy pracowałem nad PureDarwin, ponieważ jądro xnu często potrzebowało poprawionych plików DSDT.aml

Zaczynamy...

Pobieram i kompiluję iasl, program do debugowania ACPI od Intela. Właściwie to nie, został już przeniesiony:

~> pkgman install iasl

Zapisuję tabele ACPI:

~> acpidump -o DSDT.dat
Nie można otworzyć katalogu - /sys/firmware/acpi/tables
Nie można uzyskać tabel ACPI, AE_NOT_FOUND

Okazuje się, że to jeszcze nie działa w Haiku, postanawiam ponownie uruchomić Linuxa, tam zgram zawartość ACPI. Następnie poprawiłem błędy za pomocą iasl, edytora tekstu i pewnej wiedzy (można poszukać w Google „patch dsdt fix”) oraz morza cierpliwości. Niemniej jednak, w rezultacie nadal nie udało mi się załadować poprawionego DSDT za pomocą bootloadera Haiku. Prawidłowym rozwiązaniem, być może, będzie przeniesienie ACPI on-the-fly patching, do bootloadera Haiku (tak jak robi to bootloader Clover, poprawiając DSDT w locie na podstawie znaczników i szablonów). Otworzyłem zgłoszenie.

Maszyny wirtualne

Ogólnie rzecz biorąc, nie jestem fanem maszyn wirtualnych, ponieważ zazwyczaj zużywają one więcej pamięci operacyjnej i innych zasobów, które mam do dyspozycji. Poza tym, nie podoba mi się nadmiarowość. Ale musiałem zaryzykować i skorzystać z VM, ponieważ Haiku na razie nie potrafi nagrywać transmisji wideo z dźwiękiem (ponieważ na moim sprzęcie nie działają sterowniki dźwięku, a karta jest podłączona przez usb1 (pierwszej wersji), którego sterownik musi być zbudowany ręcznie). Co chcę powiedzieć: dla takiego rozwiązania udało się uzyskać bardzo dobry wynik przy tworzeniu mojej transmisji wideo. Okazało się, że Virtual Machine Manager to prawdziwy cud. Możliwe, że w to oprogramowanie (którego ignorowałem przez około 15 lat) firma RedHat zainwestowała wszystkie swoje inżynieryjne pieniądze. W każdym razie, ku mojemu wielkiemu zaskoczeniu, zwirtualizowany Haiku działa nieco szybciej niż na tym samym sprzęcie (w to trudno uwierzyć, ale tak mi się zdaje). [Nie wydaje się, że miałem podobne doświadczenia w 2007 roku z właśnie wydanym Centos5, który można było zainstalować wirtualnie w Xen. — uwaga tłumacza]

Transmisja wideo

Moim zdaniem było potrzebnych zbyt wiele ruchów, dlatego nagrałem przewodnik krok po kroku (głównie dla siebie, aby móc to później odtworzyć), ale możecie również skorzystać z tej informacji, aby nagrać swoje transmisje wideo Haiku (co zdecydowanie warto spróbować).

Krótko:

  • Użyj porządnych słuchawek i karty dźwiękowej C-Media USB
  • Uruchom komputer z żywego obrazu Pop!OS NVIDIA (w celu sprzętowego przyspieszenia kodowania nvenc)
  • Pobierz nocny obraz Haiku Anyboot 64bit
  • Skonfiguruj KVM, jak opisano w powyższym artykule
  • Pobierz OBS Studio AppImage (nie zapomnij powiedzieć twórcom, że chcesz wersję oficjalną)
  • Dodaj filtr do tłumienia hałasu w Desktop Audio (kliknij prawym przyciskiem myszy na Desktop Audio, potem „Filtry”, potem „+”, potem „Tłumienie Hałasu”, poziom pozostaw domyślny)
  • Przejdź przez ustawienia dźwięku w XFCE
  • Kliknij prawym przyciskiem myszy na Desktop Audio, następnie „Właściwości”, wybierz urządzenie „Audio Adapter Analog Stereo”
  • Wejdź do menu XFCE, do „Przestrzeni roboczych”
  • Ustaw tam liczbę pulpitów: 2
  • Ctr-Alt-PrawaStrzałka przełącza na drugi pulpit
  • Popraw skrót uruchamiania Virtual Machine Manager, aby uruchamiał się jako root (dodając na początku sudo), w przeciwnym razie nie działał u mnie
  • Uruchom Haiku na drugim pulpicie
  • Zaloguj się do jej pulpitu, ustaw rozdzielczość FullHD (nie udało mi się zmusić Haiku do zrobienia tego automatycznie, być może jest sposób, aby zmusić QEMUKVM do przesyłania EDID z monitora, ale nie znalazłem takiej opcji w Virtual Machine Manager) [trzeba było zainstalować jeszcze jedną kartę graficzną i przekazać ją do Haiku… — przyp. tłumacza]
  • Naciśnij Ctrl+Alt, aby klawiatura i mysz „wróciły” do Linuxa
  • Ctrl-Alt-StrzałkaWLewo przełączy na pierwszy pulpit
  • W OBS dodaj 'Przechwytywanie okna (XComposite)', a następnie wybierz okno 'Haiku na QEMUKVM', zaznacz opcję 'Swap red and blue'.
  • Nagraj wideo, edytuj je za pomocą Shotcut (uruchom go jako root, aby aktywować przyspieszenie sprzętowe nvenc)
  • Ścieżka dźwiękowa z muzycznej biblioteki YouTube 'Timelapsed Tides'. Filtry: 'Audio fade in', 'Audio fade out', głośność -35db (ponoć wystarczy, przecież to nie instrukcja dla Shotcut)
  • Eksport, 'YouTube', ładowanie. Wideo będzie w jakości FullHD na YouTube bez dodatkowej obróbki

Voila!

https://youtu.be/CGs-lZEk1h8
Transmisja wideo Haiku za pomocą QEMUKVM, karty dźwiękowej USB, OBS Studio i Shotcut

Jestem szczęśliwy, chociaż byłbym znacznie szczęśliwszy, gdyby karta dźwiękowa, OBS Studio i Shotcut działały od razu w Haiku, i nie musiałbym robić tej długiej konfiguracji. [Wybrałbym VirtualBox, tam wszystko jest od razu dostępne do nagrywania transmisji wideo w ustawieniach maszyny wirtualnej. — przyp. tłumacza]

Tracker i jego wtyczki

Tracker dla Haiku to odpowiednik Findera w Macu czy Explorera w Windows. Spróbuję poszukać wtyczka trackera w HaikuDepot.

Integracja Gita w menedżerze plików

Po prostu cytuję obrazki z jego strony domowej

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
TrackGit jest zintegrowany w menedżerze plików Haiku

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Można nawet sklonować repozytorium

To co, żart?! Hasło w postaci otwartego tekstu? Zaskakujące, że nie używają 'keychain', ponieważ w Haiku jest BKeyStore. Złożyłem wniosek.

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Hasło w postaci otwartego tekstu?

Integracja menedżera pakietów w menedżerze plików

Zgodnie z informacjami na stronie projektu:

Znalezienie pakietu(-ów) dla dowolnie wybranego pliku(-ów), otwierając go w preferowanej aplikacji. Domyślnie jest to HaikuDepot, gdzie można zobaczyć opis pakietu, a na zakładce 'Zawartość' można zobaczyć inne pliki, które są częścią tego pakietu, oraz ich lokalizację.

Prawdopodobnie pozostał tylko jeden krok, aby usunąć pakiet…

Autostart/rc.local.d

Jak uruchomić coś automatycznie przy starcie?

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

Muszę znaleźć polecenie synchronizacji czasu lokalnego przez NTP... Słyszałem, że powinno to działać automatycznie, ale z jakiegoś powodu u mnie nie działa. Co jest bardzo złe, ponieważ mam wyczerpaną baterię RTC, co oznacza resetowanie czasu przy rozłączeniu zasilania.

Więcej wskazówek

Aplikacja Tipster pokazuje przydatne porady i rekomendacje (zapoznaj się z nimi!).

Publiczne sieci bezprzewodowe

Nie udało mi się połączyć z sieciami bezprzewodowymi podczas spaceru, mimo że moja domowa sieć bezprzewodowa działa. Publiczne miejsca (lotniska, hotele, dworce) zazwyczaj są pokryte wieloma sieciami bezprzewodowymi, z których każda zazwyczaj składa się z kilku punktów dostępowych.

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Centralny dworzec kolejowy we Frankfurcie

Co znajdziemy na dworcu kolejowym we Frankfurcie? Кучу разных сетей:

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Typowa sytuacja w miejscach publicznych. Tutaj: Centralny dworzec kolejowy we Frankfurcie

Opcji połączenia jest pod dostatkiem. A co Haiky robi z tymi sieciami? W rzeczywistości nic: bardzo się w nich gubi. Przecież byłem odłączony od sieci przez cały ten czas.

Nie działa transmisja punktów dostępowych?

Wszystko zaczyna się od tego, że każdy punkt dostępu jest pokazywany osobno, nawet jeśli należą do jednej sieci z wspólnym SSID, w przeciwieństwie do każdej innej, znanej mi, OS.

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Pokazuje kilka punktów z tym samym SSID. Więc jak będzie działać przekazywanie obsługi w takich warunkach?

Powinien być wyświetlany tylko jeden SSID, dla którego będzie dobierany punkt dostępu z najsilniejszym sygnałem. Klient powinien wybrać inny punkt z silniejszym sygnałem, ale z tym samym SSID (przy dostępności), jeśli połączenie z aktualnym punktem dostępu stanie się zbyt słabe — wszystko działa nawet podczas ruchu (przekazywanie obsługi klienta między punktami dostępowymi). Utworzono zgłoszenie.

Brak otwartych sieci?

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Haiku upiera się, że hasło powinno być wymagane, nawet jeśli sieć jest otwarta.

Haiku nadal wymaga hasła do sieci, chociaż sama sieć nie potrzebuje żadnych haseł. Również utworzono zgłoszenie.

Zamieszanie z powodu captive portals?

Wiele sieci bezprzewodowych korzysta z portali przechwytujących, gdy użytkownik jest kierowany na stronę logowania, gdzie może zaakceptować warunki i zasady, zanim zacznie korzystać z sieci. To mogło jeszcze bardziej skomplikować moją obsługę systemu. W końcu, najwyraźniej, moja podsystem bezprzewodowy całkowicie się zablokował.

Mój drugi tydzień z Haiku: wiele ukrytych diamentów i miłych niespodzianek, a także pewne problemy
Po pewnym czasie cały podsystem bezprzewodowy całkowicie się zablokował.

Brak dostępu do sieci w trakcie podróży, smutek.

Rozczarowanie z Pythonem.

Jak łatwo i bez wysiłku uruchomić 'przypadkowo' wybraną aplikację w Pythonie? Okazało się, że nie wszystko jest takie proste. Przynajmniej sam nie do końca to zrozumiałem...

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

Nie znaleziono wersji, która spełniałaby wymagania dotyczące PyQt5==5.12.1 (z -r install/requirements.txt (linia 15)) (dostępne wersje: )
Nie znaleziono pasującej wersji dla PyQt5==5.12.1 (z -r install/requirements.txt (linia 15))

# zatrzymano tutaj - nie kontynuuje ani nie kończy

pkgman i pyqt

# Brak zmian, ten sam błąd; jak dostanę to do venv?
# Próba poza venv

Nie znaleziono wersji, która spełniałaby wymagania dotyczące PyQt5==5.12.1 (z -r install/requirements.txt (linia 15)) (dostępne wersje: )
Nie znaleziono pasującej wersji dla PyQt5==5.12.1 (z -r install/requirements.txt (linia 15))

Zawieszenie pip — znany problem (potrzebuje wsparcia dla hardlinków, które nie są obsługiwane w Haiku). Powiedziano mi, że powinienem użyć python3.6 (powiedziałbym, że to bałagan). Otworzyłem zgłoszenie z pip

Dokąd teraz idziemy?

Haiku to przykład skoncentrowanego systemu operacyjnego dla PC, który ma znakomite zasady, znacznie upraszczające ogólne procesy robocze. Jej rozwój był stabilny, ale powolny — przez ostatnie 10 lat, co spowodowało, że wsparcie sprzętowe pozostało dość ograniczone, a sam system jest stosunkowo mało znany. Jednak sytuacja się zmienia: wsparcie sprzętowe umożliwia uruchomienie Haiku na stosunkowo szerokiej liście maszyn (choć z błędami), a biorąc pod uwagę, że wersja systemu nie jest 1.0 — system musi zwrócić większą uwagę społeczeństwa. W czym mogę najlepiej pomóc? Uważam, że ta seria artykułów będzie przydatna. Po 2 tygodniach ja rozpoczął zgłaszać błędy, a także rozpocząłem serię transmisji wideo.

Jeszcze raz pragnę wyrazić ogromną wdzięczność zespołowi programistów Haiku, jesteście najlepsi! Koniecznie dajcie znać, jeśli wymyślicie, jak mogę przyczynić się do rozwoju projektu, choć nie planuję pisać w C++ w najbliższym czasie.

Spróbuj sam! Projekt Haiku udostępnia obrazy do uruchamiania z DVD lub USB, tworzone codziennie.
Masz pytania? Zapraszamy do naszego rosyjskojęzycznego kanału telegramowego..

probono — założyciel i główny programista projektu AppImage, założyciel projektu PureDarwin, uczestnik różnych projektów z otwartym kodem źródłowym. Zrzuty ekranu zostały wykonane na Haiku. Podziękowania dla programistów na kanale #haiku w sieci irc.freenode.net.

Przegląd błędów: Jak strzelić sobie w stopę w C i C++. Zbiór przepisów Haiku OS

Od autora tłumaczenie: to dziewiąty i ostatni artykuł z cyklu o Haiku.

Lista artykułów: Pierwsza Drugi Trzeci Czwarty Piąty Szósty Siódmy Ósmy

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster