Как работает видеокарта в linux

Обновлено: 06.07.2024

Когда дело доходит до выбора быстрой и мощной видеокарты , то существует два основных варианта: AMD и Nvidia.

Есть несколько факторов, которые выделяют их. В Windows важна скорость - графические процессоры Nvidia, как правило, работают быстрее, чем AMD. Но в Linux есть и другие факторы, о которых нужно помнить.

Но что же выбрать для Linux - AMD или Nvidia?

Драйверы GPU: проприетарные vs открытые

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

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

Стоит ли использовать видеокарты Nvidia для Linux?

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

Большая часть работы, проделанной Nouveau, осуществляется путем реинжиниринга проприетарного драйвера Nvidia. Это похоже на то, как проект Wine воссоздает среду Windows для запуска таких программ, как Microsoft Office на Linux.

Это имеет свои недостатки, в основном по скорости и совместимости. Проприетарные драйверы Nvidia намного быстрее, чем nouveau, особенно с новыми видеокартами.

Другим недостатком является то, что nouveau не хватает того, что есть у проприетарного драйвера: блокировка . Это позволяет графическому процессору работать больше и, следовательно, работать быстрее (за счет большей мощности).

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

AMD - лучший вариант видеокарты для Linux?

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

По сравнению с драйвером Nvidia с открытым исходным кодом, улучшена поддержка новых видеокарт. Частично это связано с поддержкой AMD сообщества открытого исходного кода, предоставлением документации и рабочей силы для разработки драйверов.

Но в то время как драйверы AMD с открытым исходным кодом хороши во всех аспектах, ваша производительность все равно будет заметно ниже, чем при использовании видеокарты Nvidia с проприетарными драйверами.

AMD против Nvidia: что лучше для графической коммутации ( GPU switching )?

Почти все ноутбуки и настольные ПК поставляются с интегрированной графикой Intel. Дискретные графические процессоры от Nvidia и AMD являются дополнениями для ноутбуков, но могут быть добавлены вручную на настольных компьютерах.

GPU switching - это возможность компьютера выбирать, какой графический процессор использовать. Для основных задач, таких как просмотр веб-страниц и обработка текста, выбран графический процессор Intel. Для игр, редактирования видео и тому подобного используется дискретный графический процессор.

Все проприетарные драйверы Nvidia и AMD для Linux с открытым исходным кодом поддерживают GPU switching.

AMD или Nvidia поддерживают Wayland?

Дисплейный сервер Wayland является неотъемлемой частью разработки Linux и доступен на большинстве основных настольных систем Linux.

Графика AMD и Intel работает с Wayland с использованием открытых и закрытых драйверов. Nvidia - это другая история.

Хотя развитие этого ожидается к 2021 году, собственный драйвер Nvidia работает только с реализацией GNOME Wayland.

Композиторам для Wayland требуется специальный API (интерфейс прикладного программирования) , реализованный графическим драйвером. API, который используется в настоящее время чаще всего, называется GBM (Generic Buffer Management). Пока вы используете драйвер с открытым исходным кодом (AMDGPU / Radeon / nouveau), Wayland будет работать.

Какая видеокарта лучше всего подходит для Linux: Intel, AMD или Nvidia?

Для настольных компьютеров Linux это сделать намного проще.

Карты Nvidia стоят дороже AMD и имеют преимущество в производительности. Но использование AMD гарантирует превосходную совместимость и выбор надежных драйверов, будь то с открытым исходным кодом или проприетарные.

То же самое верно для Intel, хотя это решение медленнее.

Если вам нужна поддержка Wayland, AMD и Intel - самые надежные варианты. В противном случае, подходит Nvidia.

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

За отрисовку всех графических элементов в Linux отвечает графический сервер. Он реализует интерфейс прослойки между драйверами видеокарты и различными программами, которые работают с графикой.

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

После установки видеокарта работает достаточно хорошо и настроек по умолчанию в большинстве случаев хватает, но иногда нужно изменить некоторые параметры. Мы не будем рассматривать установку драйверов. В этой статье мы сосредоточимся на том, как выполняется настройка видеокарты linux через xorg.conf.

Настройка видеокарты Linux c помощью xorg.conf

