Проверить аппаратное ускорение linux

Обновлено: 08.07.2024

Аппаратное ускорение видео (англ.) позволяет выполнять операции кодирования и декодирования видео на стороне видеокарты, разгружая CPU и экономя энергию.

Существуют несколько реализаций этой технологии на Linux:

    (VA-API) — разработанная Intel спецификация и свободная библиотека, предоставляющая аппаратное ускорение кодирования и декодирования видео. (VDPAU) — разработанная NVIDIA свободная библиотека и API для переноса части процесса декодирования видео и его постобработки на сторону GPU. — проприетарные API аппаратного ускорения, используемые в таких поколениях GPU от NVIDIA, как Fermi, Kepler, Maxwell и Pascal.

Contents

Установка

Intel

Свободные драйверы Intel graphics поддерживают VA-API:

    Серия HD Graphics, начиная с Broadwell(

NVIDIA

Свободный драйвер Nouveau поддерживает как VA-API, так и VDPAU:

  • GeForce 8 series и новее (до GeForce GTX 750) поддерживаются libva-mesa-driver и mesa-vdpau . nouveau-fwAUR — пакет с микропрограммой, которая на сегодняшний день извлекается из бинарного драйвера NVIDIA.

Проприетарный драйвер NVIDIA поддерживает следующие технологии с помощью пакета nvidia-utils :

  • VDPAU на серии GeForce 8 и новее;
  • NVDECODE на Fermi и новее [1];
  • NVENCODE на Kepler и новее.

ATI/AMD

Свободные драйверы ATI и AMDGPU поддерживают как VA-API, так и VDPAU:

  • VA-API на Radeon HD 2000 и новее поддерживается libva-mesa-driver .
  • VDPAU на Radeon R300 и новее поддерживается mesa-vdpau .

Проприетарный драйвер AMDGPU PRO основывается на драйвере AMDGPU и поддерживает как VA-API, так и VDPAU.

Слои преобразований

Активация поддержки VA-API при её отсутствии в драйвере:

  • libva-vdpau-driver – бекенд VDPAU для VA-API.
  • libva-vdpau-driver-chromiumAUR – бекенд VDPAU для VA-API с патчем, позволяющим взаимодействовать с Chromium.
  • libva-vdpau-driver-vp9-gitAUR – экспериментальная поддержка VP9.

Активация поддержки VDPAU при её отсутствии в драйвере:

Проверка

Аппаратное ускорение, скорее всего, хорошо заработает по умолчанию. Проверить это можно описанными ниже способами.

Совет: mpv отлично подходит для проверки аппаратного ускорения на практике.

Проверка VA-API

Проверьте настройки VA-API, выполнив vainfo (предоставляется пакетом libva-utils ):

VAEntrypointVLD означает, что видеокарта способна декодировать данный формат, а VAEntrypointEncSlice означает, что данный формат можно кодировать.

В данном примере используется драйвер i965 :

Если при выполнении vainfo отображается следующая ошибка:

Проверка VDPAU

Установите пакет vdpauinfo , чтобы получить полный отчёт о конфигурации драйвера VDPAU и убедиться, что он загружен корректно:

Настройка

Названия драйверов по умолчанию угадываются системой, если остутствуют какие-либо другие настройки. Однако они часто не совпадают и не работают. Предполагаемые значения можно просмотреть, выполнив следующую команду:

В данном случае по умолчанию используется radeonsi для VA-API и VDPAU.

Примечание: Если используется GDM, выполните вместо этого следующую команду: journalctl -b | grep -iE 'vdpau | dri driver' .

Настройка VA-API

Драйвер VA-API можно переопределить с помощью переменной окружения LIBVA_DRIVER_NAME :

    :
    • Укажите i965 , если используется libva-intel-driver .
    • Укажите iHD , если используется intel-media-driver .
    • Укажите nouveau , если используется Nouveau.
    • Укажите vdpau , если используется NVIDIA.
    • Укажите radeonsi , если используется AMDGPU.
    • Укажите fglrx , если используется AMD Catalyst [archived page] .
    • Установленные драйверы находятся в /usr/lib/dri/ и используются как /usr/lib/dri/$ _drv_video.so .
    • Некоторые драйверы устанавливаются несколько раз под разными именами в целях совместимости. Их список можно увидеть, выполнив команду sha1sum /usr/lib/dri/* | sort .
    • LIBVA_DRIVERS_PATH может использоваться для переопределения расположения драйверов VA-API.
    • Начиная с версии 12.0.1, libva-mesa-driver предоставляет radeonsi вместо gallium .

    Настройка VDPAU

    Драйвер VDPAU можно переопределить с помощью переменной окружения VDPAU_DRIVER .

    Корректное название драйвера зависит от конфигурации:

    • Установленные драйверы находятся в /usr/lib/vdpau/ и используются как /usr/lib/vdpau/libvdpau_$ .so .
    • Некоторые драйверы устанавливаются несколько раз под разными именами в целях совместимости. Их список можно увидеть, выполнив команду sha1sum /usr/lib/vdpau/* .
    • В случае с конфигурацией с гибридной графикой (как с NVIDIA, так и с AMD), может потребоваться задать переменную окружения DRI_PRIME=1 . См. статью PRIME для получения более подробной информации.

    Настройка приложений

    Решение проблем

    Ошибка "Failed to open VDPAU backend"

    Недавно, когда я добавил новую видеокарту NVIDIA в один из моих настольных компьютеров, мне стало интересно оценить и сопоставить мощность этой видеокарты с той, которая была у меня раньше.

    В Linux существует не так много инструментов для тестирования графических процессоров, и, потратив некоторое время с google, я наткнулся на эту небольшую инструментальную программу, которая называется glmark . Она разработана Linaro.

    Glmark запускает серию тестов, отображающих на экране 2D- и 3D- графику различного вида, а затем измеряется производительность в терминах FPS (число кадров, отображаемых в секунду). Затем для того, чтобы вычислить для графического процессора итоговый показатель, происходит усреднение значений fps по всем тестам.

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


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

    Первое, что нужно сделать, это установить программу glmark. В Ubuntu/Linux Mint она по умолчанию доступна в репозиториях.

    Тестирование

    Все, что вам нужно сделать для запуска тестов, это запустить команду glmark2 без всяких параметров. Внутри окна будет друг за другом отображаться большое количество анимаций различного вида, а в терминале одновременно будут выдаваться измеренные значения fps. Следите за тем, чтобы одновременно не запускались какие-либо ресурсоемкие приложения, иначе результаты тестов могут быть искажены.

    В конце всех тестов программа glmark выдаст итоговый результат. Более высокий результат должен указывать на более мощный графический процессор. Итоговые результаты каждый раз при запуске теста не будут повторяться и различаются. Но они похожи. Поэтому вы должны запускать программу glmark несколько раз (я запускаю ее 3 раза) и брать среднее значение.

    В некоторых случаях конкретный тест может давать очень высокой или очень низкий результат. Я просто отбрасываю эти значения и снова запускаю программу glmark.

    Все тесты проводились на ЖК-мониторе Samsung с разрешениеи 1360x768 @ 60 Гц.

    Смотрим результаты

    Теперь давайте взглянем на результаты работы и оценки, выданные glmark.

    Эта машина имеет обладает самой слабой графической системой и тесты glmark даже не смогли завершиться, поскольку система прекращала свою работу где-то в середине тестирования. 3D-анимация прошла, но с трудом.

    Итоговый результат приблизительно равен 240, что является довольно низким значением. На этой конкретной машине игра Supertuxkart почти не шевелится, а игра 0AD просто превращается в обои :)

    Обратите внимание, что в качестве средства визуализации используется MESA, что указывает, что ускорение 3D в данный момент эмулируется программным обеспечением, а не поддерживается аппаратно. Так образом аппаратное ускорение недоступно.

    Это материнская плата Gigabyte с интегрированным графическим блоком Intel GMA. По сравнению с предыдущей машиной эта машина имеет несколько большую графическую мощность.

    Команда lspci выдает следующую подробную информацию об аппаратных средствах

    Glmark может на этой машине выполнить все тесты и результаты следующие .

    Итоговый средний результат для этой машины приблизительно равен 350. Это сравнительно лучше, чем на нашей предыдущей машине, графический процессор которой был слабее.

    На этой машине игра supertuxkart работает немного лучше. Но такие игры, как 0AD, не работают. Но, опять же, прямое отображение осуществляется с помощью MESA, так что аппаратное ускорение отсутствует.

    Эта машина имеет такую же самую материнскую плату Intel с внешним графическим процессором серии Nvidia GeForce 210, подключенным через слот PCI. В ней используется чипсет nvidia, выпущенный под брендом Zotac, который имеет 1 Гб встроенной памяти и частоту работы ядра графического процессора 520 МГц.

    Сначала мы собираемся протестировать его с драйверами Nouveau, используемыми по умолчанию, и посмотреть, как она работает. Следующий тест будет выполнен с использованием фирменных драйверов Nvidia.

    Средняя итоговая оценка остается приблизительно равной 335. Несмотря на наличие отдельного графического процессора Nvidia, оценка указывает на плохую графическую производительность. Это вызвано тем, что производительность драйверов Nouveau недостаточна и они не используют весь потенциал карт nvidia.

    Такие игры, как supertuxkart и 0AD работают очень хорошо.

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

    Это объясняется тем, что данная машина имеет отдельный выделенный графический процессор, который работает независимо. На предыдущей машине библиотеки MESA для выполнения графической работы использовали главный процессор и, несмотря на хороший итоговый результат, машина не могла пользоваться этим процессором в случаях, когда запускались реальные приложения.

    Это та же самая машина, что и выше, но в ней вместо драйверов Nouveaи используются фирменные драйверы Nvidia.

    Команда lspci выдает следующую подробную информацию об аппаратных средствах

    Результаты работы и итоговая оценка, выдаваемые программой glmark, следующие

    На этот раз итоговая оценка выше 500 и эта машина имеет очень достойную производительность графики, так что простые игры воспроизводятся без всяких проблем. Такие игры, как Supertuxkart и 0AD, работают отлично и без глюков.

    Драйвер Nvidia воспроизводит графику GL, что означает, что аппаратное ускорение 3D-графики доступно и работает нормально.

    Проверьте производительность своего графического процессора

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

    В сети нет для сравнения таблицы итоговых оценок, но из выполненных выше тестов можно сделать заключение, что если оценка выше 500, то это хорошо и что если GL_RENDERER не является драйвером MESA, то это указывает на то, что используется аппаратное ускорение.

    Если GL_RENDERER является драйвером MESA, то 3D-рендеринг осуществляется с помощью программного обеспечения, а не с помощью аппаратных средств, и, следовательно, при воспроизведении 3D-приложений и игр производительность будет очень низкой.

    Если вы на свою машину добавляете новую видеокарту, то первое, что нужно сделать, это - получить для нее наилучший драйвер. Фирма Nvidia для большинства своих современных видеокарт предоставляет драйверы для Linux, которые с Linux работают очень хорошо.

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

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

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

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

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


    Что такое 3D-ускорение?

    3D-ускорение является общим термином для устройства, которое выполняет графические операции или точнее, освобождает центральный процессор для выполнения других видов расчетов. С аппаратным 3D-ускорением, трехмерные изображения создаются графическим процессором с помщью видеокарты, вместо использования ценных ресурсов ЦП.
    С 3D-ускорением вы можете играть в 3D игры.


    Итак, как проверить 3D ускорение?

    В этой инструкции, представлены команды для выполнения в терминале, необходимые для проверки 3D-ускорения/FPS (Frames Per Second - количество кадров в секунду на экране монитора) видеокарт Nvidia и AMD в следующих дистрибутивах:

    Ubuntu 13.10/13.04/12.10/12.04
    Linux Mint 16/15/14/13

    Прежде всего нужно установить необходимую зависимость, выполнив команду в терминале:

    sudo apt-get install mesa-utils

    Убедитесь, что 3D-ускорение поддерживается, выполнив следующий тест:

    /usr/lib/nux/unity_support_test -p

    Если вывод теста в терминале подобный тому, что отображён на снимке, значит ваше оборудование поддерживает 3D-ускорение:


    Вы можете использовать glxinfo для проверки 3D-ускорения и рендеринга в терминале:

    glxinfo -i | grep render

    Вывод команды даст вам информацию о вашей видеокарте (AMD или Nvidia) и рендеринге.

    2. Glxgears (Шестерни)

    Можно также использовать утилиту glxgears для проверки 3D-ускорения (FPS) в графическом режиме, выполнив следующую команду:


    3. Glxspheres (Сферы)

    Чтобы использовать утилиту Glxspheres в Ubuntu/Linux Mint, вам нужно сначала установить её, выбрав архитектуру своей системы.

    Примечание. Опеделить архитектуру вашей системы можно, открыв Параметры системы - О системе или выполнить команду arch в терминале.

    Установка Glxspheres для 64-бит:

    sudo apt-get -f install

    После установки Glxspheres, выполните проверочную команду для 64-бит:

    Обновился до Fedora 29. Возникает подозрение, что десктоп не через GPU рендрится, а процессором. Такой подёргивание, подтормаживания странные появились. Gnome. Сессия wayland. Раньше всё нормально было. admgpu загружен.

    Куда теперь смотреть надо, чтобы понять, что он аппаратно рендрит? А то может через llvmpipe?

    P.S. выхлоп glxinfo64:


    Как называется эта болезнь?

    Свои логи прочитай для начала.



    Я и спрашиваю: Какие теперь читать?


    Какая то странная у тебя команда у меня так

    Я не весь выхлоп приводил, зачем тут всё простыня?


    На хорге типа и почему не на фбдев


    Потому что Wayland использует ту же инфраструктуру драйверов, что и Xorg. А теперь отвали.

    На вейланде родное апи для интерфейса графики с ним одно, а на иксах другое. Буква X там совсем не просто так.


    у меня в вяленом шестеренки вообще не взлетают - он чего в шестеренки не умеет? так и проверять?


    Такой подёргивание, подтормаживания странные появились. Gnome. Сессия wayland.

    GPU не при чем, просто гном говно и тормозит. Используй sway или kde, ну или переписывай mutter начисто, у них там жабаскрипт и рендеринг в одном потоке.


    Две версии подряд всё было нормально. На Gnome. На Wayland.
    Был бы признателен за отсутствие комментариев не по делу.


    Две версии подряд всё было нормально.

    Раз на раз не приходится.

    Был бы признателен за отсутствие комментариев не по делу.

    Ты отсталый что ли? Это всем известное положение дел, гном на вяленом лагает и будет лагать, пока не перепишут муттер. Реддит завален нытьем тех, у кого лагает гном на вяленом. Эту версию должны были оптимизировать немного, видимо, у тебя оптимизированная хуже работает. RTFM

    Freyr69 ★★★ ( 04.11.18 21:11:37 )
    Последнее исправление: Freyr69 04.11.18 21:12:47 (всего исправлений: 1)


    А eglgears и eglinfo есть?


    Моя огромная благодарность за уделённое мне внимание. Я, тем не менее, искал средства диагностики проблемы, а не конкретный диагноз, на основе собственных предрассудков и выхлопа libastral. В связи с этим прошу так же впредь не уделять мне вашего времени.

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


    Забавно, но тормозов вроде поуменьшилось. Хотя пока никаких обновлений не накатывал. Процессов тяжёлых ни до, ни после не запускал.

    P.S. Вообще последняя версия, что подтормаживания связаны не с отрисовкой, а с IO. Похоже спонтанно проявляется 12309. Массовые файловые операции, даже в пределах sata-дисков могут поставить систему раком.

    atrus ★★★★★ ( 05.11.18 00:36:01 )
    Последнее исправление: atrus 05.11.18 00:40:44 (всего исправлений: 1)

    с 28 dnf upgrade или чистая с нуля установка?


    28 dnf upgrade. По всем правилам:
    dnf --refresh -y upgrade
    dnf -y system-upgrade download --releasever=29
    dnf system-upgrade reboot

    Правда после накачаных вчера обновлений тормоза пропали на 99% (изредка можно заметить подёргивание картинки при открытии activities).

    Читайте также: