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

Revision as of 09:14, 26 December 2022 by Krotesk (talk | contribs) (Created page with "Некоторые приложения (обычно игры типа steam) могут иметь встроенную опцию для указания командной...")
Other languages:
English • ‎Türkçe • ‎español • ‎русский • ‎中文(中国大陆)‎

Обзор

Note
Команда mhwd все еще находится в стадии разработки и в настоящее время способна устанавливать драйверы только для видеокарт, подключенных по протоколу pci.

При установке полной версии Manjaro (т.е. с предустановленным окружением рабочего стола, кодеками и программами) команда mhwd будет автоматически выполняться программой установки GUI и CLI для автоматического определения вашей видеокарты и установки наиболее подходящего для нее драйвера. Будут ли установлены свободные или проприетарные драйверы, будет зависеть от вашего первоначального выбора использования свободных или несвободных видеодрайверов при загрузке. В противном случае, необходимо будет выполнить команду mhwd вручную как часть процесса после установки минималистичного NET-издания Manjaro.

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

Автоматическое распознавание и установка

Это рекомендуемый метод обнаружения и установки видеодрайверов. Синтаксис метода автоматической установки следующий:

user $ sudo mhwd -a [pci или usb подключение] [free или nonfree драйверы] 0300 COPY TO CLIPBOARD


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

  • -a: автоматическое обнаружение и установка соответствующего драйвера
  • [pci или usb]: установка соответствующего драйвера для устройств, подключенных к компьютеру через pci или через usb (опять же, на данном этапе разработки mhwd поддерживает только pci)
  • [free или nonfree]: установка либо бесплатных драйверов (например, предоставленных сообществом Linux), либо несвободных драйверов (например, предоставленных производителями оборудования)
  • 0300: определить, что драйвер должен быть установлен для видеокарты (0300 - это идентификатор для видеокарт. По мере развития команды mhwd будут использоваться новые идентификаторы для других аппаратных устройств).


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

user $ sudo mhwd -a pci nonfree 0300 COPY TO CLIPBOARD



В противном случае следующая команда приведет к автоматическому обнаружению и установке лучшего из доступных бесплатных драйверов для видеокарты, подключенной к pci-порту:

user $ sudo mhwd -a pci free 0300 COPY TO CLIPBOARD


Ручное распознавание и установка

Сам по себе подход "сделай сам" является относительно простым и понятным с помощью команды mhwd. Его следует применять в два этапа:

1. Определить соответствующий драйвер для установки, а затем

2. Установить его



Tip
Просто убедитесь, что вы определили и действительно собираетесь установить правильный драйвер для вашей конкретной видеокарты!


Определение доступных драйверов

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

user $ mhwd -l [дополнительно: подробный просмотр] [дополнительно: --pci или --usb подключение] COPY TO CLIPBOARD


Использование этой команды без дополнительных опций выведет список базовой информации для всех доступных драйверов устройств, подключенных к вашей системе. Все драйверы видеокарт будут иметь префикс (video-) в своем названии. Основная информация, предоставленная для всех перечисленных драйверов, будет следующей:

  • Название
  • Версия
  • Свободная или проприетарная, и
  • PCI или USB соединение


Более подробный список установленных драйверов можно получить, введя:

user $ mhwd -l -d COPY TO CLIPBOARD


Подробный список предоставит следующую информацию:

  • Название
  • Версия
  • PCI или USB соединение
  • Описание
  • Приоритет
  • Свободная или проприетарная
  • Зависимости
  • Конфликты
  • Идентификатор класса (например, '0300' для драйверов видеокарт), и
  • Идентификатор поставщика


Кроме того, использование фильтра --pci в следующем примере выведет список подробной информации только для драйверов, доступных для устройств (например, видеокарт), использующих внутреннее PCI-соединение:

user $ mhwd -l -d --pci COPY TO CLIPBOARD


Установка драйвера

Для установки драйвера видеокарты используйте следующий синтаксис:

user $ sudo mhwd -i pci [название драйвера] COPY TO CLIPBOARD



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

  • -i: Установить драйвер
  • [pci]: Установка драйвера для устройства, подключенного к компьютеру через pci (например, видеокарты).
  • [название драйвера]: Название устанавливаемого драйвера

Например, для установки проприетарного драйвера видеокарты nvidia используется следующая команда:

user $ sudo mhwd -i pci video-nvidia COPY TO CLIPBOARD


Принудительная переустановка драйвера

Warning
используйте эту команду с осторожностью!

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

user $ sudo mhwd -f -i pci [название драйвера] COPY TO CLIPBOARD


Например, чтобы принудительно переустановить ранее установленный драйвер видеокарты nvidia можно использовать следующую команду:

user $ sudo mhwd -f -i pci video-nvidia COPY TO CLIPBOARD


Удаление установленного драйвера

В некоторых случаях может потребоваться удалить установленный драйвер видеокарты. Аналогично ручной установке драйвера видеокарты, для его удаления необходимо выполнить два шага:

1. Распознать установленный драйвер

2. Удалить распознанный драйвер

В конце концов, будет трудновато удалить установленный драйвер, если вы не знаете как он называется!


Распознавание установленных драйверов

Чтобы определить и перечислить установленные в Manjaro драйверы, включая видеодрайвер, который нужно удалить, используйте следующий синтаксис:

user $ mhwd -li [дополнительно: подробный просмотр] [дополнительно: только pci или usb устройства] COPY TO CLIPBOARD


При использовании этой команды без дополнительных опций будет выведена основная информация обо всех драйверах, установленных в вашей системе. Опять же, все драйверы для видеокарт будут иметь префикс (video-) в своем названии. Как и в случае со списком драйверов, доступных для вашей системы, опция -d, используемая в следующей команде, выведет подробную информацию:

user $ mhwd -li -d COPY TO CLIPBOARD


Эта информация может оказаться полезной для определения любых непредвиденных последствий или проблем после удаления драйвера. И опять же, можно отфильтровать список установленных драйверов по тому, используются ли они на оборудовании, подключенном через pci или usb. В этом случае подробный список будет сформирован только для установленных драйверов, используемых на оборудовании с подключением PCI:

user $ mhwd -li -d --pci COPY TO CLIPBOARD


Еще один способ сообщить об установленных и используемых драйверах - использовать инструмент inxi.

user $ inxi -G COPY TO CLIPBOARD



Note
Профиль mhwd 'video-linux' соответствует последнему драйверу с открытым исходным кодом, доступному для вашего оборудования.
Note
Профиль mhwd 'video-vesa' является общим резервным драйвером, который не следует использовать в подавляющем большинстве случаев.

Удаление установленных драйверов

Warning
используйте эту команду с осторожностью!

Для удаления установленного драйвера используйте следующий синтаксис:

user $ sudo mhwd -r [pci или usb] [название драйвера] COPY TO CLIPBOARD


Например, чтобы удалить установленный драйвер для видеокарты nvidia (подключенной через pci) необходимо выполнить следующую команду:

user $ sudo mhwd -r pci video-nvidia COPY TO CLIPBOARD


Проверка конфигурации

Вы можете проверить конфигурацию с помощью:

user $ sudo mhwd-gpu --check COPY TO CLIPBOARD


user $ mhwd-gpu --status COPY TO CLIPBOARD


И при необходимости устранить проблемы:

user $ sudo mhwd-gpu --setmod COPY TO CLIPBOARD


user $ sudo mhwd-gpu --setxorg [ПУТЬ] COPY TO CLIPBOARD


Убедитесь, что путь к файлу конфигурации xorg является действительным.

Примечание по поводу ati, файла xorg и артефактов при входе в систему или kicad: если вы получаете артефакты при входе в систему или если рендеринг и масштабирование kicad происходит медленно - попробуйте добавить [Option "EXAPixmaps" "off"] в раздел "Device" файла конфигурации xorg. Смотрите здесь.

Двойной GPU

Разгрузка PRIME GPU