Конфигурационный файл xorg.conf - это обычный текстовый файл, в котором хранятся параметры работы Xorg сервера. Сюда входят настройки дисплея, мыши, видеокарты и клавиатуры. В былые времена этот файл был очень большим и сложным, но со временем его функции были перенесены в другие компоненты системы. Поэтому в последнее время он был видоизменен, и упрощен. Во многих дистрибутивах вообще такого файла нет, а вся конфигурация хранится в бинарном формате.

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

Создание Xorg.conf

Обычно, этот файл размещен в директории /etc/X11/xorg.conf. Но если в вашем дистрибутиве его нет, можно без проблем создать xorg.conf на основе журнала.

Сначала скопируйте файл журнала для новой сессии:

cp /var/log/Xorg.0.log /var/log/Xorg.1.log

Xorg -configure :1

Программа проанализирует файл лога, и на его основе создаст новый файл /etc/X11/xorg.conf учитывая конфигурацию вашей системы. В вашем домашнем каталоге появиться файл xorg.conf.new, который нужно скопировать в /etc/X11/:

cp xorg.conf.new /etc/X11/

Синтаксис конфигурационного файла

Перед тем как переходить к настройке xorg.conf нужно разобраться в его синтаксисе, чтобы вы могли немного ориентироваться в самом файле. X сервер отвечает за все интерактивные связи во время сессии. Поэтому конфигурационный файл разбит на секции, несколько из них отвечают за работу с дисплеем, другие за мышь и клавиатуру. Рассмотрим основные секции файла:

  • Module - в этом разделе описываются подключение модулей, расширяющих функциональность видео драйвера. Например, GLX модуль добавляет 3D ускорение, а модули Type1 и Freetype используются для рендеринга шрифтов;
  • ServerLayout - в этой секции указаны имена трех самых необходимых устройств для каждой рабочей сессии Xorg - имена мыши, клавиатуры и экрана, которые могут использоваться в других местах файла;
  • InputDevice - в xorg.conf обычно есть две секции InputDevice, первая для мыши и вторая для клавиатуры. Большинство мышей работают отлично по умолчанию, здесь понадобиться что-то менять только если вы захотите добавить дополнительные возможности;
  • Monitor - в этой секции перечислены все настройки вашего экрана, один из наиболее важных параметров, частота горизонтальной развертки HorizSync и вертикального обновления VertRefresh, именно на основе них рассчитывается разрешение экрана. Также можно жестко задать разрешение с помощью строки ModeLine;
  • Device - тут перечислено все ваше графическое оборудование вместе с драйверами, которые используются. Чаще всего, это nv с открытым исходным кодом для NVIDIA, или fglrx для карт от AMD. Имя драйвера Intel будет зависеть от версии вашей карты, например, i810.
  • Screen - здесь расположены все настройки вашего монитора и других графических устройств. Вы можете использовать эту секцию, например, для настройки нескольких экранов.

Настройка экрана xorg

Большинство параметров вашего экрана система получает с помощью технологии EDID или Extended Display Identification Data. Это информация, переданная дисплеем видеокарте. Здесь обычно содержится модель, производитель, такйминги, разрешение и размер дисплея. Xorg использует эти параметры для выбора оптимального разрешения экрана и глубины цвета.

Но иногда информация из EDID может быть неточной или неверной. Тогда вы можете установить нужные параметры вручную через xorg.conf. Но будьте осторожны, если ваш экран не поддерживает некоторые параметры, вы можете его повредить. Характеристики каждого отдельного устройства можно найти в интернете или же в инструкции от производителя.

Например, вот секция Monitor с настройкой вертикальной и горизонтальной частот, а также разрешения:

Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 28.0 - 72.0
VertRefresh 43.0 - 60.0
ModeLine "1440x900_60.00" 106.5 1440 1520 1672 1904 900 901 904 932 -hsync +vsync

Добавив такие опции в секцию Device, вы можете отключить использование EDID:

Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Option "ModeValidation" "NoEdidModes"

Наиболее важное значение - это две частоты, которые определяют диапазон работы устройства. Строка ModeLIne необязательна, поскольку она вычисляется автоматически, но если X сервер задает значения неверно, вы можете их прописать жестко в этой строке.

Настройка видеокарты в xorg.conf

У драйверов видеокарт ест множество различных полезных опций, которые вы можете настроить с помощью xorg.conf. Большинство из них специфичны для конкретного производителя видеокарт. Например, есть множество настроек для видеокарт NVIDIA, но с другой стороны карты от ATI не настраиваются через этот файл. Драйвера с открытым исходным кодом от Intel имеют только несколько настроек. Дальше будет рассмотрена настройка видеокарты linux для различных производителей.

