Amdvsnvidia

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Что лучше выбрать для Linux - AMD vs Nvidia vs Intel.

Сравнение поддержки видеокарт в Linux
Параметр AMD-logo.png Nvidia-logo.png Intel-logo.png
Производительность в играх Отличная на современных картах (RDNA[1]), близка к Windows. Стабильна. Максимальная, часто выше, чем у конкурентов, особенно с проприетарным драйвером. Может немного уступать Windows. Хорошая на современных картах (Arc), особенно учитывая цену. На уровне AMD в Vulkan, слабее в OpenGL.
Поддержка Linux (драйверы) Открытый: amdgpu[2] (в ядре) + radeonsi/radv[3] (в Mesa).

Проприетарный: AMDGPU PRO (для профессиональных задач).

Статус: Отличная, основная ставка на открытый стек.

Открытый: Nouveau[4] (ограниченная производительность, нет перевода clocks).

Проприетарный: nvidia (высокая производительность).

Статус: Сильная, но зависит от закрытого драйвера.

Открытый: i915/i965 (в ядре) + iris/anv (в Mesa) для встроенной графики; xe для дискретных Arc.

Проприетарный: Отсутствует.

Статус: Превосходная, полностью открытый стек.

Сложность установки и настройки Очень легко. Драйверы входят в состав большинства дистрибутивов, работают "из коробки". Сложно. Требует ручной установки проприетарного драйвера (через менеджер драйверов или .run-файл). Обновление ядра может сломать драйвер (DKMS решает эту проблему). Очень легко. Как и AMD, драйверы встроены в ядро и Mesa, работают "из коробки".
Поддержка Wayland Превосходная. Полная и стабильная поддержка через открытые драйверы. Эталонная реализация. Удовлетворительная. Полная поддержка появилась в драйвере 545, стабилизировалась в 550. Требует последних версий драйверов и окружений. Превосходная. Полная и стабильная поддержка через открытые драйверы. Разрабатывается в тесной связке с основными десктоп-окружениями.
Отсутствие проблем со спящим режимом (Suspend/Resume) Проблем практически нет. Высокая стабильность. Раньше были частые проблемы. Сейчас с проприетарным драйвером на большинстве систем работает стабильно, но редкие случаи всё же встречаются.
С открытым драйвером nouveau практически нигде не работает.
Проблем практически нет. Высокая стабильность.
Поддержка свободных игр (OpenGL/Vulkan) Отличная. OpenGL (radeonsi) и Vulkan (radv) драйверы в Mesa очень зрелые и производительные. Хорошая. Проприетарный драйвер обеспечивает высокую производительность в OpenGL и Vulkan. Открытый драйвер Nouveau для игр не подходит. Очень хорошая. Современные драйверы iris (OpenGL) и anv/radv (Vulkan) показывают высокую производительность, особенно для встроенной графики.
Поддержка проприетарных игр (через Wine/Proton) Отличная. Является эталонной платформой для Proton и Steam Play благодаря открытым драйверам. Лучшая совместимость. Отличная. Благодаря высокой производительности драйвера и полной поддержке Vulkan/RTX работает подавляющее большинство игр. Может быть больше проблем с запуском старых игр на OpenGL. Хорошая. Современные карты Arc хорошо работают в DX12/Vulkan-играх через Proton. Производительность в DX11-играх и старых API может быть ниже.
Работа с видеоредакторами (кодирование) Очень хорошая. HW-кодирование через VA-API (H.264, HEVC, AV1). Поддерживается в OBS Studio, Kdenlive, ffmpeg. Отличная. Лидер по качеству и скорости кодирования (NVENC). Широкая поддержка в профессиональном софте. Очень хорошая. Аппаратное кодирование AV1 наравне с AMD. HW-кодирование через VA-API. Поддержка в основных программах.
Работа с нейросетями (инференс, обучение) Хорошая. Поддерживается через открытый стек ROCm (PyTorch, TensorFlow). Требует внимания при настройке (особенно на настольных GPU). Отличная. Индустриальный стандарт благодаря CUDA и cuDNN. Наибольшая поддержка в софте и готовых образах. Перспективная. Поддержка через OpenVINO, oneAPI. Активно развивается, но пока слабее CUDA по охвату и зрелости.
Технологии для нейросетей ROCm (открытая платформа) CUDA, cuDNN, TensorRT (проприетарные, индустриальный стандарт) OpenVINO, oneAPI (открытые)
Аппаратное ускорение видео (декодирование)

