1. Home
  2. FAQ
  3. (テガラ製)PCに関する よくあるご質問
  4. Linux系OSでのNvidiaグラフィックドライバーのダウングレード方法
  1. Home
  2. FAQ
  3. (テガラ製)PCに関する よくあるご質問
  4. OSやソフトウェア周りの動作について
  5. Linux系OSでのNvidiaグラフィックドライバーのダウングレード方法

Linux系OSでのNvidiaグラフィックドライバーのダウングレード方法

Nvidia製GPUを搭載した一部の弊社PCにおいて、グラフィックドライバーのアップデート後にGUIが表示できない症状が発生することが確認されております。
上記はNvidiaグラフィックドライバーに起因する症状のため、グラフィックドライバーをダウングレードすることによって解消することが可能です。

本稿では、CentOS 7の場合を例にとって、CUIでのグラフィックドライバーのダウングレード方法および、SSHを用いたダウングレード方法について解説いたします。

CUIでのNvidiaグラフィックドライバーのダウングレード方法

(1)
CentOSの場合、GUIで起動するタイミングでESCキーを押していただくことでGrub選択画面に移行しますので、「E」キーを押していただき、
linuxefi
から始まる行に systemd.unit=multi-user.target を追加したのちに、Ctrl+Xキーを押して起動することで、コンソールログイン(CUIでの起動)が可能です。
コンソールが表示されましたら、root権限のあるユーザーとしてログインします。

(2)
インストールされているグラフィックドライバーをアンインストールします。
yum remove nvidia-driver-latest-dkms

(3)
グラフィックドライバーをダウンロードします。
(下記はバージョン510.108.03にダウングレードする場合の例となります。)
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/510.108.03/NVIDIA-Linux-x86_64-510.108.03.run

(4)
nouveauを抜いた起動イメージを生成します。
(Nvidiaドライバーが見つからないという旨のエラーが出ることがございますが、起動イメージの作成に支障はございません。)
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)

(5)
nouveauがロードされないようにブラックリストに登録します。
vi /etc/modprobe.d/modprobe.conf
vi /etc/modprobe.d/nouveau_blacklist.conf
viが起動しますので、aキーでinsertモードに切り替え、各ファイルにblacklist nouveauと入力した後、(shift+z)キーを2回押すことで保存して終了します。

(6)
ランレベルを3にした後、再起動します。
systemctl set-default multi-user.target
reboot

(7)
再起動後、nouveauがロードされていないことを確認します。
入力後に何も表示されなければnouveauはロードされていません。
lsmod | grep nouveau

(8)
インストーラを実行し、表示された指示に従います。
(下記はバージョン510.108.03にダウングレードする場合の例となります。)
bash NVIDIA-Linux-x86_64-510.108.03.run

(9)
ドライバーのインストールが完了しましたら、ランレベルを5に変更した後、再起動します。
systemctl set-default graphical.target
reboot

(10)
再起動後、端末を起動してnvidia-settingsを入力して起動します。
表示されたバージョン情報が510.108.03にダウングレードされていることを確認します。

SSHを用いたグラフィックドライバーのダウングレード方法

(1)
CentOSの場合、GUIで起動するタイミングでESCキーを押していただくことでGrub選択画面に移行しますので、「E」キーを押していただき、
linuxefi
から始まる行に systemd.unit=multi-user.target を追加したのちに、Ctrl+Xキーを押して起動することで、コンソールログイン(CUIでの起動)が可能です。
コンソールが表示されましたら、root権限のあるユーザーとしてログインします。

(2)
#ネットワークデバイスの一覧を確認します。
nmcli con
表示された一覧を確認し、接続したいデバイスのネットワーク接続を有効にします。
nmcli con up xxx (例:eno1)

(3)
接続されたIPアドレスを確認します。
SSHを用いて接続する際に必要になりますので、メモ等に控えておくと安心です。
ip a

(4)
SSHがインストールされているか確認します。
openssh-serverがインストールされていればSSHは利用可能です。
yum list installed | grep ssh
インストールされていない場合はインストールします。
yum -y install openssh-server

(5)
別のPCより控えておいたIPアドレスを入力してSSH接続し、root権限のあるユーザーでログインします。

(6)
インストールされているグラフィックドライバーをアンインストールします。
yum remove nvidia-driver-latest-dkms

(7)
グラフィックドライバーをダウンロードします。
(下記はバージョン510.108.03にダウングレードする場合の例となります。)
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/510.108.03/NVIDIA-Linux-x86_64-510.108.03.run

(8)
nouveauを抜いた起動イメージを生成します。
(Nvidiaドライバーが見つからないという旨のエラーが出ることがございますが、起動イメージの作成に支障はございません。)
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)

(9)
nouveauがロードされないようにブラックリストに登録します。
vi /etc/modprobe.d/modprobe.conf
vi /etc/modprobe.d/nouveau_blacklist.conf
viが起動しますので、aキーでinsertモードに切り替え、各ファイルにblacklist nouveauと入力した後、(shift+z)キーを2回押すことで保存して終了します。

(10)
ランレベルを3にした後、再起動します。
systemctl set-default multi-user.target
reboot

(11)
再起動後、(1)~(5)の手順を再び行い、再度SSH接続をします。

(12)
nouveauがロードされていないことを確認します。
入力後に何も表示されなければnouveauはロードされていません。
lsmod | grep nouveau

(13)
インストーラを実行し、表示された指示に従います。
(下記はバージョン510.108.03にダウングレードする場合の例となります。)
bash NVIDIA-Linux-x86_64-510.108.03.run

(14)
ドライバーのインストールが完了しましたら、ランレベルを5に変更した後、再起動します。
systemctl set-default graphical.target
reboot

(15)
再起動後、端末を起動してnvidia-settingsを入力して起動します。
表示されたバージョン情報が510.108.03にダウングレードされていることを確認します。

更新日 2023年2月6日

こちらの記事はお役に立ちましたか?

関連記事