Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Редагування знімка екрана для цієї статті — у Haiku

TL; DR: Продуктивність набагато краща, ніж спочатку. Винен був ACPI. Запуск у віртуальній машині працює чудово для показу екрана. Git та менеджер пакетів вбудовані у файловий менеджер. Громадські бездротові мережі не працюють. Розчарування з python.

Минулого тижня я відкрив для себе Haiku, несподівано хорошу систему. І навіть зараз, другого тижня я продовжую знаходити безліч прихованих алмазів і приємних сюрпризів, ну і, само собою, щотижневу порцію різних нюансів.

Продуктивність

Як виявилося, плачевна продуктивність першого тижня, особливо в браузері (затримки при наборі тексту, наприклад), можливо, пов'язані з кривою реалізацією ACPI в BIOS мого комп'ютера.

Для того, щоб вимкнути ACPI я роблю:

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

та перезавантажуюсь. Тепер моя система нарешті відгукується швидко, як і було зазначено в минулому іншими рецензентами. Але в результаті я більше не можу перезавантажуватися без kernel panic (вимкнути можна з повідомленням "Тепер живлення комп'ютера можна вимкнути").

ACPI, DSDT, iasl

Та гаразд, швидше за все, треба виконати налагодження ACPI, я щось неясно пам'ятаю про це з тих часів, коли працював над PureDarwin, тому що ядру xnu частенько були потрібні виправлені файли DSDT.aml

Погнали…

Качаю та збираю iasl, програму налагодження ACPI від Intel. Взагалі ні, він уже був портований:

~>  pkgman install iasl

Зберігаю таблиці ACPI:

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

Виявляється, воно ще не працює в Haiku, вирішую перезавантажитись на Linux, там і зніму вміст ACPI. Потім я виправив помилки за допомогою iasl, текстового редактора та деяких знань (можна пошукати в Google patch dsdt fix) і безодні терпіння. Тим не менш, в результаті мені все одно не вдалося завантажити виправлений DSDT за допомогою завантажувача Haiku. Правильним рішенням, можливо, буде перенесення ACPI on-the-fly patching, в завантажувач Haiku (приблизно так само, як це робить завантажувач Clover, виправляючи DSDT на льоту за мітками та шаблонами). Я відкрив заявку.

Віртуальні машини

Загалом я не фанат віртуальних машин, оскільки вони найчастіше споживають більше оперативної пам'яті та інших ресурсів, які мені доступні. Крім того, мені не подобається накладні витрати. Але мені довелося ризикнути і скористатися ВМ, оскільки Haiku поки що не вміє записувати відеотрансляції зі звуком (оскільки на моєму обладнанні не працюють драйвера звуку і є картка, що підключається за usb1 (першою версією), а її драйвер має бути зібраний вручну). Що хочу сказати: для такого рішення вдалося отримати дуже добрий результат при створенні моєї відеотрансляції. Виявилося, що Virtual Machine Manager – справжнє диво. Можливо, у це програмне забезпечення (яке я років 15 ігнорував) компанія RedHat вклала всі свої інженерні гроші. У всякому разі, на мій великий подив, віртуалізована Haiku працює трохи швидше, ніж на такому ж обладнанні (у це важко повірити. але мені так здається). [Не здається, був аналогічний досвід у 2007 році з Centos5, що тільки що вийшла, яку можна було встановити віртуалізованою в Xen. - прим. перекладача]

Відео трансляція

Тілорухів, на мій смак, знадобилося забагато, тому я записав покрокове керівництво (здебільшого для себе ж, щоб відтворити потім), але ви також можете скористатися цією інформацією для запису своїх відеотрансляцій Haiku (що точно варто спробувати).

