Руководство по тестированию amdgpu для Ubuntu 18.04.1 LTS R9 390X

Я не могу получить amdgpu загрузить в качестве драйвера. Вместо этого он всегда загружается radeon,

Настроить:

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • 2x R9 390X

2 ответа

Решение

Это руководство и краткое описание тестирования для включения amdgpu (вместо radeon) в Ubuntu 18.04.1 с установленным R9 390X и опробованием различных ядер.

Прочитав это, прочитав / посмотрев руководство Level1Techs и многие другие, я наконец-то смог загрузить amdgpu вместо radeon. Следующие шаги показывают, как этого добиться.

проблема

Я хочу играть в игры для Linux через DXVK, используя драйвер с открытым исходным кодом (не amdgpu-pro). Поскольку DXVK работает только с драйвером amdgpu, мне приходилось все время избавляться от загрузочной версии Ubuntu.

Моя настройка

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • R9 390X (на самом деле 2, но не должно иметь значения)

Как

I. Новые драйверы

@NOT-TESTED: Он также должен работать с официальными драйверами, поставляемыми с установкой Ubuntu 18.04.1. Если вы не хотите запускать неофициальные драйверы, пропустите этот шаг.

@ ПРИМЕЧАНИЕ: загрузите новые неофициальные драйверы от PPA, чтобы повысить производительность в DXVK. Может быть нестабильным.

Установите последнюю версию драйвера с https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers:

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update && sudo apt dist-upgrade
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

@ERROR неудовлетворенные зависимости: сначала установите оригинальные драйверы:

sudo add-apt-repository --remove ppa:oibaf/graphics-drivers
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

@ ВНИМАНИЕ: Убедитесь, что у вас нет другого графического драйвера PPA, такого как ppa:paulo-miguel-dias/mesa. Вы можете проверить его драйверы Mesa: STABLE или UNSTABLE.

@ ОШИБКА общая ошибка из-за PPA: ОчиститеPPA графического драйвера, чтобы вернуться к исходным драйверам, и очистите:

sudo apt install ppa-purge && aptitude
sudo ppa-purge ppa:oibaf/graphics-drivers
sudo apt autoremove && sudo apt autoclean

Вы можете начать все сначала.

II. Конфигурация Xorg

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

/usr/share/X11/xorg.conf.d/<nr-name>.confнапример42-amdgpu.conf

#/usr/share/X11/xorg.conf.d/42-amdgpu.conf
Section "Device"
    Identifier "AMDGPU"
    Driver "amdgpu"
    Option "AccelMethod" "glamor"
    Option "DRI" "3"
EndSection

@ НЕ ПРОВЕРЕНО: добавьте это к уже существующим10-amdgpu.confфайл. Может быть перезаписано установкой драйвера.

@OPTION: Вы также можете добавить это к/etc/X11/xorg.confили же/etc/xorg.conf,

III. Черный список Radeon

Создайте файл черного списка с модулем, который должен быть в черном списке:

/etc/modprobe.d/<name>.confнапримерblacklist-radeon.conf

#/etc/modprobe.d/blacklist-radeon.conf
blacklist radeon

@OPTION: можно использовать уже существующиеblacklist.confфайлы просто добавивblacklist radeonгде-то.

Внутривенно Конфигурация GRUB

Добавьте или измените эти параметры в конфигурации grub./etc/default/grub:

#/etc/default/grub
...
GRUB_GFXMODE=1920x1080x32
GRUB_CMDLINE_LINUX_DEFAULT="radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1 amdgpu.modeset=1"
...

@ НЕ РАБОТАЛ: я сделал копию 40_custom файл в /etc/grub.d/, Это не сработало, когда я поместил его в 40_amdgpu вместо/etc/default/grub, (см./etc/grub.d/READMEдля получения дополнительной информации)

V. Обновление GRUB и начальный рамдиск

Пусть вышеупомянутые изменения вступят в силу:

sudo update-grub2 && sudo update-initramfs -u -k all

а также

reboot

VI. проверить

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

lsmod | egrep 'Used|amdgpu'

sudo lspci -v | grep amdgpu -B 19

sudo lshw -c video | grep amdgpu -B 10 -A 1

Запустите тестовое приложение Vulkan:

sudo apt install vulkan-utils

а также

vulkan-smoketest

VII.I Тестирование с новыми ядрами (по состоянию на 2018-11-19)

Я попытался загрузить различные ядра после шагов выше.

Для установки других ядер я использовалUbuntu Kernel Update Utility:

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt update
sudo apt install ukuu

Вот краткое изложение моего тестирования:

4.15.0WORKING!Ubuntu 18.04.1 LTS ядро ​​по умолчанию

4.17.5WORKING!ядро используется в этом видео

4.18.0WORKAROUND!текущее ядро ​​Ubuntu 19.10 по умолчанию (2018-11-19)

4.18.15WORKAROUND!последнее ядро ​​4.18.x с изменениями в amdgpu

4.18.19WORKAROUND!последнее ядро ​​4.18.x

4.19FAILURE!черный экран или dmesg:

[drm:dm_pp_get_static_clocks [amdgpu]] *ERROR* DM_PPLIB: invalid powerlevel state: 0!

4.19.1FAILURE!черный экран или dmesg:

drm:dm_pp_get_static_clocks [amdgpu]] *ERROR* DM_PPLIB: invalid powerlevel state: 0!
drm:amdgpu_vce_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 12 test failed
drm:amdgpu_device_init.cold.28 [amdgpu]] *ERROR* hw_init of IP block <vce_v2_0> failed -110
amdgpu 0000:05:00.0: amdgpu_device_ip_init failed
amdgpu 0000:05:00.0: Fatal error during GPU init

4.19.2FAILURE!dmesg:

Direct firmware load for amdgpu/hawaii_mc.bin failed with error -2

@ ПРИМЕЧАНИЕ: я больше не расследовал ошибки4.19.xядер еще нет.

VII.II Обходной путь

4.18-4.18.19

Получить 4.18 ядра работают:

  1. Сделайте резервную копию ваших текущих файлов прошивки:

    sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
    
  2. Загрузите linux-прошивку Ubuntu 19.10 Disco (текущая версия Disco использует ядро ​​4.18.0 по умолчанию) с https://packages.ubuntu.com/en/disco/linux-firmware или:

    wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.176.tar.gz
    
  3. Извлечь файлы:

    tar -xvzf linux-firmware_1.76.tar.gz
    
  4. Зайдите в новую прошивку директории:

    cd linux-firmware
    
  5. Установите прошивку:

    sudo make install
    
  6. перезагружать

    reboot
    

VII.II Тестирование с новыми ядрами (по состоянию на 2019-02-15)

Вот краткое изложение моего тестирования:

4.18.16WORKING! Mint 19.1 со всеми упомянутыми параметрами ядра и Radeon в черном списке

4.18.17 - 4.18.20BLACKSCREEN! Обновление прошивки не решило проблему

4.18.17 - 4.18.20NOT TESTED! пропустите параметр ядра dpm

4.20.12WORKING! параметр ядра dpm пропущен

5.00.00WORKING! параметр ядра dpm пропущен

VIII Написать сервис управления вентиляторами для тихой игры

    warning: many gpus have a maximum temperature of 95°C / 203°F
    exceeding that can damage your gpu, look at your config twice! 
  1. написать сервис с именем файла: amdgpu-fancontrol.service

    [Unit]
    Description=amdgpu-fancontrol
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/amdgpu-fancontrol
    
    [Install]
    WantedBy=multi-user.target
    
  2. поставить службу в

    /etc/systemd/system
    
  3. взять скрипт из github: ссылка

  4. измените параметры скрипта, если хотите

4.1. измените все числа от нуля до единицы, если у вас также есть встроенная графика.

/sys/class/drm/card1/device/hwmon/hwmon1/

4.2. необязательно: измените отображение температуры / оборотов

TEMPS=( 55000 65000 80000 90000 )
PWMS=(   10   70     153   255 )

4.3 проверить каталог, чтобы убедиться, что он существует

  1. поместите скрипт в /usr/bin/amdgpu-fancontrol

  2. активировать услугу

    sudo systemctl daemon-reload
    sudo systemctl enable amdgpu-fancontrol.service
    sudo systemctl start amdgpu-fancontrol.service
    
Другие вопросы по тегам