web-dev-qa-db-ja.com

Ubuntu 18.04.1 LTS R9 390X amdgpuガイド/テストの概要

amdgpuを取得してドライバーとしてロードできません。代わりに、常にradeonをロードします。

セットアップ:

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • 2x R9 390X

2
audacus

これは、R9 390XがインストールされているUbuntu 18.04.1でのenamdampradeonの代わりに)のガイドおよびテストの概要です。さまざまなカーネルを試してみました。

this およびread/watching Level1Techs guide および他の多くを読んだ後、私はついにradeonの代わりにamdgpuをロードすることができました。次の手順は、それを実現する方法を示しています。

問題

Linuxで、amdgpu-proではなくオープンソースドライバーを使用して、DXVK経由でゲームをプレイしたい。 DXVKはamdgpuドライバーでのみ動作するため、Ubuntuをロードするradeonを常に削除する必要がありました。

私の設定

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • R9 390X(実際には2ですが、問題ではありません)

方法

I.最新のドライバー

@ NOT-TESTED:また、Ubuntu 18.04.1インストールで提供される公式ドライバーでも動作するはずです。非公式のドライバーを実行したくない場合は、この手順をスキップしてください。

@ NOTE: 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

@ ERRORunmetdependencies:最初に元のドライバーをインストールします。

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

@ ATTENTION:ppa:paulo-miguel-dias/mesaなどの別のグラフィックドライバーPPAが追加されていないことを確認します。彼のMesaドライバーをチェックアウトできます: STABLE または UNSTABLE

@ ERRORPPAによる一般エラー:グラフィックドライバー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ファイルに追加します。ドライバのインストールによって上書きされる場合があります。

@ OPTION:これを/etc/X11/xorg.confまたは/etc/xorg.confに追加することもできます。

III。ブラックリストラデオン

ブラックリストに登録するモジュールを含むブラックリストファイルを作成します。

/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"
...

@ DID-NOT-WORK:40_custom/etc/grub.d/ファイルのコピーを作成しました。 40_amdgpuの代わりに/etc/default/grubに配置した場合、機能しませんでした。 (詳細については/etc/grub.d/READMEを参照してください)

V. GRUBおよび初期RAMディスクを更新します

上記の変更を有効にします。

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

そして

reboot

VI。確認する

Amdgpuドライバーがロードされて使用中であることを確認するには、次のコマンドの1つ以上を実行します。

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現在)

上記の手順の後、さまざまなカーネルを起動しようとしました。

他のカーネルをインストールするには、buntu 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 Discoの現在のデフォルトカーネル(2018-11-19)

4.18.15WORKAROUND! amdgpuに変更を加えた最新の4.18.xカーネル

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

@ NOTE:4.19.xカーネルのエラーについてはまだ詳しく調査していません。

VII.II回避策

4.18-4.18.19

4.18カーネルを機能させるには:

  1. 現在のファームウェアファイルをバックアップします。

    Sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
    
  2. https://packages.ubuntu.com/en/disco/linux-firmware からUbuntu 19.10 Disco(現在のDiscoバージョンはデフォルトでカーネル4.18.0を使用)の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
    
4
audacus

VII.II新しいカーネルを使用したテスト(2019-02-15現在)

私のテストの概要は次のとおりです。

4.18.16WORKING!上記のすべてのカーネルパラメーターとRadeonブラックリストに登録されたMint 19.1

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からスクリプトを取得します。 link

  4. 必要に応じてスクリプトのパラメーターを変更します

4.1。グラフィックも統合している場合は、すべての数値をゼロから1に変更します。

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

4.2。オプション:temp/revolutionsマッピングを変更します

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
    
2
Teoman