Руководство по тестированию 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.0
WORKING!
Ubuntu 18.04.1 LTS ядро по умолчанию
4.17.5
WORKING!
ядро используется в этом видео
4.18.0
WORKAROUND!
текущее ядро Ubuntu 19.10 по умолчанию (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
ядра работают:
Сделайте резервную копию ваших текущих файлов прошивки:
sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
Загрузите 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
Извлечь файлы:
tar -xvzf linux-firmware_1.76.tar.gz
Зайдите в новую прошивку директории:
cd linux-firmware
Установите прошивку:
sudo make install
перезагружать
reboot
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!
написать сервис с именем файла: amdgpu-fancontrol.service
[Unit] Description=amdgpu-fancontrol [Service] Type=simple ExecStart=/usr/bin/amdgpu-fancontrol [Install] WantedBy=multi-user.target
поставить службу в
/etc/systemd/system
взять скрипт из github: ссылка
измените параметры скрипта, если хотите
4.1. измените все числа от нуля до единицы, если у вас также есть встроенная графика.
/sys/class/drm/card1/device/hwmon/hwmon1/
4.2. необязательно: измените отображение температуры / оборотов
TEMPS=( 55000 65000 80000 90000 )
PWMS=( 10 70 153 255 )
4.3 проверить каталог, чтобы убедиться, что он существует
поместите скрипт в /usr/bin/amdgpu-fancontrol
активировать услугу
sudo systemctl daemon-reload sudo systemctl enable amdgpu-fancontrol.service sudo systemctl start amdgpu-fancontrol.service