Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Pag-edit ng screenshot para sa artikulong ito - sa Haiku

TL; DR: Ang pagganap ay mas mahusay kaysa sa orihinal. ACPI ang dapat sisihin. Ang pagpapatakbo sa isang virtual machine ay gumagana nang maayos para sa pagbabahagi ng screen. Ang Git at isang package manager ay binuo sa file manager. Ang mga pampublikong wireless network ay hindi gumagana. Pagkadismaya sa sawa.

Nakaraang linggo Natuklasan ko ang Haiku, isang hindi inaasahang magandang sistema. At kahit ngayon, sa ikalawang linggo, patuloy akong nakakahanap ng maraming mga nakatagong diamante at kaaya-ayang mga sorpresa, at, siyempre, isang lingguhang bahagi ng iba't ibang mga nuances.

Pagiging Produktibo

Sa lumalabas, ang hindi magandang pagganap ng unang linggo, lalo na sa browser (mga pagkaantala kapag nagta-type, halimbawa), ay maaaring nauugnay sa baluktot na pagpapatupad ng ACPI sa BIOS ng aking computer.

Para i-disable ang ACPI ginagawa ko:

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

at i-reboot. Ngayon ang aking system ay sa wakas ay tumutugon nang mabilis, tulad ng nabanggit ng ibang mga tagasuri sa nakaraan. Ngunit bilang isang resulta, hindi na ako makakapag-reboot nang walang kernel panic (maaaring gawin ang shutdown gamit ang mensaheng "Maaari mo nang patayin ang kapangyarihan ng computer").

ACPI,DSDT,IASL

Oh well, malamang na kailangan mong gumawa ng ilang ACPI debugging, malabo kong naaalala ang isang bagay tungkol dito mula sa mga araw na nagtatrabaho ako sa PureDarwin, dahil ang xnu kernel ay madalas na nangangailangan ng mga nakapirming file DSDT.aml

Tara na...

Nagda-download at nangongolekta iasl, ACPI debugger ng Intel. Sa totoo lang hindi, na-port na ito:

~>  pkgman install iasl

Nagse-save ako ng mga talahanayan ng ACPI:

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

Lumalabas na hindi pa ito gumagana sa Haiku, nagpasya akong mag-reboot sa Linux at alisin ang nilalaman ng ACPI doon. Pagkatapos ay inayos ko ang mga error gamit ang iasl, isang text editor, ilang kaalaman (maaari mong i-Google ang "patch dsdt fix") at maraming pasensya. Gayunpaman, bilang isang resulta, hindi ko pa rin na-download ang na-patch na DSDT gamit ang Haiku downloader. Ang tamang solusyon ay maaaring ilipat ACPI on-the-fly patching, sa Haiku bootloader (halos kapareho nito gumagawa ng Clover bootloader, pagwawasto sa DSDT sa mabilisang batay sa mga label at pattern). binuksan ko kahilingan.

Mga virtual machine

Sa pangkalahatan, hindi ako isang tagahanga ng mga virtual machine, dahil madalas silang kumonsumo ng mas maraming RAM at iba pang mga mapagkukunan na magagamit sa akin. Gayundin, hindi ko gusto ang overhead. Ngunit kailangan kong makipagsapalaran at gumamit ng VM, dahil hindi pa alam ng Haiku kung paano mag-record ng mga video broadcast na may tunog (dahil ang aking kagamitan ay walang sound driver at mayroong isang card na konektado sa pamamagitan ng usb1 (unang bersyon), at ang driver nito ay dapat na i-assemble nang manu-mano). Ang gusto kong sabihin: para ganyang desisyon Nagawa kong makakuha ng napakagandang resulta sa paggawa ng aking video broadcast. Ang Virtual Machine Manager ay isang tunay na himala. Marahil ay namuhunan ang RedHat ng lahat ng pera sa engineering sa software na ito (na hindi ko pinansin sa loob ng 15 taon). Sa anumang kaso, sa aking malaking sorpresa, ang virtualized na Haiku ay tumatakbo nang kaunti nang mas mabilis kaysa sa parehong hardware (mahirap paniwalaan, ngunit ito ay tila sa akin). [Sa palagay ko ay walang katulad na karanasan noong 2007 sa kakalabas lang na Centos5, na maaaring mai-install na virtualized sa Xen. β€” tinatayang. tagasalin]

