
Редактирование снимка экрана для этой статьи — в 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, . Вообще-то нет, он уже был портирован:
~> 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. Правильным решением, возможно, будет перенос , в загрузчик Haiku (примерно так же, как это , исправляя 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 без особой постобработки
Вуаля!
Видеотрансляция Haiku с помощью QEMUKVM, звуковой карты USB, OBS Studio и Shotcut
Я счастлив, хотя был бы намного счастливее, если бы звуковая карта, OBS Studio и Shotcut изначально работали в Haiku, и мне не пришлось бы выполнять эту длинную настройку. [Взял бы VirtualBox, там все есть сразу для записи видеотрансляции прямо в настройках виртуальной машины. — прим. переводчика]
Tracker и его дополнения
Tracker для Haiku такая же вещь, как Finder в Mac, или Explorer в Windows. Попробую поискать tracker add-on в HaikuDepot.
Интеграция Git в файловой менеджере
Просто цитирую картинки с его домашней страницы

TrackGit включен в файловый менеджер Haiku

Можно даже склонировать репозиторий
Это что, шутка?! Пароль открытым текстом? Удивительно, что они не используют «keychain», для этого в Haiku есть BKeyStore. .

Пароль открытым текстом?
Интеграция менеджера пакетов в файловый менеджер
Согласно домашней страницы проекта:
Находит пакет(-ы) любого выбранного файла(-ов), открывая его в предпочтительном приложении. По-умолчанию это HaikuDepot, где можно посмотреть описание пакета, а на вкладке «Содержимое» можно увидеть другие файлы, которые являются частью этого пакета, а также их местоположение.
Вероятно, остался только один шаг для удаления пакета…
Autostart/rc.local.d
Как же запускать что-либо автоматически при загрузке?
- rc.local.d = /boot/home/config/settings/boot/userbootscript
- Autostart = /boot/home/config/settings/boot/user/launch
Мне надо найти команду синхронизации локального времени по NTP… Я слышал, что оно вообще должно работать автоматически, но у меня почему-то не работает. Что очень плохо, поскольку у меня сдохшая батарея для RTC, что означает сброс времени при отключении питания.
Больше подсказок
Приложение показывает полезные советы и рекомендации (ознакомьтесь с ними!).
Публичные беспроводные сети
У меня не получилось подключиться к беспроводным сетям во время прогулки несмотря на то, что домашняя беспроводная сеть у меня работает. Публичные места (аэропорты, отели, вокзалы) обычно покрыты множеством беспроводных сетей, каждая из которых обычно состоит из нескольких точек доступа.

Центральный ж/д вокзал Франкфурта
А что же мы найдем на ? Кучу разных сетей:

Обычная ситуация для публичных мест. Здесь: Центральный ж/д вокзал Франкфурта
Возможностей для подключения — хоть отбавляй. А что делает Haiky с этими сетями? На самом деле не много: сильно путается в них. Ведь я был отключен от сети все это время.
Не работает передача точек доступа?
Все начинается с того, что каждая точка доступа показывается отдельно, — даже если они принадлежат одной сети с общим SSID, — не то что на любой другой, знакомой мне, ОС.

Показывается несколько точек с одинаковым SSID. Ну, и как будет работать передача обслуживания в таких условиях?
А должен отображаться только один SSID, для которого будет подбираться точка доступа с самым сильным сигналом. Клиент должен выбрать другую точку с более сильным сигналом, но с тем же SSID (при доступности), если связь с текущей точкой доступа станет слишком слабой — все работает даже при перемещении (передача обслуживания клиента между точками доступа). .
Никаких открытых сетей?

Haiku настаивает на том, что должен быть пароль, даже если сеть открытая.
Haiku продолжает требовать пароль сети, хотя самой сети никаких паролей не нужно. Также .
Путаница из-за captive portals?
Многие беспроводные сети используют captive portals, когда пользователь перенаправляется на страницу авторизации, где может принять условия и соглашения, прежде чем использовать сеть. Возможно, это запутало мою ОС еще больше. В конце концов, по всей видимости, беспроводная подсистема у меня заблокировалась полностью.

Спустя некоторое время вся беспроводная подсистема полностью заблокировалась
Нет доступа к сети во время путешествия, печаль-тоска.
Разочарование с 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 (я бы сказал, что это бардак). Открыл
Куда идем дальше?
Haiku является примером сфокусированной операционной системы для ПК, и как таковая имеет отличные принципы, значительно упрощающие общие рабочие процессы. Её разработка была стабильной, но неспешной — последние лет 10, в результате чего поддержка оборудования осталась достаточно ограниченной, а сама система относительно неизвестной. Но ситуация меняется: поддержка оборудования обеспечивает возможность запуска Haiku на относительно широком списке машин (хотя и с ошибками), а с учетом того, что версия системы не 1.0 — системе надо привлечь большее внимание общественности. Чем я могу помочь лучше всего? Полагаю, эта серия статей будет полезна. Спустя 2 недели я , а также начал серию видеотрансляций.
Еще раз выражаю огромную благодарность команде разработчиков Haiku, вы лучшие! Обязательно дайте знать, если придумаете, как я смогу внести вклад в развитие проекта, хотя я и не планирую писать на с++ в ближайшее время.
Попробуйте сами! Ведь проект Haiku предоставляет образы для загрузки с DVD или USB, формируемые .
Появились вопросы? Приглашаем вас в русскоязычный .
probono — основатель и ведущий разработчик проекта AppImage, основатель проекта PureDarwin, участник различных проектов с открытым исходным кодом. Снимки экрана были сделаны на Haiku. Благодарность выражается разработчикам на канале #haiku в сети irc.freenode.net
Обзор ошибок:
От перевода: это девятая и заключительная статья из цикла про Haiku.
Список статей:
Источник: habr.com
