Аппаратное ускорение видео в Linux

Если говорить кратко и максимально просто, аппаратное ускорение — это когда работа по декодированию перекладывается с процессора на видеокарту. Собственно говоря, теоретически так и должно быть. Однако на практике в операционных системах с ядром Linux ситуации бывают далеко не безоблачными.

VLC Media Player

Конкретные примеры начнём с рассмотрения настроек VLC Media Player. Направляемся по адресу Tools — Preferences — Input / Codecs. В выпадающем списке напротив Hardware-accelerated decoding выбираем либо Automatic (оптимальный вариант), либо VA-API для видеокарты Intel, либо VDPAU для AMD/ATI или NVIDIA. Жмём кнопку Save внизу.

SMPlayer

В SMPlayer действия аналогичны, только идём по пути Tools — Preferences — Performance. Выпадающий список Hardware decoding предлагает примерно такие же варианты, но предпочтительным тоже является Auto (Safe).

Celluloid

В Celluloid жмём кнопочку меню справа вверху, которая выглядит как три вертикальные точки или три горизонтальные полоски, в зависимости от версии приложения.  Tools (Инструменты) —  Preferences (Параметры) — Miscellaneous (Разное) — Extra MPV Options (Дополнительные параметры MPV) — пишем в пустой строке hwdec=yes — жмём кнопку Save (Сохранить).

Celluloid

Принцип настройки медиаплееров, надо полагать, понятен. Но почему же тогда ситуация не очень-то безоблачная, спросите вы. Всё дело в драйверах для видеокарт. Если они годные, то исправный плеер автоматически подключит аппаратное ускорение, и при воспроизведении видео нагрузка на процессор останется умеренной.

Если же от FullHD 60fps нагрузка вполне приличного процессора держится в области ста процентов, значит, драйвер кривой и негодный. Или же версия медиаплеера кривая и негодная. Нередко — то и другое одновременно.

Касаемо nVidia, всё предельно понятно, требуется фирменный драйвер, поскольку свободный Nouveau не вытягивает. В ситуации с видеокартой Intel можно попробовать установку компонентов в вариантах Ubuntu:

sudo apt-get install i965-va-driver libva-intel-vaapi-driver vainfo

Успех не гарантирован, но после установки всё же есть смысл ещё раз попробовать включить аппаратное декодирование в плеере. При благоприятной фазе Луны может заработать.

Откровенно говоря, бывают два вида пользователей Linux:

1. Религиозные фанатики, вечные подопытные кролики корпораций, приученные постоянно ковыряться в культовой операционной системе. Смысл их жизни — вечно тестировать новшества на собственной шкуре, писать отчёты о сбоях и тем самым помогать технологическим компаниям улучшать свои коммерческие продукты.

2. Обычные люди, для которых компьютер является не более чем инструментом и которые даже не подумают проводить дни и ночи, доделывая недоделанное. Готовы потратить полчаса на начальную настройку системы под собственный вкус и цвет, но не более того.

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

В данный момент заботу о людях проявляют создатели Kubuntu, где VLC Media Player без проблем взаимодействует с видеокартой, автоматически выбирая нужный параметр. Разработчики явно испытывают свой продукт самостоятельно, убеждаются в его приемлемом качестве лично, прежде чем предлагать широкой общественнгости. Это нынче редкость.

Linux Mint
Прилично выглядит и Linux Mint с фирменным рабочим столом Cinnamon, по умолчанию предлагающий медиаплеер Celluloid с уже выставленным параметром аппаратного декодирования. Всё готово, новичку не доведётся идти с вопросами на зелёное пастбище энергетических вампиров, то есть на форум проекта.

Слежка в Linux

Поправляем шапочку из фольги, завариваем чай, настраиваемся на вдумчивое восприятие информации — и начинаем с напоминания о двойных стандартах. Если кто-то посторонний состряпал шпионскую программу, то получился вирус. Если же такую программу изготовила крупная фирма, то это это уже как бы не вирус, а средство сбора данных для улучшения продукции. Официальный статус служит индульгенцией на любое нарушение приватности, каким бы вопиющим оно ни было.

KDE Plasma

Раньше в этой графической оболочке соглядатай назывался Nepomuk, теперь переименован в Baloo. Индексирует все файлы, всё их содержимое, собирает огромные, на десятки гигабайт, базы данных с каждой буковкой в пользовательских документах. При этом только в шестой версии Plasma нагружает процессор не так сильно. А до пятой включительно — попросту не позволял работать, выедая все сто процентов мощности устройства.