Открытый драйвер (Mesa):

  • VA-API/VDPAU: Полная поддержка на R600 и новее (H.264, HEVC, VP9, AV1).
  • Vulkan Video: Поддержка через radv.

Проприетарный (AMDGPU PRO):

  • Поддержка VA-API, VDPAU, AMF.

Открытый драйвер (Nouveau):

  • Ограниченная поддержка VDPAU (только декодирование).

Проприетарный драйвер:

  • NVDEC: Полное аппаратное декодирование (H.264, HEVC, VP9, AV1) на Fermi и новее.
  • NVENC: Кодирование на Kepler и новее.
  • Vulkan Video: Поддержка на Pascal и новее.

Открытый драйвер (Mesa):

  • VA-API: Полная поддержка на современной графике (HD Graphics и новее).
  • Отличная поддержка декодирования, включая AV1 на Arc.
  • Vulkan Video: Поддержка в разработке.
Поддержка API ускорения
VA-API[5] Есть (нативный) Есть (через трансляцию libva-vdpau-driver или nvidia-vaapi-driver) Есть (нативный)
VDPAU[6] Есть Есть (нативный для проприетарного драйвера) Нет
NVDEC/NVENC[7] Нет Есть (только проприетарный драйвер) Нет
Vulkan[8] Есть (radv, amdvlk) Есть (проприетарный) Есть (anv, Intel's Vulkan Driver)
OpenCL[9] Есть (ROCm/проприетарный, установка может быть сложной) Есть (проприетарный, работает отлично) Есть (NEO, поддержка улучшается)

Как узнать наличие технологий

Проверка VA-API

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

$ vainfo

Проверка VDPAU

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

$ vdpauinfo

Проверка Vulkan Video

Чтобы проверить правильность загрузки драйвера Vulkan Video и получить полный отчет о конфигурации, установите пакет vulkan-tools выполните:

$ vulkaninfo

Проверка OpenCL

Чтобы проверить поддержку OpenCL и получить полный отчет о конфигурации, установите пакет clinfo выполните:

$ clinfo

Проверка NVDEC

Чтобы проверить поддержку NVDEC выполните:

$ nvidia-smi --query-gpu=decoder_type --format=csv

nvidia-smi - утилита из проприетарного драйвера Nvidia.

Сравнительные таблицы

Драйверы VA-API

Кодек libva-intel-driver [1] intel-media-driver [2] mesa [3] [4] libva-nvidia-driver
(адаптер NVDEC)
Декодирование
MPEG-2 GMA 4500 и новее Broadwell и новее Radeon HD 6000 и новее
GeForce 8 и новее1
Смотрите #Драйвер NVIDIA
H.263/MPEG-4 Visual4 Нет Нет Radeon HD 6000 и новее
VC-1 Sandy Bridge и новее Broadwell и новее Radeon HD 2000 и новее
GeForce 9300 и новее1
H.264/MPEG-4 AVC GMA 45002, Ironlake и новее Radeon HD 2000 и новее
GeForce 8 и новее1
H.265/HEVC 8bit Cherryview/Braswell и новее Skylake и новее Radeon R9 Fury и новее
H.265/HEVC 10bit Broxton и новее Broxton/Apollo Lake и новее Radeon 400 и новее
VP8 Broadwell и новее Broadwell и новее Нет
VP9 8bit Broxton и новее
Гибридное: от Haswell refresh до Skylake3
Broxton/Apollo Lake и новее Raven Ridge + Radeon RX 5000 и новее
VP9 10bit & 12bit Kaby Lake и новее Kaby Lake и новее
AV1 8bit & 10bit Нет Tiger Lake и новее Radeon RX 6600 и выше/новее
Кодирование
MPEG-2 Ivy Bridge и новее Broadwell и новее
кроме Broxton/Apollo Lake
Нет Нет
H.264/MPEG-4 AVC Sandy Bridge и новее Broadwell и новее Radeon HD 7000 и новее
H.265/HEVC 8bit Skylake и новее Skylake и новее Radeon 400 и новее
H.265/HEVC 10bit Kaby Lake и новее Kaby Lake и новее Raven Ridge + Radeon RX 5000 и новее
VP8 Cherryview/Braswell и новее
Гибридное: от Haswell до Skylake3
Нет
VP9 8bit Kaby Lake и новее Ice Lake и новее
VP9 10bit & 12bit Нет
AV1 8bit & 10bit Alchemist и новее Radeon RX 7900 и выше/новее
  1. До GeForce GTX 750.
  2. Поддерживается libva-intel-media-driver
  3. Гибридный кодировщик VP8 и декодировщик VP9 поддерживается intel-hybrid-codec-driver-git.
  4. MPEG-4 Part 2 отключён по умолчанию из-за ограничений VAAPI. Задайте переменную окружения Шаблон:Ic, если вы всё-таки хотите протестировать данную функцию.
  5. Адаптер NVIDIA CUDA находится в активной разработке, и набор поддерживаемых возможностей может измениться в будущем [5].

Драйверы VDPAU

Кодек Глубина
цвета
mesa [6] [7] nvidia-utils libvdpau-va-gl
(адаптер VA-API)
Декодирование
MPEG-2 8bit Radeon R600 и новее
GeForce 8 и новее1
GeForce 8 и новее Нет
H.263/MPEG-4 Visual 8bit Radeon HD 6000 и новее
GeForce 200 и новее1
GeForce 200 и новее
VC-1 8bit Radeon HD 2000 и новее
GeForce 9300 и новее1
GeForce 8 и новее2
H.264/MPEG-4 AVC 8bit Radeon HD 2000 и новее
GeForce 8 и новее1
GeForce 8 и новее Смотрите #Драйверы VA-API
H.265/HEVC 8bit Radeon R9 Fury и новее GeForce 900 и новее3 Нет
10bit Radeon 400 и новее Нет
VP9 8bit Raven Ridge + Radeon RX 5000 и новее GeForce 900 и новее3
10bit/12bit Нет
AV1 8bit Radeon RX 6600 и выше/новее GeForce 30 и новее}}5
10bit Нет4
  1. До GeForce GTX 750.
  2. Кроме GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640 MB).
  3. Кроме GeForce GTX 970 и GTX 980.
  4. Реализация NVIDIA ограничена 8-битными потоками [8] [9].
  5. Начиная с драйвера версии 510.[10]