Настройка Nvidia

У видеокарт NVIDIA есть множество настроек, которые можно указать в xorg.conf. Каждая строка состоит из ключа и значения, ее можно разместить в секции Screen или Device:

  • Option "NoLogo" "true" - во время инициализации драйвера показывается логотип NVIDIA. Это занимает некоторое время, поэтому с помощью такой строки можно отключить логотип;
  • Option "LogoPath" "адрес_файла" - вы можете заменить логотип NVIDIA на свое изображение, для этого просто укажите его адрес в этой строке;
  • Option "CursorShadow" "true" - если вы хотите видеть тень вокруг курсора, включите эту опцию. Тут есть два дополнительных параметра CursorShadowXOffset и CursorShadowYOffset, которые позволяют установить положение тени;
  • Option "Coolbits" "true" - эта опция позволяет включить возможность разгона частоты процессора и скорости памяти вашей видеокарты. Но вам нужно быть аккуратным с этим параметром, поскольку так вы можете повредить сове оборудование. Параметры разгона будут отображаться в утилите nvidia-config;
  • Option "DPI" "75 x 85" - если значение DPI (количество точек на дюйм) установлено неверно, то это может повлиять на правильность отображения шрифтов. Обычно, Xorg вычисляет этот параметр на основе EDID, но вы можете установить его вручную. Например, для монитора с разрешением ,440x900 и физическим размером 16x10 дюймов, значение DPI будет составлять (1,440/16)x(900/10) = 90x90.

Настройка видеокарты Intel

Графическими картами от Intel не всегда поддерживается настройка xorg.conf. Поэтому вам нужно проверить каждую из опций чтобы увидеть дает ли она какой-либо результат. Опции нужно добавлять в раздел Device:

  • Option "AccelMethod" "EXA" - эта опция позволяет включить новую архитектуру ускорения EXA. Она поддерживается в большинстве интегрированных карт Intel 943/940 и позволяет улучшить скорость композитинга.
  • Option "MigrationHeuristic" "greedy" - позволяет уменьшить использование видеопамяти на хранение различных текстур, что повышает общую производительность;
  • Option "TripleBuffer" "true" - этот параметр включает использование более совершенного метода двойной буферизации (используется для противостояния мерцанием).

Решение проблем xorg.conf

Если у вас не получается правильно настроить xorg.conf, нужно начать с самого меньшего. Используйте драйвер Vesa. Это стандартный видеодрайвер, а значит, его поддерживает любая видеокарта. Просто установите значение опции Driver - Vesa и попробуйте запустить X сервер. Вы должны увидеть свой рабочий стол.

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

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

Выводы

Теперь вы знаете достаточно и настройка видео Linux с помощью xorg не должна для вас быть очень сложной, даже если вы раньше этим не занимались. Особенно, если вы недовольны текущими настройками. Настройка x сервера поможет вам получить больше от старого оборудования или интегрированных карт. Только не забывайте делать резервные копии перед внесением каких-либо изменений.

Объяснение драйверов видеокарты для Linux

По этой причине многие в сообществе Linux предпочитают использовать графические процессоры AMD Radeon. Их драйверы имеют открытый исходный код, включены в ядро ​​Linux и не требуют возни, чтобы все заработало.

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

Лучшие видеокарты, совместимые с Linux

Основываясь на нашем обширном тестировании, мы обнаружили, что это лучшие видеокарты для Linux.

1. AMD Radeon RX 5700 XT


В AMD Radeon RX 5700 XT это лучший игровой графический процессор от AMD. У него невероятный объем видеопамяти, 8 ГБ GDDR6. Кроме того, RX 5700 XT невероятно быстр, с частотой до 1925 МГц, что гарантирует плавность и плавность ваших игр в Linux.

Что касается выходов, RX 5700 XT имеет 3 порта DisplayPort и 1 порт HDMI 2.0b. Лучше всего то, что это Radeon, ядро ​​Linux поддерживает его с графическими драйверами с открытым исходным кодом, и нет необходимости возиться с ним, чтобы заставить его работать даже с самыми непонятными дистрибутивами!

