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

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

Установка:

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • 2x R9 390X

Ответы [ 2 ]

4 голосов
/

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

После прочтения этого и чтения / просмотра Level1Techs guide и многих других мне наконец-то удалось загрузить 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

@ ОШИБКА неудовлетворенные зависимости: сначала установите оригинальные драйверы:

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

@ NOT-TESTED: Добавьте это к уже существующему файлу 10-amdgpu.conf. Может быть перезаписано установкой драйвера.

@ ОПЦИЯ: Вы также можете добавить это к /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 куда-нибудь.

IV. Конфигурация 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
* +1135 * и
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.0 WORKING! Ubuntu 18.04.1 ядро ​​LTS по умолчанию

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

4.18.0 WORKAROUND! текущее стандартное ядро ​​Ubuntu 19.10 Disco (2018-11-19)

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

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

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

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

4.19.1 FAILURE! черный экран или 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.2 FAILURE! 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

    reboot
    
2 голосов
/

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

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

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

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

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

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

5.00.00 WORKING! параметр ядра 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 / бен / amdgpu-FanControl

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

    sudo systemctl daemon-reload
    sudo systemctl enable amdgpu-fancontrol.service
    sudo systemctl start amdgpu-fancontrol.service
    
...