Драйвер NVIDIA

Кодек nvidia-utils [11]
NVDEC NVENC
MPEG-2 Fermi и новее Нет
VC-1
H.264/MPEG-4 AVC Kepler и новее
H.265/HEVC 8bit Maxwell (GM206) и новее Maxwell (2nd Gen) и новее
H.265/HEVC 10bit Pascal и новее
VP8 Maxwell (2nd Gen) и новее Нет
VP9 8bit Maxwell (GM206) и новее
VP9 10bit & 12bit Pascal и новее
AV1 8bit & 10bit Ampere и новее Ada Lovelace и новее
  1. Кроме GM108 (не поддерживается)
  2. Кроме GM108 и GP108 (не поддерживаются)
  3. Кроме A100 (не поддерживается)

Поддержка приложениями

Приложение Декодирование Кодирование Compute API (для обработки, AI и т.д.)
VA-API VDPAU NVDEC Vulkan VA-API NVENC Vulkan OpenCL CUDA
FFmpeg Да Да Да Да Да Да Да Да (через фильтры like
tonemap_opencl, overlay_opencl)
Да (через фильтры like
scale_npp, yadif_cuda)
GStreamer Да Нет Да Да Да Да Да Да (e.g., элементы clvideomixer, cltonemap) Да (e.g., через плагин nvvideoconvert для NVIDIA)
Kodi Да Да Нет Нет