Video broadcast

Ito ay medyo sobra para sa gusto ko, kaya nag-record ako ng sunud-sunod na gabay (karamihan para sa aking sarili upang i-play muli sa ibang pagkakataon), ngunit maaari mo ring gamitin ang impormasyong ito upang i-record ang iyong mga Haiku video stream (na talagang sulit na subukan ).

Sa madaling sabi:

  • Gumamit ng disenteng headphone at C-Media USB sound card
  • I-boot ang iyong computer gamit ang Pop!OS NVIDIA live na imahe (para sa hardware accelerated nvenc encoding)
  • I-download ang Haiku Anyboot 64bit night image
  • I-set up ang KVM gaya ng inilarawan sa artikulo sa itaas
  • I-download ang OBS Studio AppImage (huwag kalimutang sabihin sa mga developer na gusto mo ang opisyal)
  • Magdagdag ng filter na pampababa ng ingay sa Desktop Audio (i-right click sa Desktop Audio, pagkatapos ay "Mga Filter", pagkatapos ay "+", pagkatapos ay "Noise Suppression", iwanan ang antas sa default)
  • Pumunta sa mga setting ng tunog sa XFCE
  • Mag-right click sa Desktop Audio, pagkatapos ay "Properties", piliin ang device na "Audio Adapter Analog Stereo"
  • Pumunta sa XFCE menu, "Workspaces"
  • Itakda ang bilang ng mga desktop doon: 2
  • Ang Ctr-Alt-RightArrow ay lilipat sa pangalawang desktop
  • Ayusin ang shortcut upang ilunsad ang Virtual Machine Manager upang ito ay tumakbo bilang ugat (sa pamamagitan ng pagdaragdag sudo), kung hindi, hindi ito gumana para sa akin
  • Ilunsad ang Haiku sa pangalawang desktop
  • Mag-boot sa kanyang desktop, itakda ang resolution sa FullHD (Hindi ko magawang awtomatikong gawin ito ni Haiku, maaaring may paraan para pilitin ang QEMUKVM na i-transmit ang EDID mula sa monitor, ngunit wala akong nakitang ganoong setting sa Virtual Machine manager) [Kailangan kong mag-install ng isa pang video card at ipasa ito sa Haiku... - approx. tagasalin]
  • Pindutin ang Ctrl+Alt upang ibalik ang keyboard at mouse sa Linux
  • Ang Ctr-Alt-LeftArrow ay lilipat sa unang desktop
  • Sa OBS, idagdag ang "Window Capture (XComposite)", at piliin ang window na "Haiku on QEMUKVM", i-on ang checkbox na "Swap red and blue".
  • Mag-record ng video, i-edit ito gamit ang Shotcut (patakbuhin ito bilang ugat para gumana ang nvenc hardware acceleration)
  • Soundtrack mula sa library ng musika sa YouTube na "Timelapsed Tides". Mga Filter: "Audio fade in", "Audio fade out", volume -35db (okay, sapat na, hindi ito tagubilin para sa Shotcut)
  • I-export, YouTube, i-download. Ang video ay magiging FullHD sa YouTube nang walang anumang espesyal na post-processing

VoilΓ !

https://youtu.be/CGs-lZEk1h8
Stream Haiku Video gamit ang QEMUKVM, USB Sound Card, OBS Studio at Shotcut

Masaya ako, bagama't mas magiging masaya ako kung ang sound card, ang OBS Studio at Shotcut ay gagana nang katutubong sa Haiku at hindi ko na kailangang dumaan sa mahabang setup na ito. [Kukunin ko ang VirtualBox, lahat ay naroroon kaagad para sa pag-record ng isang video broadcast sa mismong mga setting ng virtual machine. β€” tinatayang. tagasalin]