Оправдание таково: если вы вдруг забыли, в каком именно документе изложены ваши крамольные воззрения, Baloo посмотрит в свою базу данных и любезно найдёт требуемый файл. Ну а в случае конфискации компьютера быстро отыщут и заинтересованные лица, поскольку всё хранится на вашем диске.

Отключение File Search в системных настройках всегда неполное. Baloo их игнорирует, тихонько активируется и делает своё дело. Неопытный пользователь ничего с этим не поделает. Опытный выполнит в терминале команду:

sudo systemctl --global mask plasma-baloorunner.service kde-baloo.service


Только так, никакие другие средства не помогут. Причём, на популярных форумах обязательно находятся деятели, которые убеждают в полезности шпионского сервиса. Мол, если у одного из тысячи наблюдаются проблемы с памятью, то остальные девятьсот девяносто девять пользователей тоже должны страдать. О том, чтобы включать индексацию строго по желанию, речи не идёт.


Gnome Shell


Ситуация точно такая же. Только индексатор называется Tracker и действует не так явно. Иногда — даже без значительной нагрузки на ресурсы. Процесс tracker-miner-fs постоянно дежурит в оперативной памяти. Как только появляется новый файл, вызывается tracker-extractor-fs и извлекает содержимое, чтобы записать в базу данных.

Ранее подобным занимался Zeitgeist. Но в его исходном коде обнаружились функции отправки данных в интернет. Поэтому, как и в KDE Plasma, пришлось придумать новое имя вместо вызывающего отторжение. Хотя в старых, начала двадцатых годов, версиях Gnome Shell обе сущности могли действовать сообща. Было весьма забавно наблюдать в Spirallinux от анонимного производителя, как после принудительной деактивации Tracker тут же выскакивал Zeitgeist ему на замену. Кстати, о блокировке:

sudo systemctl --global mask tracker-extract-3.service tracker-miner-fs-3.service tracker-miner-rss-3.service tracker-writeback-3.service tracker-xdg-portal-3.service tracker-miner-fs-control-3.service tracker-store.service


Ничуть не удивительно, что в двух самых популярных графических оболочках такие вот дела. Иначе им не было бы дозволено стать популярными.

Но это не всё. В оперативной памяти постоянно висит Software, магазин программного обеспечения. Абсолютно шпионская программа, бэкдор в системе. Самостоятельно скачивает и автоматически устанавливает неведомые обновления. Ресурсы поедает без малейшего стеснения. Удалить gnome-software из Gnome Shell можно, но только если пользователь опытный, способный устанавливать приложения другими способами.

В Debian нужно устанавливать Gufw самостоятельно

Неудивительно, что в Gnome Shell в частности и практически во всей экосистеме Gnome в целом в начальной комплектации дистрибутивов всегда отсуствует удобное графическое средство управления межсетевым экраном Gufw. И этот факт сам по себе является маркером.

Gufw в Linux Mint уже есть

Исключение — Linux Mint, дистрибутив, который, несмотря на все недостатки его сообщества, всё же предоставляет столь полезный инструмент. Чтобы компьютер, образно говоря, не был открыт всем сетевым ветрам.


Ubuntu


Самый человечный дистрибутив Linux, его основной вариант, поставляется с Gnome Shell. Кто бы сомневался. И Gufw, конечно же, в комплекте нет.

Но одной связки шпионских сервисов Tracker показалось мало. Да и в версии с другими графическими оболочками надо что-то вставлять. Не оставаться же пользователям без присмотра со стороны Большого Брата.

Программа Whoopsie работает в фоне и собирает якобы сведения о сбоях. Передаёт программе Apport для отправки в фирму Canonoical. Программа kerneloops сама всё делает, якобы присматривает за состоянием ядра Linux и держит связь с его разработчиками. Программа rsyslog всё скрупулёзно журналирует, записывает сведения о каждом шорохе в системе.

Ну и вишенка на тортике: unattended-upgrages закачивает некие обновления без ведома и согласия пользователя. При этом никак не проверить, что именно загружается. Это не открытый исходный код, который можно проинспектировать. Только бинарные файлы с неведомым содержимым. В общем, команда такова:

sudo apt remove whoopsie apport kerneloops unattended-upgrades rsyslog update-manager update-notifier && sudo apt autoremove

