Я не могу добраться amdgpu
загружаться как драйвер. Вместо этого это всегда загружается radeon
.
Установка:
Ubuntu 18.04.1 LTS
i7-5830k
2x R9 390X
Это - руководство и сводка тестирования для включения amdgpu (вместо Radeon) на Ubuntu 18.04.1, устанавливающей R9 390X и испытывающей различные ядра.
После чтения этого и чтения/наблюдения руководство Level1Techs и многие другие мне наконец удалось получить amdgpu, загруженный вместо Radeon. Следующие шаги показывают, как выполнить это.
Проблема
Я хочу играть в игры на Linux через DXVK использование драйвера с открытым исходным кодом (не amdgpu-про). Так как DXVK только работает с amdgpu драйвером, я должен был избавиться от Ubuntu, загружающей Radeon все время.
Моя установка
Ubuntu 18.04.1 LTS
i7-5830k
R9 390X (на самом деле 2, но не должен иметь значения),
@NOT-TESTED: Это должно также работать с официальными драйверами, поставленными с установкой Ubuntu 18.04.1. Если Вы не хотите работать, неофициальные драйверы пропускают этот шаг.
@NOTE: Загрузите более новые неофициальные драйверы с PPA для получения лучшей производительности в DXVK. Может быть нестабильным.
Установите последний драйвер от https://launchpad.net / ~ oibaf / + архив/человечность/графические драйверы:
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
@ATTENTION: Удостоверьтесь, чтобы у Вас не было другого графического драйвера, который PPA любит ppa:paulo-miguel-dias/mesa добавленный. Можно проверить его Меза-драйверы: СТАБИЛЬНЫЙ или НЕСТАБИЛЬНЫЙ
@ERROR общая ошибка из-за PPA: Произведите чистку графического драйвера PPA, чтобы отступить к исходным драйверам и вымыться:
sudo apt install ppa-purge && aptitude
sudo ppa-purge ppa:oibaf/graphics-drivers
sudo apt autoremove && sudo apt autoclean
Можно запустить.
Создайте конфигурационный файл 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
файл. May перезаписывается установкой драйвера.
@OPTION: можно также добавить это к /etc/X11/xorg.conf
или /etc/xorg.conf
.
Создайте файл черного списка с модулем, который должен быть помещен в черный список:
/etc/modprobe.d/<name>.conf
например, blacklist-radeon.conf
#/etc/modprobe.d/blacklist-radeon.conf
blacklist radeon
@OPTION: возможно уже использовать существующий blacklist.conf
файлы, просто добавив blacklist radeon
где-нибудь.
Добавьте или измените эти параметры в конфигурации личинки /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"
...
@DID-NOT-WORK: Я сделал копию 40_custom
файл в /etc/grub.d/
. Это не работало, когда я поместил его в 40_amdgpu
вместо /etc/default/grub
. (см. /etc/grub.d/README
для большего количества информации)
Позвольте изменениям выше влияния взятия:
sudo update-grub2 && sudo update-initramfs -u -k all
и
reboot
Чтобы проверить, что amdgpu драйвер загрузился и используется, выполните один или несколько следующих команд:
lsmod | egrep 'Used|amdgpu'
sudo lspci -v | grep amdgpu -B 19
sudo lshw -c video | grep amdgpu -B 10 -A 1
Запустите тестовое приложение Вулкана:
sudo apt install vulkan-utils
и
vulkan-smoketest
Я пытался загрузить различные ядра после шагов выше.
Для установки других ядер, я использовал Утилиту обновления Ядра Ubuntu:
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!
blackscreen или dmesg:
[drm:dm_pp_get_static_clocks [amdgpu]] *ERROR* DM_PPLIB: invalid powerlevel state: 0!
4.19.1
FAILURE!
blackscreen или 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
@NOTE: Я не занимался расследованиями больше на ошибках 4.19.x
ядра все же.
4.18-4.18.19
Добираться 4.18
работа ядер:
Скопируйте свои текущие микропрограммные файлы:
sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
Загрузите встроенное микропрограммное обеспечение Linux Дискотеки Ubuntu 19.10 (текущая версия Дискотеки использует ядро 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
Войдите в новое встроенное микропрограммное обеспечение direcotry:
cd linux-firmware
Установите встроенное микропрограммное обеспечение:
sudo make install
Перезагрузка
reboot
Вот сводка моего тестирования:
4.18.16
WORKING!
Чеканьте 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 опущен
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