Да (для обработки видео и GUI) Нет (или очень ограничено)
mpv Да Да Да Да


Да (через шейдеры, конвертированные
из OpenCL, и пользовательские скрипты)
Да (экспериментально,
через пользовательские скрипты)
VLC media player Да Да Нет Нет


Частично (ограниченная поддержка через модули) Частично (ограниченная поддержка через модули)
MPlayer Нет Да Нет Нет


Нет Нет
Chromium Да Нет Нет Нет Да Нет Нет Нет (не используется для медиа) Нет (не используется для медиа)
Firefox Да Нет Нет Нет Нет Нет Нет Нет (не используется для медиа) Нет (не используется для медиа)
GNOME/Web GStreamer ? ? ? Нет (зависит от движка) Нет (зависит от движка)
RealVideoEnhancer Да Нет Нет Да Да Да Да Да (как опция для выполнения нейросетей) Да (как опция для выполнения
нейросетей на GPU NVIDIA)
Upscayl Нет Нет Нет Да (основной API) Нет Нет Да (для кодирования
итогового изображения)
Да (fallback-бэкенд) Да (экспериментально, как
альтернативный бэкенд)
Rawtherapee Нет Нет Нет Нет Нет Нет Нет Да (основной API для
дебаеризации и обработки)
Да (вероятно, в некоторых сборках)
Darktable Нет Нет Нет Нет Нет Нет Нет Да Да
OBS Да Нет Да Нет Да Да Нет Нет Нет
Flowblade Да ? Да ? Да Да ? Да Да
OpenShot Да ? Да ? Да Да ? Да Да
Pitivi Да Нет Да Да Да Да Да Да Да
Kdenlive Да ? Да Да (эксп.) Да Да Да (эксп.) Да Да
Shotcut Да ? Да ? Да Да ? Да Да

Карточки

Сводная таблица характеристик графических процессоров AMD Radeon и поддержки технологий
Серия GPU Год выхода Средняя цена (2025), руб. Драйверы Mesa (OpenGL / Vulkan) Поддержка API и технологий
radeonsi (OpenGL) radv (Vulkan) VA-API (декодирование видео) ROCm (ИИ / HPC) VDPAU (декодирование видео) NVDEC/NVENC (кодирование/декодирование) Vulkan OpenCL
RX 200 2013 - Да (через AMDVLK или с оговорками) Да (H.264) Нет Да Нет (технология NVIDIA) Да (1.0) Да (1.2, через Mesa Clover)
RX 300 (напр., R9 380, R9 390) 2015 - Да (через AMDVLK или с оговорками) Да (H.264) Нет Да Нет (технология NVIDIA) Да (1.0) Да (1.2, через Mesa Clover)
RX 400 (напр., RX 470, RX 480) 2016 - Да Да Да (H.264, HEVC) Нет Да Нет (технология NVIDIA) Да (1.0) Да (1.2, через Mesa Clover)
RX 500 (напр., RX 570, RX 580) 2017 5652 - 10 793
(Ozon)
Да Да Да (H.264, HEVC) Нет Да Нет (технология NVIDIA) Да (1.0) Да (1.2, через Mesa Clover)
Radeon Vega (напр., Vega 56, Vega 64) 2017 18 538 - 33 424
(Ozon, в т.ч. уцененные)
Да Да Да (H.264, HEVC) Частично (ограниченная, неофициальная) Да Нет (технология NVIDIA) Да (1.0) Да (1.2, + ROCm для вычислений)
RX 5000 (напр., RX 5500 XT, RX 5700 XT) 2019 6085 - 44 582
(OZON, новая)
Да Да Да (H.264, HEVC) Нет Да Нет (технология NVIDIA) Да (1.2) Да (2.0+ через ROCm)
RX 6000 (напр., RX 6600 XT, RX 6700 XT, RX 6800 XT) 2020 12 700 - 40 000
(DNS, новая)
Да Да Да (H.264, HEVC, AV1только декодирование) Нет Да Нет (технология NVIDIA) Да (1.2) Да (2.0+ через ROCm)
RX 7000 (напр., RX 7600, RX 7700 XT, RX 7800 XT, RX 7900 XT(X)) 2022-2023 25 000 - 64 000
(DNS, новая)
Да Да Да (H.264, HEVC, AV1декодирование и кодирование) Да (официальная поддержка) Да Нет (технология NVIDIA) Да (1.3) Да (2.0+ через ROCm)

