こんにちわ、hisayukiです。
1月ももう後半で、本当に1ヶ月すぎるのが早いなって感じてます・・・w
さて、先日こちらの記事を書きました。
この記事ではLinux mintのインストールまででしたが、PCにNVIDIAのグラフィックボードを積んでいる場合の対応を後回しにしました。
そのため、今回の記事で対応を書いていこうと思います!
今回の課題
外部モニターへの出力ができない!!
今回使用したPCはノートなので、ノートのまま使う人にはあまり関係ないかもです。
個人的には普段2枚の外部モニターに出力していて、ノート側の画面は閉じてます。
なので、外部出力できないのは非常に困るわけです💦
なんならそれができないだけで、Windowsに戻さざる得ない状態になりますw
しかも、HDMIでもUSB Type-Cでも移せるはずなのにどっちも映らないっていう
というわけで、この問題を解決するためにいろいろ調べました。
使用PC
こちらのPCで行いました!
OS | Linux Mint 20 “Ulyana” – Cinnamon (64-bit) |
CPU | CPU名:AMD Ryzen™ 9 4900HS モバイルプロセッサー + AMD Radeon™ グラフィックス 動作周波数 (標準/最大):3.0GHz/4.3GHz キャッシュメモリ:3次キャッシュ 8MB |
メモリ | 32GB (標準から差し替え) |
グラフィックボード | NVIDIA® GeForce RTX™ 2060 Max-Q |
インターフェース | 外部ディスプレイ出力:HDMI×1 USBポート:USB3.1 (Type-C/Gen2) ×1、USB3.1 (Type-C/Gen2) ×1、USB3.0×2 オーディオ:マイクロホン/ヘッドホン・コンボジャック×1 |
1つ目の画面をUSB3.1 (Type-C/Gen2)、2つ目の画面をHDMIで表示するようにします。
結論
結果的には2枚ともできました。
1週間くらいかかったけど・・・
おそらくの原因はこんな感じ。
- Secure bootの解除
- HDMI:Linuxカーネルのバージョン問題
- USB-TypeC:ドライバとXorgのPrimaryGPUの設定
おそらくこの2つではないかなと思います。
HDMIの方は結構角度高くて、一旦NVIDIAのドライバ全消ししてからLinuxカーネルの更新しました。
その後にHDMIからの出力が出来るようになりました。
USB-TypeCのほうは不確定で、カーネル更新だけではダメでしたがPrimaryGPUの設定をしたらできました。
なので両方必要だったのか、PrimaryGPUの設定だけだったのかは不明です。
とりあえず、
カーネルのupdateとPrimaryGPU設定両方やればOK!
というわけで、やり方書いていきます。
対応方法
Secure bootの解除
まず、Secure bootので起動するとNVIDIAのドライバは読み込まれない可能性が高いです。
そのためSecure BootをUEFIでオフにしておきます。
セキュアブートの解除のやり方はBIOSにより異なるため、今回は上記の使用PCでの方法を書いていきます。
- Boot画面で[UEFI Firmware setting]を選択
- 右下に表示される、[Advanced]を選択
- [Security]タブを選択
- メニュー内のSecure boot項目をdisabledにする
起動後にdmesg | grep Secure
コマンドでdisabledになっていることを確認できます。
$ dmesg | grep Secure
[ 0.000000] secureboot: Secure boot disabled
[ 0.004334] secureboot: Secure boot disabled
nouveauが無効になっていることを確認
こちらは前回の記事で、すでに無効化はされているはずですが念の為確認です。
以下のコマンドで何も反応がなければ無効化されています。
lsmod | grep nouveau
もし、反応があった場合は前回の記事で無効化した方法で再度無効化をします。
カーネルのアップデート
Linux Mint 20はデフォルトで5.4系のカーネルが入ってます。
$ uname -r
5.4.0-26-generic
5.4系のカーネルではHDMIからの出力を認識してくれなかったので、5.8系のカーネルをインストールします。
メニューから[アップデートマネージャー]を選択します。
[表示]→[Linux カーネル]を選択します。
5.8のタブを選択して、そのなかからカーネルを選択して[インストール]を選択します。
インストールが完了したら、再起動します。
再起動後にコマンドでカーネルバージョンを確認して、5.8系になっていたら完了です。
$ uname -r
5.8.0-23-generic
ドライバのインストール
NVIDIAのドライバはドライバマネージャーからもできますが、aptを使ってインストールしました。
まずはインストール可能なドライバ一覧を表示します。
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
modalias : pci:v000010DEd00001F12sv00001043sd00001F11bc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-450 - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-460 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
recommendedと表示されているのが、推奨バージョンになります。
この一覧だとnvidia-driver-460が推奨になってます。
次にaptのリポジトリを追加します。
sudo add-apt-repository ppa:graphics-drivers/ppa
追加後にアップデートをします。
sudo apt update
今回の推奨バージョンは460なので、以下のようにします
sudo apt install nvidia-driver-460
インストールが完了したら再起動します。
再起動後に、以下のコマンドで表示がされたら完了です。
$ nvidia-smi
Sun Jan 24 17:55:21 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 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 206... Off | 00000000:01:00.0 On | N/A |
| N/A 63C P3 24W / N/A | 1286MiB / 5934MiB | 27% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1038 G /usr/lib/xorg/Xorg 879MiB |
| 0 N/A N/A 2191 G cinnamon 117MiB |
| 0 N/A N/A 2545 G ...AAAAAAAA== --shared-files 47MiB |
| 0 N/A N/A 2607 G ...gAAAAAAAAA --shared-files 66MiB |
| 0 N/A N/A 3059 G ...gAAAAAAAAA --shared-files 169MiB |
+-----------------------------------------------------------------------------+
XorgのPrimaryGPUの設定
XorgでNVIDIAのconfigファイルにPrimaryGPUの設定を追記します。
以下のコマンドで設定ファイルを開きます。
sudo vi /usr/share/X11/xorg.conf.d/10-nvidia.conf
下から3行目のOption "PrimaryGPU" "yes"
をついきます。
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes" #追記
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSectio
保存したあとに、再起動します。
ここまでの設定でディスプレイ2枚とも表示がされました✨
まとめ
結構調べたものの、情報少ないなーって感じでした🤔
Mintで調べたり、Ubuntuとして調べたり・・・
特に最後のXorgのPrimaryGPUの設定は一人ではたどり着けず、他の人に教えていただきました。
Xorgの設定もいくつかありますが、とりあえずこの方法でできましたって感じですね🤔
Linuxのネタに関してはまだあるので、次回もなにかお伝えできればなと思います❗
コメント