NVIDIAドライバをダウンロードする
NVIDIAのサイトでドライバをダウンロードします。
私のPCのグラフィックボードはGeForce GTX 1660 Ti(6GB)というものなので、下の画像のように検索してみました。
検索結果の一番上にある最新のドライバをダウンロード。
製品シリーズのところで、notebookって付いてるけど何なんでしょ?🙄
既存ドライバの確認
ロードされているドライバを確認したいので、inxiをインストールする。
[root@fedora ~]# dnf install inxi
グラフィックボードの情報を表示する。
[root@fedora ~]# inxi -Gx
Graphics:
Device-1: NVIDIA TU116 [GeForce GTX 1660 Ti] vendor: ZOTAC driver: N/A
bus-ID: 01:00.0
Display: server: X.Org 1.20.14 driver: loaded: nouveau,vesa
unloaded: fbdev,modesetting resolution: 800x600~75Hz
OpenGL: renderer: llvmpipe (LLVM 13.0.0 256 bits) v: 4.5 Mesa 21.3.6
direct render: Yes
nouveauとvesaというドライバがロードされている。
既存のドライバを無効にする
nouveauとvesaを無効にしてからNVIDIAのドライバをインストールしようと思います。
下記の記事を参考にしました。解りやすかったので同じ手順でできました😊良かった〜!
📕Fedora34にNVIDIAドライバをインストールした|放置演算子
ここからの詳しい手順については上記記事を見ることにして、要点だけメモします。
私の場合はvesaも無効にするのを忘れずに。
- udevで無効にする
[root@fedora ~]# vi /etc/modprobe.d/blacklist.conf
lacklist nouveau
blacklist vesa
- カーネルの起動パラメータでも無効にする
[root@fedora ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="nomodeset rhgb quiet rd.driver.blacklist=nouveau,vesa"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
- カーネルの起動パラメータを無効にしたものを反映する
grub2-mkconfig -o /boot/grub2/grub.cfg
initramfs.img を展開できなかった
initramfs.imgを生成したあとで、この中にドライバを無効にした設定がちゃんと入っているのかを確認するために下記コマンドを使いましたが、エラーが出てしまいました。
[root@fedora ~]# zcat /boot/initramfs-$(uname -r).img | cpio -idmv -D ./initramfs
gzip: /boot/initramfs-5.16.8-200.fc35.x86_64.img: not in gzip format
cpio: 予期しない書庫終了です
こちらの記事に詳しい原因と展開方法が書いてあったので参照しました。
私のbinwalkの結果はこんな感じ。
[root@fedora ~]# binwalk /boot/initramfs-$(uname -r).img
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
95232 0x17400 gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
7717215 0x75C15F xz compressed data
上記コマンドでgzipの開始位置が分かったので、ddコマンドでコピーします。
[root@fedora ~]# dd if=/boot/initramfs-$(uname -r).img of=initramfs.gz bs=95232 skip=1
338+1 レコード入力
338+1 レコード出力
32257628 bytes (32 MB, 31 MiB) copied, 0.0138773 s, 2.3 GB/s
あとは参照先の記事と同じようにすれば、中身が展開されました。
ちゃんと無効の設定が入ってます👌
[root@fedora ~]# cat ramdisk/etc/modprobe.d/blacklist.conf
blacklist nouveau
blacklist vesa
NVIDIAドライバのインストール
引き続き以下の記事で、NVIDIA ドライバのインストールを行いました。
📕Fedora34にNVIDIAドライバをインストールした|放置演算子
これまでずっと変な解像度だったけど、正しい解像度になりました!
nomodesetを削除してみる
このPCに“Fedora KDE Plasma Desktop35”を最初にインストールするとき、KMSというグラフィックボードのための機能にドライバが対応できず、画面がフリーズしてしまう問題が起こっていました。そのため、起動パラメータにnomodesetというオプションを追記して、KMSの機能をOFFにしてずっと起動していました。
今回NVIDIAのドライバをインストールしたので、nomodesetを消してみようと思います。ずっと残してると思わぬトラブルを招きそうなので…。
起動時にfedoraを選択する画面でeキーを押して、カーネルオプションの編集画面を開きます。
前に見たときと違って、nouveauやvesaといったドライバを無効にする設定などが入っているのが見て取れます。
ここにあるnomodesetを削除しました。
再起動してみたところ特に問題なさそうです。
うん、これで良い感じがする🎊
参考
21.6. ブートローダの確認|Fedora Documentation
Linuxでのゲーム? UbuntuにNvidiaドライバーをインストールする方法は次のとおりです|ちらし寿司