коротко:

  • Використовуйте пристойні навушники та звукову карту C-Media USB
  • Завантажте комп'ютер за допомогою живого образу Pop!OS NVIDIA (для апаратного прискорення кодування nvenc)
  • Скачайте нічний образ Haiku Anyboot 64bit
  • Налаштуйте KVM, як було описано у статті вище
  • Завантажте OBS Studio AppImage (не забудьте сказати розробникам, що хочете офіційний)
  • Додайте фільтр для шумоподавлення в Desktop Audio (клацаємо правою кнопкою миші по Desktop Audio, потім Filters, потім +, потім Noise Suppression, рівень залиште за замовчуванням)
  • Пройдіться за налаштуваннями звуку в XFCE
  • Клацніть правою кнопкою миші по Desktop Audio, потім "Properties", виберіть пристрій "Audio Adapter Analog Stereo"
  • Зайдіть в меню XFCE, у «Workspaces»
  • Виставте там кількість робочих столів: 2
  • Ctr-Alt-ПравийСтрілка переключить на другий робочий стіл
  • Виправте ярлик для запуску Virtual Machine Manager так, щоб він запускався від root (додаючи спочатку sudo), інакше він у мене не працював
  • Запустіть Haiku на другому робочому столі
  • Завантажтеся до її робочого столу, виставте роздільну здатність FullHD (мені не вдалося змусити Haiku зробити це автоматично, можливо є спосіб змусити QEMUKVM передавати EDID від монітора, але я не знайшов таке налаштування у Virtual Machine Manager) [треба було поставити ще одну відеокарту і прокинути її в Haiku ... - Прим. перекладача]
  • Натисніть Ctrl+Alt для того, щоб клавіатура та миша повернулися до Linux
  • Ctr-Alt-ЛіваСтрілка переключить на перший робочий стіл
  • В OBS додайте "Window Capture (XComposite)", і виберіть вікно "Haiku on QEMUKVM", увімкніть галку "Swap red and blue".
  • Запишіть відео, відредагуйте його за допомогою Shotcut (запустіть його від користувача root, щоб працювало апаратне прискорення nvenc)
  • Звукова доріжка із музичної бібліотеки YouTube «Timelapsed Tides». Фільтри: "Audio fade in", "Audio fade out", гучність -35db (гаразд, досить, це ж не інструкція для Shotcut)
  • Експорт, YouTube, завантаження. Відео стане FullHD на YouTube без особливої ​​постобробки

Вуаля!

https://youtu.be/CGs-lZEk1h8
Відеотрансляція Haiku за допомогою QEMUKVM, звукової карти USB, OBS Studio та Shotcut

Я щасливий, хоча був би набагато щасливішим, якби звукова карта, OBS Studio і Shotcut спочатку працювали в Haiku, і мені не довелося б виконувати це довге налаштування. [Взяв би VirtualBox, там все є одразу для запису відеотрансляції прямо у налаштуваннях віртуальної машини. - прим. перекладача]

Tracker та його доповнення

Tracker для Haiku така ж річ, як Finder у Mac, або Explorer у Windows. Спробую пошукати tracker add-on у HaikuDepot.

Інтеграція Git у файловому менеджері

Просто цитую картинки з його домашньої сторінки

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
TrackGit включений у файловий менеджер Haiku

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Можна навіть схилювати репозиторій

Це що, жарт?! Пароль відкритим текстом? Дивно, що вони не використовують "keychain", для цього в Haiku є BKeyStore. Залишив заявку.

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Пароль відкритим текстом?

Інтеграція менеджера пакетів у файловий менеджер

Відповідно до домашньої сторінки проекту:

Знаходить пакет(и) будь-якого вибраного файлу(-ів), відкриваючи його у кращому додатку. За промовчанням це HaikuDepot, де можна переглянути опис пакета, а на вкладці «Вміст» можна побачити інші файли, які є частиною цього пакета, а також їх місцезнаходження.

Ймовірно, залишився лише один крок для видалення пакету.

Autostart/rc.local.d

Як же запускати щось автоматично під час завантаження?

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

Мені треба знайти команду синхронізації локального часу за NTP… Я чув, що воно взагалі має працювати автоматично, але в мене чомусь не працює. Що дуже погано, оскільки я здохла батарея для RTC, що означає скидання часу при відключенні живлення.

Більше підказок

додаток Типстер показує корисні поради та рекомендації (ознайомтеся з ними!).

Публічна бездротова мережа

У мене не вдалося підключитися до бездротових мереж під час прогулянки незважаючи на те, що домашня бездротова мережа у мене працює. Публічні місця (аеропорти, готелі, вокзали) зазвичай покриті безліччю бездротових мереж, кожна з яких зазвичай складається з кількох точок доступу.

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Центральний залізничний вокзал Франкфурта