К счастью, в отличие от других контор, Canonical всё же сохранили остатки совести и позволяют удалить их пакость без ущерба для работоспособности системы. А вот Tracker в основной версии Ubuntu и Baloo в Kubuntu доведётся только блокировать. Выпиливать нельзя, вся графическая оболочка сломается.

Ubuntu Cinnamon

Соответственно, не берём Ubuntu с Gnome Shell. Берём, например, с Cinnamon. Просто чтобы не было совершенно необязательных хлопот с блокировкой Tracker.

Обновления


Открытый исходный код, который можно проверить, — это одно. А скомпилированные бинарные файлы — совсем другое. Именно они прилетают с обновлениями. И вы не видите, что там внутри. Учитывая всё изложенное выше, за вами настойчиво наблюдают. По крайней мере пытаются, рассчитывая на ваши неопытность, неосведомлённость, наивное доверие к солидным фирмам. Следовательно, в тех обновлениях наверняка есть подвохи.

Дело в том, что за долгие десятилетия своего существования операционные системы с ядром Linux стали надёжными то только в серверных версиях. Касаемо домашнего использования, они изготавливаются намеренно глючными, сырыми, недоделанными, чтобы заставить пользователей бесконечно скачивать обновления с исправлениями и исправления с обновлениями.

Как только продукт становится более или менее годным, например, KDE Plasma 5.27.5, разработчики его бросают, начинают изготовление Plasma 6 и таким образом перезапускают цикл тестирования, исправления недоделок, выпиливания глюков и, соответственно, закачки обновлений.

Если же человек хочет продолжать пользоваться стабильной оболочкой Plasma 5.27.5, на него обрушивается массированная и комплексная психологическая атака. Kubuntu донимает уведомлениями о новых релизах. На всех тематических форумах, во всех средствах массовой индоктринации расхваливают свежий продукт. В красивых видео показывается привлекательность свежего софта, обозреватели прям закатывают глаза от удовольствия. Если заманивание вкусной морковкой не срабатывает, то играют на страхе, пугают некими уязвимостями в устаревшем софте. Не срабатывает и это — давят на гордыню, включают массовые насмешки над немодным, бедным, неспособным купить новое оборудование ради всё более прожорливой операционной системы. Понаблюдайте, увидите целый комплект стандартных методов Gnome Shell манипуляции сознанием.

Кроме того, сама по себе проверка обновлений отправляет сведения о системе и установленных приложениях. Но соединение зашифровано, и мы не можем узнать точно, не отсылается ли что-либо ещё.

Золотое правило: если в дистрибутиве Linux невозможно отключить проверку обновлений полностью, значит, его разработчикам доверять не представляется возможным. К примеру, в текущей версии Pop!_OS можно лишь отсрочить на пару недель или вроде того. Если так сделано, значит, в этом есть какой-то умысел.

В Ubuntu и производных отключить можно. Причём, довольно просто, для этого есть удобная программа Software & Updates. И параметр Never (Никогда) легко выставляется на вкладке Updates. Практика показала, что Canonical не обманывает, закачка бинарных файлов действительно прекращается. (При условии выпиливания unattended-upgrades, конечно.)

Debian


Да, стабильная версия Debian не содержит таких пакостей, как Ubuntu, нету даже rsyslog. Однако рабочие столы укомплектованы набором шпионящего софта, поскольку невозможно вырезать Baloo из KDE и Tracker из Gnome, не сломав всю графическую оболочку.

Проблема в том, что Debian является в первую очередь системой для серверов. Натянуть на неё чистый, без подвохов, рабочий стол (Mate, XFCE) можно без труда, но что толку, если нет драйверов. Даже в 12-м выпуске, куда уже что-то вставлено, не работает аппаратное ускорение видео. То есть процессор не может передать нагрузку на видеокарту и вынужден делать всё декодирование самостоятельно. Потому греется при просмотре медиафайлов. Ну и как воспроизвести какую-нибудь презентацию на конференции, не превратив ноутбук в отопительный прибор и не посадив батарею за пятнадцать минут?

Конечно, для кого Linux — увлечение, тот даже рад поковыряться недельку-другую, найти, скомпилировать и всё же воткнуть нужные драйверы. Такой успех повысит ему самооценку. Но для большинства пользователей компьютер — рабочий инструмент. Средство добычи хлеба насущного. Обычный человек, не фанатик, просто возьмёт то, что работает и не требует обслуживания.

Подводим итоги