В ходе нашего тестирования мы обнаружили, что RX 5700 XT справился с любой видеоигрой для Linux из коробки в красивом разрешении ultra-HD. Однако здесь и там есть некоторые проблемы из-за ограничений графических драйверов AMD с открытым исходным кодом.

Примечательные особенности

  • Быстрая видеопамять GDDR6 с 256-битным интерфейсом памяти.
  • GPU Boost работает на частоте 1925 МГц.
  • Работает из коробки без проблем в Linux с драйверами AMD, встроенными в ядро.
  • Его можно использовать для майнинга криптовалюты.
  • Очень низкое энергопотребление.

Расходы

В Radeon RX5700 XT не дешевая видеокарта. Это немного дороговато. Однако, если вы ищете отличную видеокарту, которая хорошо работает с экосистемой Linux с открытым исходным кодом и может обеспечить отличную игровую графику, то это то, что вам нужно!

2. XFX Radeon RX 580 GTS XXX издание


Что касается портов, то у XFX Radeon RX 580 GTS XXX Edition их довольно много. Как и многие другие современные графические процессоры, он имеет 3 порта DisplayPort, доступных для использования пользователем. Он также имеет один порт HDMI и один порт DVI.

В ходе нашего тестирования мы обнаружили, что XFX Radeon RX 580 GTS XXX Edition с легкостью справляется с играми под Linux в разрешении HD и испытывает лишь незначительные задержки из-за того, что некоторые игры разрабатывались с учетом «Nvidia».

Примечательные особенности

  • включает графические ядра GCN 4-го поколения для максимальной производительности.
  • Поддержка майнинга криптовалюты.
  • Работает прямо из коробки с драйверами видеокарт AMD с открытым исходным кодом.
  • Очень низкое энергопотребление.

Расходы

3. ASUS TURBO Nvidia GeForce RTX 2070 Супер


AMD может быть фаворитом Linux-геймеров, которые не любят возиться с драйверами, но графические процессоры Nvidia для Linux тоже великолепны. Представляем Nvidia GeForce RTX 2070 Супер. Это игровая электростанция!

Nvidia GeForce RTX 2070 Super обладает невероятными характеристиками, предлагая до 8 ГБ видеопамяти DDR6, 1800 МГц тактовая частота и 2560 ядер Nvidia CUDA. Что касается выходов, GeForce RTX 2070 Super имеет 1 порт HDMI и 3 порта DisplayPort, что является стандартом для современных высокопроизводительных графических процессоров. Кроме того, графический процессор представляет собой карту «RTX», что означает, что он будет поддерживать все игры, в которых используется технология трассировки лучей «Nvidia RTX»!

При использовании Nvidia GeForce RTX 2070 Super мы обнаружили, что она запускала все видеоигры для Linux без проблем при условии, что были установлены сторонние проприетарные графические драйверы. При использовании драйверов с открытым исходным кодом производительность была значительно хуже.

Примечательные особенности

  • Поддерживает технологию трассировки лучей в реальном времени (RTX).
  • Быстрая видеопамять GDDR6 с тактовой частотой 1800 МГц.
  • 2560 ядер Nvidia CUDA обеспечивают великолепный графический рендеринг.

Расходы

4. Гигабайт GeForce GTX 1650 Super


Поскольку GTX 1650 Super находится на стороне среднего уровня, у нее нет стандартной настройки порта 3 DisplayPort / 1 HDMI. Вместо этого GTX 1650 Super предлагает пользователям 1 порт DisplayPort, 1 порт HDMI и один порт DVI.

При использовании GeForce GTX 1650 Super мы обнаружили, что она поддерживает большинство видеоигр со средним и высоким качеством при приличном разрешении. При использовании проприетарного графического драйвера Nvidia игры работали хорошо. С драйвером с открытым исходным кодом все было менее стабильно и работало с немного меньшей частотой кадров.

Примечательные особенности

  • Тонкий дизайн делает его идеальным для небольших рабочих станций среднего уровня.
  • У него есть порт DVI, что по-прежнему ценится многими пользователями.
  • Хотя у него всего 4 ГБ видеопамяти, это GDDR6, что позволяет ему работать намного быстрее, чем конкурирующие графические процессоры среднего класса.

Расходы

Вывод

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


Когда дело доходит до выбора быстрой видеокарты, есть два основных варианта: AMD и Nvidia.

