ASUS TUF Gaming A17 FA706QRにWin10とデュアルブートでubuntuインストール後、
「設定」→「このシステムについて」の「グラフィック」が
lvmpipe (LLVM 11.0.0, 256 bits)
となっており、RTX3070のドライバがインストールされていなかった。
色々なページを参考にしてインストールを試みたが、MOKの設定がうまく行かなかったり、GUIが動かなかったり、最終的には起動後黒画面全く動かないこととなり、初心者にはどうしようもなくなってしまったのでubuntuを再インストールすることとした。
その後、海外のForumで同様の問題のスレッドがあり、その中で解決策が見つかっていたのでそれを参考にRTX3070のドライバインストールを行った。
https://forums.developer.nvidia.com/t/ubuntu-mate-20-04-with-rtx-3070-on-ryzen-5900-black-screen-after-boot/167681/30
https://liamfrappell.medium.com/fixing-black-screen-and-keyboard-shutdown-issues-on-an-asus-rog-strix-scar-2021-laptop-in-ubuntu-20-9ce964bf34d0
#カーネルを最新安定版(5.11.6-051106-generic)に更新
最初に入れたカーネルは5.8.0-44でこれはRyzen 5700やRTX 3070に対応していない様(5.10xから対応)
そこで最新安定版のカーネルに更新する必要がある。
##カーネル更新ファイルダウンロード
https://kernel.ubuntu.com/~kernel-ppa/mainline/
から
linux-headers-5.11.6-051106-generic_5.11.6-051106.202103111435_amd64.deb linux-headers-5.11.6-051106_5.11.6-051106.202103111435_all.deb linux-image-unsigned-5.11.6-051106-generic_5.11.6-051106.202103111435_amd64.deb linux-modules-5.11.6-051106-generic_5.11.6-051106.202103111435_amd64.deb
の4つのファイルをダウンロード
##カーネル更新
sudo dpkg -i *.deb
でカーネルを更新。再起動
##再起動しない
最新版のカーネルを起動すると、
error: /boot/vmlinuz-5.11.6-051106-generic has invalid signature
error: you need to load the kernel first
と表示され、更新したカーネルで起動できなかった。
これはセキュアブートが悪さをしているようで、
BIOS(F2キーで起動)から「Fast boot」、「Secure boot」の2つを無効とした。
※こちらのページではカーネル更新前に無効化するよう書いてあったのに見逃していた。
無効にすることで、最新カーネルとなっていた。
$ uname -r
5.11.6-051106-generic
#AMDファームウェア更新
https://people.freedesktop.org/~agd5f/radeon_ucode/gs/
のすべてのファイルをダウンロード
所有者・権限を同じようにして/lib/firmware/amdgpuに移動
sudo cp Download/*.bin /lib/firmware/amdgpu
権限をチェック
ls -l /lib/firmware/amdgpu
#先程インストールしたカーネル中のパッチファイルにURLのファイルを追記(詳しくは不明)
sudo wget https://raw.githubusercontent.com/torvalds/linux/master/scripts/module.lds.S -O /usr/src/linux-headers-5.11.6-051106-generic/scripts/module.lds
sudo sed -i '$ d' /usr/src/linux-headers-5.11.6-051106-generic/scripts/module.lds
上記パッチファイルを有効化するため
sudo update-initramfs -u
再起動
→システムについてのグラフィックが「AMD RENOIR」に変わった。(CPU内蔵グラフィックか?)
#RTX3070のドライバインストール
こちらのページによると
「ソフトウェアとアップデート」→「追加のドライバー」からインストールできるそう。
しかし、表示がなかったので端末からインストールすることとした。
sudo apt install nvidia-driver-460
によりインストール、再起動
##無事インストール完了
$ nvidia-smi
Tue Mar 16 12:23:43 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.56 Driver Version: 460.56 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 307... Off | 00000000:01:00.0 Off | N/A |
| N/A 47C P8 10W / N/A | 148MiB / 7982MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1144 G /usr/lib/xorg/Xorg 4MiB |
| 0 N/A N/A 1776 G /usr/lib/xorg/Xorg 4MiB |
| 0 N/A N/A 12915 C ...ffice/program/soffice.bin 135MiB |
+-----------------------------------------------------------------------------+
Windows10についても問題なく起動することを確認。
#追記(3/17)
ドライバは無事インストールできたのだが、実際には動いていなかった。
グラフィックの部分が
NVIDIA Coorporation/AMD® Renoir
となっており、本来ならばGPUの型番が表示されるはずである。
##nvidia-xconfigはダメ
まずnvidia-xconfig
をsudo
実行し、/etc/X11/xorg.conf
を作成した。
しかし再起動すると黒画面となりカーソルが点滅するだけで全く動かなくなってしまった。
GRUBからrecovery modeで起動し、/etc/X11/xorg.conf
を削除して再起動すると、元通り動くようになるが
結局GPUは稼働していなかった。
##xorg.cof.d内の2つの.confファイルを編集
色々調べた結果
https://unix.stackexchange.com/a/597882
で解決策が提示されていたのでそれを実行したところ、うまく動くようになった。
上記スレッドの3.から行った。
/usr/share/X11/xorg.conf.d/
には7つの.conf
ファイルがあり、そのうち
10-amdgpu.conf
、10-nvidia.conf
を下記のように編集する。
10-amdgpu.conf
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "amdgpu"
Option "PrimaryGPU" "no" #追加した構文_
EndSection
10-nvidia.conf
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes" #追加した構文
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection
書き換えたら再起動