Tracker at mga add-on nito

Ang Tracker para sa Haiku ay pareho sa Finder sa Mac, o Explorer sa Windows. Susubukan kong maghanap tracker add-on sa HaikuDepot.

Pagsasama ng Git sa file manager

Pag-quote lamang ng mga larawan mula sa kanyang home page

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Kasama ang TrackGit sa Haiku file manager

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Maaari mo ring i-clone ang repositoryo

Ano ito, joke?! Plain text password? Nakakagulat na hindi sila gumagamit ng "keychain", ang Haiku ay mayroong BKeyStore para doon. Nag-iwan ng kahilingan.

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Plain text password?

Pagsasama ng package manager sa file manager

Ayon sa home page ng proyekto:

Hinahanap ang (mga) pakete ng anumang napiling (mga) file, na binubuksan ito sa iyong gustong aplikasyon. Bilang default, ito ay HaikuDepot, kung saan makikita mo ang isang paglalarawan ng package, at sa tab na "Mga Nilalaman" maaari mong makita ang iba pang mga file na bahagi ng package na ito, pati na rin ang kanilang lokasyon.

Marahil isang hakbang na lang ang natitira upang alisin ang pakete...

Autostart/rc.local.d

Paano mo awtomatikong sisimulan ang isang bagay kapag nag-boot ito?

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

Kailangan kong makahanap ng isang utos para sa pag-synchronize ng lokal na oras sa pamamagitan ng NTP... Narinig ko na sa pangkalahatan ay dapat itong awtomatikong gumana, ngunit sa ilang kadahilanan ay hindi ito gumagana para sa akin. Which is too bad because I have a dead battery for the RTC which means nagre-reset ang oras kapag natanggal ang power.

Higit pang mga tip

App Mga Tipter nagpapakita ng mga kapaki-pakinabang na tip at trick (tingnan ang mga ito!).

Mga pampublikong wireless network

Hindi ako nakakonekta sa mga wireless network habang naglalakad, kahit na gumagana ang aking home wireless network. Ang mga pampublikong lugar (mga paliparan, hotel, istasyon ng tren) ay karaniwang sakop ng maraming wireless network, na ang bawat isa ay karaniwang binubuo ng ilang mga access point.

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Frankfurt Central Station

Ano ang makikita natin sa istasyon ng tren sa Frankfurt? Isang grupo ng iba't ibang network:

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Isang karaniwang sitwasyon para sa mga pampublikong lugar. Dito: Frankfurt Central Station

Mayroong higit sa sapat na mga posibilidad para sa koneksyon. Ano ang ginagawa ni Haiky sa mga network na ito? Sa katunayan, hindi gaanong: nalilito siya sa kanila. Pagkatapos ng lahat, na-disconnect ako sa network sa lahat ng oras na ito.

Hindi gumagana ang paglipat ng access point?

Nagsisimula ang lahat sa bawat access point na ipinapakita nang hiwalay - kahit na kabilang sila sa parehong network na may parehong SSID - hindi katulad sa anumang iba pang OS na pamilyar sa akin.

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Ang ilang mga puntos na may parehong SSID ay ipinapakita. Well, paano gagana ang handover sa ganitong mga kondisyon?

At isang SSID lang ang dapat ipakita, kung saan pipiliin ang access point na may pinakamalakas na signal. Ang kliyente ay dapat pumili ng isa pang punto na may mas malakas na signal, ngunit may parehong SSID (kung magagamit), kung ang koneksyon sa kasalukuyang access point ay nagiging masyadong mahina - lahat ay gumagana kahit na gumagalaw (paghahatid ng kliyente sa pagitan ng mga access point). Gumawa ng kahilingan.

Walang bukas na network?

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Iginiit ni Haiku na dapat mayroong password, kahit na bukas ang network.