Примечания

  1. RDNA (Radeon DNA) — название микроархитектуры графических процессоров и соответствующей архитектуры набора инструкций, разработанной компанией AMD. RDNA стала преемницей предыдущей архитектуры GCN (Graphics Core Next) и используется в видеокартах серий: (RDNA 1 - серии Radeon RX 5000 (2019), RDNA 2 - серии Radeon RX 6000 (2020), RDNA 3 - серии Radeon RX 7000 (2022), RDNA 4 - серии Radeon RX 9000 (анонсированное в 2025 году).
  2. amdgpu - opensource-драйвер под лицензией MIT, разработанный AMD для поддержки линейки видеокарт Radeon. Был анонсирован в 2014 году как преемник предыдущего драйвера radeon и выпущен 20 апреля 2015 года.
  3. RADV и RadeonSI - драйвера для графических API Vulkan и OpenGL соответственно
  4. Nouveau - проект по созданию свободных драйверов для видеокарт компании Nvidia с поддержкой ускорения трёхмерной графики. Изначально основан на распространяемом по свободной лицензии, но нечитаемом драйвере «nv» 2D-графики от nVIDIA. Создается методом реверс-инжинеринга. Начат в 2005, первый стабильный релиз был в 2012. После кампания Nvidia как-то пыталась помочь документацией и прочим, но все равно, не шибко шевелится в этом направлении.
  5. VA-API - Video Acceleration API - API видеоускорения — opensource API, позволяющий таким приложениям, как медиаплеер VLC или GStreamer, использовать возможности аппаратного ускорения видео, обычно предоставляемые графическим процессором (GPU). Он реализован с помощью свободной и opensource библиотеки libva в сочетании с аппаратно-специфичным драйвером, обычно поставляемым вместе с драйвером графического процессора.
  6. VDPAU - Video Decode and Presentation API for Unix - API декодирования и представления видео для Unix - бесплатный API, а также его реализация в виде свободной и opensource библиотеки (libvdpau) распространяющейся по лицензии MIT. Он позволяет видеопрограммам получать доступ к специализированной микросхеме ASIC для декодирования видео на графическом процессоре, чтобы перенести часть процесса декодирования видео и постобработки видео с центрального процессора на графический процессор.
  7. NVENC (сокр. от Nvidia Encoder) — функция видеокарт Nvidia, которая выполняет кодирование видео, перекладывая эту ресурсоёмкую задачу с центрального процессора на выделенную часть графического процессора.
    NVDEC (ранее известный как NVCUVID) — функция видеокарт Nvidia, которая выполняет декодирование видео, перекладывая эту ресурсоёмкую задачу с центрального процессора на выделенную часть графического процессора.
  8. Vulkan — кроссплатформенный API и открытый стандарт для 3D-графики и вычислений. Был призван устранить недостатки OpenGL и предоставить разработчикам больше контроля над графическим процессором.
  9. OpenCL — стандарт для создания программ, способных работать параллельно на различных типах процессоров (CPU, GPU, FPGA и других специализированных устройствах).

Источники