Адаптация Wayland

Прогресс, как известно, товарищ шиложопый и на месте стоять просто неспособен. Это, к счастью, касается и многострадального графического стека в GNU+Linux. На предпочитаемых мною ARM-based устройствах (напомню, что это Raspberry Pi 4B+ в качестве рабочей станции и MNT Reform2 в качестве лэптопа) старый, но всё менее добрый с годами Xorg показывает просто ужасающую производительность, в отличие от новомодного Wayland - тиринг в видео, внезапные глитчи при отрисовке окон... Проще пристрелить и выкинуть, чем разбираться, что же пошло не так.

К счастью, человечество подарило нам прекрасный композитор sway, полностью повторяющий функциональность (и, что важно, совместимый с конфигом) оконного менеджера i3, являющегося, с моей точки зрения, безусловным совершенством в данной нише.

Разумеется, не всё гладко - многие привычные в Иксах утилиты вроде setxkbmap здесь не работают. Но выход, как водится, нашёлся.

Устройства ввода и Wayland

Раскладки клавиатуры

(если мне не изменяет память, данный конфиг уже приводился мной, но повторение — мать учения и сестра заикания)

Как уже упоминалось, setxkbmap здесь не сработает, зато, как выяснилось, sway умеет парсить .xkb-файлы. Этим и воспользуемся.

Пример конфига, добавляющего дополнительных функций бесполезной (в случае с Reform) клавише Hyper и переключение раскладок us/ru сочетанием Ctrl+Alt:

Далее подключаем этот файл в ~/.config/sway/config:

Индикация

Теперь неплохо бы видеть, какая раскладка установлена. Можно использовать светодиоды на клавиатуре, но они во-первых, не везде есть, во-вторых, не всегда удобны - на экране-то нагляднее.

Я использую стандартный swaybar, получающий данные из скрипта.

~/.config/sway/config:

~/.local/bin/status:

В данном случае раскладка вынимается из ответа swaymsg, и парсится jq, далее выводясь в панели в человекочитаемом виде: "English (US)" или "Russian". Ещё одна интересная, но специфичная вещь - упомянутый тут скрипт patoggle (переменная painput) — он показывает, какой аудиовыход используется в настоящий момент и переключет его, будучи вызванным без параметров. Штука специфична для Reform и для нелюбителей автоматического переключения при втыкании наушников.

Трекбол

На десктопе я вместо мыши использую трекбол Logitech Marble, который при всём своём удобстве вызывает вопрос "а как скроллить-то?". Решается приколачиванием к мелкой дополнительной кнопке (по умолчанию это кнопка "назад") новой функции:

~/.config/sway/config

Адаптация софта

Поначалу я недоумевал, почему переход "вяленый" не дал особого эффекта там, где, казалось бы, и должна была случиться основная магия - в проигрывании порн^W видео из интернетов и локального хранилища. Оказалось, что приложения просто изо всех сил старались обнаружить старые добрые Иксы и система услужливо подставляла им тормознутую прослойку Xwayland. Штош, будем отучать.

Qutebrowser

(да и для другого Qt'шного софта подходит)

Просто вызываю его скриптом, в котором объявляю следующие переменные:

Electron, Chrome-based

Если у вас имеются в использовании приложения на Electron (не надо плеваться, инструмент не виноват, что его часто используют обезьяны, это всего лишь движок браузера, потому, например, браузер Vieb тут очень даже в кассу), то пригодится добавить к их вызову следующие параметры:

MPV

Старичок тоже поначалу зачем-то пытался воспроизводить с использованием непонятно чего, и люто тормозил в результате. Поможем ему определиться в этой жизни.Так как вызываю я его в 99% случаев из командной строки, то просто добавил в .bashrc:

Замена привычных утилит

Уведомления

Под Иксами использовал демон уведомлений dunst. Здесь имеется аналогичная легковесная программа - mako.

Добавим в автозапуск (примеры по-прежнему для sway):

И назначим сочетание клавиш, убирающее уведомления (ненавижу, когда они пропадают сами — а если я не прочитал? А? Отвернулся чаю налить, и пропустил всё на свете, а?? То-то же!):

Скриншоты

Как же без них хвастаться выхлопом neofetch. Scrot остался под Иксами, здесь же у нас есть мрачный grim:

Картинки

Feh, опять же, плохо себя чувствует здесь. Его заменил imv. Не думаю, что тут что-то нужно описывать — просто программа, которая просто показывает картинки.

---

По итогу всех упомянутых изменений я получил на том же железе несравнимо больший комфорт в том, что касается отображения графики и нагрузки на процессор. Так что следовать за новыми веяниями стоит. Не всегда, желательно подальше от первых рядов (если вы не решили возглавить это безобразие разумеется) и читая мелкий шрифт, но :)

---

Гостевая книга

---

tags: tech, lytdybr

Proxied content from gemini://phreedom.club/~tolstoevsky/~tolstoevsky/tags/tech/2022-12-12-wayland.gmi

Gemini request details:

Original URL
gemini://phreedom.club/~tolstoevsky/~tolstoevsky/tags/tech/2022-12-12-wayland.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.