Является ли Intel Graphics лучшим выбором для Linux?

Прежде чем сравнивать AMD и Nvidia, стоит рассмотреть ключевую альтернативу.

Единственный поставщик видеокарт, в котором вы можете быть абсолютно уверены, это интегрированная графика Intel. Хотя они могут быть не такими быстрыми, встроенная графика Intel, в последние годы, значительно улучшилась. Плюс, они очень экономичны по сравнению с видеокартами Nvidia или AMD, если у вас ноутбук.

Поддержка Intel доступна из коробки, драйверы полностью открыты для Linux. Многие игры также вполне играбельны, как с дискретными видеокартами. Вы также будете уверены, что Wayland работает.

Драйверы для графических процессоров: проприетарные и открытые

Существует два типа драйверов, которые вы можете установить, чтобы ваши видеокарты работали, а именно: проприетарные драйверы или драйверы с открытым исходным кодом. Хотя у обоих есть и хорошие и плохие стороны, они отличаются, если вы используете видеокарту Nvidia или AMD.

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

Стоит ли использовать видеокарты Nvidia для Linux?

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

Большая часть работы, проделанной Nouveau, осуществляется путем реинжиниринга проприетарного драйвера Nvidia. Это похоже на то, как проект Wine воссоздает среду Windows для запуска таких программ, как Microsoft Office в Linux.

Это имеет свои недостатки, в основном по скорости и совместимости. Проприетарные драйверы Nvidia намного быстрее, чем nouveau, особенно с новыми видеокартами.

Другим недостатком является то, что nouveau не хватает того, что есть у проприетарного драйвера: блокировка. Это позволяет графическому процессору работать быстрее (за счет большей мощности). К сожалению, только несколько графических процессоров Nvidia могут использовать это с установленным nouveau, ни один из них не новый.

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

По большей части не имеет значения, какие драйверы вы устанавливаете для видеокарт AMD. Они хорошо поддерживаются по всем направлениям, хотя использование драйверов с открытым исходным кодом является предпочтительным методом, фактически, во многих случаях драйверы с открытым исходным кодом (AMDGPU для более новых карт и Radeon для более старых) находятся на одном уровне со своими аналогами или даже быстрее!

По сравнению с драйвером Nvidia с открытым исходным кодом, улучшена поддержка новых видеокарт. Частично это связано с поддержкой AMD сообщества открытого исходного кода, предоставлением документации и рабочей силы для разработки драйверов.

Но в то время, как драйверы AMD с открытым исходным кодом хороши во всех аспектах, ваша производительность все равно будет заметно ниже, чем при использовании видеокарты Nvidia с проприетарными драйверами.

AMD против Nvidia: что лучше для графической коммутации?

Почти все ноутбуки и настольные ПК поставляются с интегрированной графикой Intel. Дискретные графические процессоры от Nvidia и AMD являются доп. опциями для ноутбуков и могут быть добавлены вручную на настольных компьютерах.

Все проприетарные драйверы Nvidia и AMD для Linux с открытым исходным кодом поддерживают переключение графики.

AMD или Nvidia поддерживают Wayland?

Дисплейный сервер Wayland является неотъемлемой частью разработки Linux и доступен на большинстве основных настольных систем Linux.

Хотя его развитие ожидается к 2021 году, собственный драйвер Nvidia работает только с реализацией GNOME Wayland.

Композиторам для Wayland требуется специальный API (интерфейс прикладного программирования), реализованный графическим драйвером. API, который используется в настоящее время чаще всего, называется GBM (Generic Buffer Management). Пока вы используете драйвер с открытым исходным кодом (AMDGPU / Radeon / nouveau), Wayland будет работать.

Поскольку собственный драйвер Nvidia использует другой API (EGLStreams), все иначе. Многие композиторы не поддерживают это, рабочий стол GNOME является исключением. Альтернатива, с открытым исходным кодом, также не поддерживает Wayland.

Какая видеокарта лучше всего подходит для Linux: Intel, AMD или Nvidia?

Для настольных компьютеров Linux этот ответ дать намного проще.

Карты Nvidia стоят дороже AMD и имеют преимущество в производительности. Но использование AMD гарантирует превосходную совместимость и выбор надежных драйверов, будь то с открытым исходным кодом или проприетарные, не важно.

То же самое верно для Intel, хотя это решение будет в разы медленнее.

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