Ang Haiku ay patuloy na nangangailangan ng password sa network, kahit na ang network mismo ay hindi nangangailangan ng anumang mga password. Gayundin gumawa ng kahilingan.

Pagkalito sa mga bihag na portal?

Maraming mga wireless network ang gumagamit ng mga captive portal, kung saan ang user ay na-redirect sa isang login page kung saan maaari silang tumanggap ng mga tuntunin at kasunduan bago gamitin ang network. Ito ay maaaring mas nalito ang aking OS. Sa huli, tila, ang aking wireless subsystem ay ganap na na-block.

Pangalawang linggo ko sa Haiku: maraming nakatagong diamante at magagandang sorpresa, pati na rin ang ilang hamon
Pagkaraan ng ilang oras, ang buong wireless subsystem ay ganap na na-block

Walang access sa network habang naglalakbay, kalungkutan at mapanglaw.

Pagkadismaya kay Python

Paano madali at walang kahirap-hirap na magpatakbo ng isang "random" na programa sa Python? Ito ay lumabas na hindi lahat ay napakasimple. Atleast hindi ko lubos na naintindihan ang lahat...

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

Nasuspinde pip ay isang kilalang isyu (kailangan nito ng suporta para sa mga hardlink, na hindi sinusuportahan sa Haiku). Sinabi nila sa akin kung ano ang gagamitin python3.6 (Sasabihin kong ito ay isang gulo). Binuksan application na may pip

Saan tayo susunod?

Ang Haiku ay isang halimbawa ng isang nakatutok na operating system ng PC, at dahil dito ay may mahusay na mga prinsipyo na lubos na nagpapasimple sa mga pangkalahatang daloy ng trabaho. Ang pag-unlad nito ay naging matatag ngunit mabagal sa nakalipas na 10 taon, bilang isang resulta kung saan ang suporta sa hardware ay nanatiling medyo limitado at ang system mismo ay medyo hindi kilala. Ngunit ang sitwasyon ay nagbabago: ang suporta sa hardware ay ginagawang posible na patakbuhin ang Haiku sa isang medyo malawak na hanay ng mga makina (kahit na may mga error), at ibinigay na ang bersyon ng system ay hindi 1.0, ang sistema ay kailangang makaakit ng higit na pansin ng publiko. Paano ako pinakamahusay na makakatulong? Naniniwala ako na ang seryeng ito ng mga artikulo ay magiging kapaki-pakinabang. Pagkatapos ng 2 linggo ko nagsimula mag-ulat ng mga bug, at nagsimula rin ng serye ng mga video broadcast.

Muli kong ipinapahayag ang aking lubos na pasasalamat sa Haiku development team, ikaw ang pinakamahusay! Siguraduhing ipaalam sa akin kung maiisip mo kung paano ako makakapag-ambag sa pagbuo ng proyekto, bagama't hindi ko planong magsulat sa C++ sa malapit na hinaharap.

Subukan ito sa iyong sarili! Pagkatapos ng lahat, ang proyekto ng Haiku ay nagbibigay ng mga larawan para sa pag-boot mula sa DVD o USB, na nabuo araw-araw.
May tanong ka ba? Inaanyayahan ka namin sa nagsasalita ng Ruso channel ng telegram.

probono ay ang founder at lead developer ng AppImage project, founder ng PureDarwin project, at contributor sa iba't ibang open source na proyekto. Kinuha ang mga screenshot sa Haiku. Salamat sa mga developer sa #haiku channel sa irc.freenode.net

Pangkalahatang-ideya ng error: Paano i-shoot ang iyong sarili sa paa sa C at C++. Koleksyon ng mga recipe ng Haiku OS

Mula sa may-akda pagsasalin: ito ang ikasiyam at huling artikulo sa serye tungkol sa Haiku.

Listahan ng mga artikulo: Muna Ang pangalawang Ang ikatlo Pang-apat Pang-lima Ika-anim Ikapito ikawalo

Pinagmulan: www.habr.com

Magdagdag ng komento