А що ж ми знайдемо на залізничному вокзалі Франкфурта? Купу різних мереж:

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Звичайна ситуація для громадських місць. Тут: Центральний залізничний вокзал Франкфурта

Можливостей для підключення – хоч відбавляй. А що робить Haiky із цими мережами? Насправді небагато: сильно плутається в них. Адже я був відключений від мережі весь цей час.

Не працює передача точок доступу?

Все починається з того, що кожна точка доступу показується окремо, навіть якщо вони належать одній мережі із загальним SSID, не те що на будь-якій іншій, знайомій мені, ОС.

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Відображається кілька точок з однаковим SSID. Ну, і як працюватиме передача обслуговування за таких умов?

А має відображатися лише один SSID, для якого підбиратиметься точка доступу з найсильнішим сигналом. Клієнт повинен вибрати іншу точку з сильнішим сигналом, але з тим же SSID (при доступності), якщо зв'язок з поточною точкою доступу стане занадто слабким - все працює навіть при переміщенні (передача обслуговування клієнта між точками доступу). Створив заявку.

Жодних відкритих мереж?

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Haiku наполягає на тому, що має бути пароль, навіть якщо мережа відкрита.

Haiku продовжує вимагати пароль мережі, хоча самої мережі жодних паролів не потрібно. Також створив заявку.

Плутанина через captive portals?

Багато бездротових мереж використовують captive portals, коли користувач перенаправляється на сторінку авторизації, де може прийняти умови та угоди, перш ніж використовувати мережу. Можливо, це заплутало мою ОС ще більше. Зрештою, мабуть, бездротова підсистема в мене заблокувалася повністю.

Мій другий тиждень з Haiku: безліч прихованих алмазів і приємних сюрпризів, а також деякі проблеми
Через деякий час вся бездротова підсистема повністю заблокувалася

Немає доступу до мережі під час подорожі, сум-сум.

Розчарування з Python

Як легко і невимушено запустити "випадково" вибрану програму на Python? Виявилось, не все так просто. Принаймні, я сам не до кінця все зрозумів…

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

Підвислий pip - Відома проблема (йому потрібна підтримка hardlinks, які не підтримуються в Haiku). Мені підказали, що треба використати python3.6 (Я б сказав, що це бардак). Відкрив заявку з pip

Куди йдемо далі?

Haiku є прикладом сфокусованої операційної системи для ПК і як така має відмінні принципи, що значно спрощують загальні робочі процеси. Її розробка була стабільною, але неспішною — останні 10 років, внаслідок чого підтримка обладнання залишилася досить обмеженою, а сама система відносно невідомою. Але ситуація змінюється: підтримка обладнання забезпечує можливість запуску Haiku на відносно широкому списку машин (хоча і з помилками), а з огляду на те, що версія системи не 1.0 — системі треба привернути більшу увагу громадськості. Чим я можу допомогти найкраще? Вважаю, ця серія статей буде корисною. Через 2 тижні я почав повідомляти про помилки, а також розпочав серію відеотрансляцій.

Ще раз висловлюю величезну подяку команді розробників Haiku, ви найкращі! Обов'язково дайте знати, якщо придумаєте, як я зможу зробити внесок у розвиток проекту, хоча я і не планую писати на с++ найближчим часом.

Спробуйте самі! Адже проект Haiku надає образи для завантаження з DVD або USB, що формуються щодня.
Постали питання? Запрошуємо вас до російськомовної telegram-канал.

probono — засновник та провідний розробник проекту AppImage, засновник проекту PureDarwin, учасник різних проектів із відкритим вихідним кодом. Знімки екрану зроблено на Haiku. Подяка виражається розробникам на каналі #haiku у мережі irc.freenode.net

Огляд помилок: Як вистрілити собі в ногу у C та C++. Збірник рецептів Haiku OS

Від автора перекладу: це дев'ята та заключна стаття з циклу про Haiku.

Список статей: перша Друга третя четверта п'ята шоста Сьома восьма

Джерело: habr.com

Додати коментар або відгук