web-dev-qa-db-ja.com

私はamdgpuの代わりにradeonを使用していると思いますか?どうすれば変更できますか?

私は17.04にいますが、amdgpu-proは4.10カーネルでは利用できないことを知っています。しかし、私は自分が走っているものに興味があったので、

lspci -k | grep -EA3 'VGA|3D|Display' 

そしてそれは戻った

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X]
Subsystem: ASUSTeK Computer Inc. R9 290X DirectCU II OC
Kernel driver in use: radeon
Kernel modules: radeon, amdgpu

それは私がamdgpuを持っているがradeonが使用されていることを意味しますか?ドライバーを切り替える方法に関する情報を見つけることができないようです。私が持っている他の関連する質問は、誰もが代替としてoibafについて知っていますか、それともカーネルをロールバックする努力の価値があるかどうか誰にも教えてもらえますか?私は主にこれをゲーム用リグとして使用しており、radeonからひどい互換性を得ています。 AMDがLinuxユーザーを愛していないように見えるため、16.10に戻る必要はありません。

5
Eragon615

これを行う新しい方法には、モジュールのブラックリスト登録は含まれません。次の2つのパラメーターをカーネルに送信するだけです。

カリブ海諸島のGPU向け

radeon.cik_support=0 amdgpu.cik_support=1

Sea Islands GPU向け

radeon.si_support=0 amdgpu.si_support=1

私は個人的にそれをデフォルトとして追加したいので、/ etc/default/grubを編集し、次のようにGRUB_CMDLINE_LINUX_DEFAULTにカーネルパラメーターを追加します。

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

update-grubを実行し、システムを再起動して変更を有効にすることを忘れないでください。

Ubuntu 17.10、18.04、18.10などを実行している390xでこれが機能することを確認できます(17.04でも同じことができると思います)。

または、新しいDynamic Power ManagementおよびDisplay Code実験的サポートを有効にする場合は、次の行も追加する必要があります

amdgpu.dc=1
amdgpu.dpm=1

DCコードの詳細については、次のリンクを確認してください。 https://wiki.archlinux.org/index.php/AMDGPU#AMD_DC

390xカードでの個人的な経験から、DCコードは不安定であり、安定したカーネルを取得するためにそれを無効にする必要がありました。過去2か月間、この機能を有効にしようとしたことがないため、DCのこのバグが修正されたかどうかはわかりません。

7
Emilio M.

これらの手順でAMDオープンソース(radeon)ドライバーをインストールできました

-4.16より上のカーネルを更新:

-次のカーネルパラメーターを追加します。区切り文字はスペースです:

radeon.cik_support=0
radeon.si_support=0
amdgpu.si_support=1
amdgpu.cik_support=1
amdgpu.dc=1
amdgpu.dpm=1

-GPUの電源状態をパフォーマンスに設定します:

https://github.com/illwieckz/dpm-query/

-vulkanドライバーのインストール:

https://linuxconfig.org/install-and-test-vulkan-on-linux

-:でドライバーを確認します:

lspci -nnk | grep -i vga -A3 | grep 'in use'

-:でopenGLを確認します:

glxinfo | grep "OpenGL version    
1
Teoman

それをブラックリストに載せることはトリックをしました。少なくともプロが利用可能になるまで、AMDGPUを実行しています。他の誰かが答えを探しに来る場合の答えとしてステップをリストします。

カーネルモジュールに組み込まれたブラックリストは起動時に行われるため、grubが機能します。編集

/ect/default/grub

選択したエディターで追加します

modprobe.blacklist=radeon

静かなスプラッシュなど、既に存在する可能性のあるもののすぐ隣にあるGRUB_CMDLINE_LINUX_DEFAULTに移動します。次に、変更を保存し、grubを更新します。

Sudo update-grub2

再起動し、radeonの代わりにAMDGPUを使用する必要があります。カードに互換性があることを確認する必要があります。そうしないと、GFXモジュールをブラックリストに登録すると問題が発生する可能性があります。

1
Eragon615