Популярность настольных дистрибутивов Linux растёт медленно, поэтому пока нет тотальной телеметрии, как в коммерческих операционных системах. То, что уже есть, можно обнаружить и обезвредить без особого труда.

Причём, даже если система уже установлена, можно почистить её прямо сейчас, используя полученные знания. Но, конечно, лучше всего сразу взять вариант с рабочим столом Cinnamon и не морочиться.

Шапочку из фольги в любом случае не выбрасываем, лёгкая здоровая паранойя ещё никому не навредила.

Огляд Ubuntu Cinnamon

Припустимо, вам дуже подобається графічна оболонка Cinnamon. Та й як вона може не до вподоби. Але виробники, команда «М'яти», а також їхній форум і так звана спільнота, позитиву у ваше життя не додали. Отже, розглянемо гідну альтернативу.

Ubuntu Cinnamon

Одразу після встановлення Ubuntu Cinnamon випилюємо шпигунський мотлох від компанії Canonical. Відкриваємо віконце емулятора терміналу та копіюємо туди команду:

sudo apt remove whoopsie apport kerneloops unattended-upgrades rsyslog update-manager update-notifier && sudo apt autoremove

Вставляти скопійоване можна вінтажною комбінацією клавіш Shift+Insert. Ну чи за допомогою меню під правим кліком.

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

sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop


Ось тепер можна відкрити програму Startup Applications і прополоти список з метою полегшення роботи системи та, відповідно, економії заряду батареї ноутбука.

Настав час розібратися з кодеками. Оскільки це Ubuntu, в емуляторі терміналу виконуємо таку команду:

sudo apt install ubuntu-restricted-extras

Щоб владнати питання з ліцензійною угодою, до маленької кнопки OK пересуваємось клавішею Tab. Ну а потім Enter натискаємо, звісно.

Після всіх цих дій бажано перезапустити сеанс, щоб зміни набули чинності. Тобто вийти й увійти. І продовжувати здійснення налаштувань, але вже не загальносистемних, а персональних.

Плюс ліворуч внизу для додавання мови

Розкладка клавіатури: System Settngs — Keyboard — Layouts — плюс ліворуч внизу для додавання мови. Комбінація клавіш для перемикання розкладки – кнопка Options – Switching to another layout. Індикатор на панелі задач має з'явитись сам. Екранна клавіатура також є.

Switching to another layout

Файловий менеджер Nemo — Edit — Peferences — Behavior — Media handling — знімаємо всі позначки, щоб робочий стіл не засмічувався зайвими повідомленнями при підключенні різноманітних зовнішніх пристроїв на зразок телефону.

Всі можуть бути втомленими й неуважними, тому якщо за недоглядом розробника графічні файли відкриваються не в тому, в чому треба, правий клік на зображенні — у властивостях шукаємо розділ Open with, вибираємо правильну програму — тиснемо Set as default.

Міжмережевий екран встановлюємо такою командою в емуляторі терміналу:

sudo apt install gufw

Знаходимо Firewall, запускаємо та активуємо перемикачем Status.

Далеко не всім до вподоби Gnome Videos (раніше відомий як Totem). Хтось терпіти не може цей кривий та ненажерливий виріб. Отже, вищезазначеним способом призначаємо відкриття аудіо та відео в чомусь іншому, наприклад, в Celluloid.

Плиткове розташування вікон (тайлінг, Tiling) у Cinnamon працює чітко, здійснюється клавішами Windows (Super) + стрілки.

Ubuntu має погану звичку записувати в апаратну частину комп'ютера час за Грінвічем, щойно підключаєте її до інтернету. Якщо на тому ж пристрої перезавантажуєтесь у Windows, там доведеться переводити годинник назад вручну. Причому, щоразу після кожного сеансу. Запобігаємо такій неприємній поведінці системи:

sudo systemctl stop systemd-timesyncd && sudo systemctl mask --global systemd-timesyncd

Діятиме протягом усієї Live-сесії, підключатися до інтернету можна сміливо. Та й як же інакше, адже треба перевірити працездатність Wi-Fi.

Беремо, звичайно, тільки версію з тривалою підтримкою, позначену як LTS. І ту, що вийшла приблизно в рік виробництва комп'ютера. Або трохи згодом. Тоді буде відповідне ядро ​​Linux із придатними драйверами.

Оскільки є нормальна підтримка UEFI, для створення завантажувальної флешки просто форматуємо її в FAT32 та копіюємо вміст ISO.