Если ваше оборудование включает более одной карты GPU - вы можете воспользоваться разгрузкой PRIME. PRIME - это технология, используемая для управления гибридной графикой, встречающейся в последних настольных компьютерах и ноутбуках (Optimus для NVIDIA, AMD Dynamic Switchable Graphics для Radeon). PRIME обнаруживает обе карты и автоматически выбирает карту Intel по умолчанию; более мощная дискретная видеокарта используется для более требовательных приложений.

В Manjaro это будет автоматически доступно для гибридных графических систем, использующих intel/modesetting для интегрированной карты и бесплатные драйверы (AMDGPU или Nouveau) для dGPU.

Вы можете запустить программу с определенным GPU, добавив к команде приложения DRI_PRIME=x, где x - номер приоритета карты.

Например, для запуска приложения с помощью второй карты добавьте в команду запуска приложения DRI_PRIME=1.

user $ DRI_PRIME=1 glxspheres64 COPY TO CLIPBOARD


Для использования 1-й карты (обычно, когда процессор имеет встроенный GPU, используется именно она)

user $ DRI_PRIME=0 glxspheres64 COPY TO CLIPBOARD


Если вы хотите всегда запускать какое-то приложение с дискретным процессором, то можете скопировать файл .desktop этого приложения в ~/.local/share/applications/ и отредактировать свойство "Exec".

user $ Exec=DRI_PRIME=1 inkscape COPY TO CLIPBOARD


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

Например, в Steam выберите игру, которую вы хотите запустить с помощью дискретной карты Nvidia, на странице библиотеки клиента Steam, щелкните правой кнопкой мыши и выберите пункт "Свойства". Нажмите кнопку SET LAUNCH OPTIONS... и укажите параметры командной строки, за которыми следует стандартный ключ запуска %command%.

DRI_PRIME=1 %command%

Чтобы использовать dGPU по умолчанию, смотрите Reverse Prime.

Проприетарные (несвободные) драйвера NVIDIA

Если у Вас карта Nvidia - у Вас есть возможность использовать проприетарные (с закрытым исходным кодом = несвободные) драйверы вместо открытого (свободного) драйвера nouveau.

Для устаревших карт nvidia Manjaro поддерживает старые драйверы для совместимости. В этих случаях имя драйвера отличается, вместо nvidia это nvidia-390xx или nvidia340xx, будь то в конфигурации драйвера nvidia-only или bumblebee mhwd.

Когда Вы устанавливаете несвободный драйвер, mhwd включает утилиту от Nvidia "Nvidia Settings Utility", которая может помочь вам настроить несколько параметров. Вы можете найти эту утилиту в графическом меню приложений или запустить из терминала

user $ sudo nvidia-settings COPY TO CLIPBOARD


Если вы используете bumblebee - утилита nvidia нуждается в специальной команде

user $ sudo optirun -b none nvidia-settings -c :8 COPY TO CLIPBOARD


Nvidia Optimus

Для ноутбуков Optimus или оборудования с двумя GPU - intel и nvidia - у Вас есть три варианта использования драйвера карты в соответствии с вашими предпочтениями или возможностями вашего оборудования.

PRIME (по-умолчанию в mhwd)

Bumblebee

Optimus Manager

При установке Manjaro с опцией non-free, выбранной в меню Grub, или при использовании автоматической установки драйверов, по умолчанию устанавливается PRIME или bumblebee, в зависимости от поддержки вашего GPU, причем PRIME предпочтительнее. В этих случаях драйвер mhwd называется "video-hybrid-intel-nvidia-***xx-prime" или "video-hybrid-intel-nvidia-***xx-bumblebee".


Настройка разрешения/частоты обновления

Warning
Приведенный метод в настоящее время не работает для редакции Cinnamon. Как только решение будет найдено - эта статья будет обновлена.


1. Запустите утилиту nvidia-settings

2. Измените разрешение и частоту обновления на вкладке 'X Server Display Configuration'.

3. Нажмите кнопку 'Save to X Configuration File' и сохраните в /etc/X11/mhwd.d/nvidia.conf.

4. Теперь запустите терминал и введите следующую команду для завершения процесса:

user $ sudo mhwd-gpu --setmod nvidia --setxorg /etc/X11/mhwd.d/nvidia.conf COPY TO CLIPBOARD


Настройка параметров X Screen (настройки OpenGL, сглаживание, X Server XVideo)

1. Запустите утилиту nvidia-settings

2. Измените настройки в X Server XVideo Settings, OpenGL и Antialiasing на вкладке 'X Screen'.

3. Перейдите на вкладку 'nvidia-settings configuration' и нажмите на кнопку 'Save Current Configuration'.

4. Сохраните .nvidia-settings-rc в указанном по умолчанию месте (/home/[имя вашей учетной записи]).

5. Отредактируйте файл .xinitrc с помощью предпочитаемого текстового редактора. Например, если вы используете gedit, запустите это в терминале:

user $ gedit ~/.xinitrc COPY TO CLIPBOARD


6. После открытия добавьте следующую строку в файл конфигурации:

user $ exec nvidia-settings --load-config-only COPY TO CLIPBOARD


7. Сохраните и выйдите.

Настройки Nvidia для особых случаев

Если ваш монитор не входит в режим энергосбережения (DPMS), попробуйте добавить `Option "HardDPMS" "true"` в разделе монитора Xorg. Например:

  Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "BenQ ZOWIE XL LCD"
    HorizSync       30.0 - 160.0
    VertRefresh     56.0 - 144.0
    Option         "DPMS"
    Option         "HardDPMS" "true"
  EndSection


После вопроса на форуме


nvidia-prime

Manjaro также предлагает простой способ использования PRIME с проприетарными драйверами Nvidia.
. Просто выберите и установите профиль 'nvidia-prime' через MSM или mhwd (например, video-hybrid-intel-nvidia-440xx-prime) и убедитесь, что пакет nvidia-prime установлен.

Затем для использования дискретной карты Nvidia это работает так же, как и Разгрузка PRIME выше, но использует другую команду. Добавьте к команде приложения prime-run. Например:

user $ prime-run glxspheres64 COPY TO CLIPBOARD


Для получения дополнительной информации смотрите архивный пост о раннем принятии PRIME.

Bumblebee

Конфигурация Bumblebee в основном разработана для того, чтобы помочь минимизировать расход батареи ноутбука, поскольку Nvidia обычно потребляет значительное количество энергии, в то время как карты Intel более энергоэффективны. Таким образом, bumblebee обнаруживает обе карты и автоматически выбирает карту Intel по умолчанию, а для более требовательных приложений может использовать Nvidia. Чтобы приложение использовало карту Nvidia, добавьте к команде приложения optirun или primusrun. Например:

user $ optirun glxspheres64 COPY TO CLIPBOARD


user $ primusrun inkscape COPY TO CLIPBOARD


Если вы хотите специально запустить какое-то приложение с драйвером nvidia, то можете изменить свойство "Exec" файла .desktop этого приложения или запустить его в терминале следующим образом

 Exec=primusrun chromium

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

For example, in Steam, select a game - that you want to run using your discrete Nvidia card - from the Library page of the Steam client, right-click, and select Properties. Click the SET LAUNCH OPTIONS... button and specify for the command line options followed by the default launch hook %command%.

primusrun %command%

If you have problems with a bumblebee setup, refer to this Forum Tutorial for advice.

Смотрите также


Более легкий путь

You may use a GUI version of mhwd in Manjaro Settings Manager#Hardware Detection

With this tool you can:
- install graphic driver
- switch graphic driver

https://www.youtube.com/watch?v=UAFGukpEIJw


Как проверить драйвер

user $ glxinfo | grep OpenGL COPY TO CLIPBOARD


Example output command:

Nvidia driver ( proprietary driver )


$ glxinfo | grep OpenGL

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 660/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 331.49
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.4.0 NVIDIA 331.49
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:


Nouveau , Gallium from Mesa ( open source driver )


$ glxinfo | grep OpenGL

OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NVE6
OpenGL core profile version string: 3.1 (Core Profile) Mesa 9.2.5
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 9.2.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:


Intel driver from Mesa ( open driver )


$ glxinfo | grep OpenGL

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions: