マイコンピュータには、統合グラフィックカード1枚とNvidia RTX 3070 GPU 2枚があります。私はUbuntu 20.04とnvidia-driver-530
。
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070 Lite Hash Rate] (rev a1)
05:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070 Lite Hash Rate] (rev a1)
私は現在Phoronixテストスイートを使用して3070グラフィックカードをテストしようとしています。
テストのためにIntel iGPUで端末を使用し、nvidia-prime
Nvidia 3070でphoronixを実行しています。prime-select: on-demand
prime-run phoronix-test-suite run unigine-heaven
始めるのにいくつかの問題があったので、nvidia-prime
この記事のアドバイスに従いました。https://askubuntu.com/questions/1364762/prime-run-command-not-found
cat /usr/bin/prime-run
#!/bin/bash
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
exec "$@"
.prime-run
01:00.0
PCI:1:0:0
05:00.0
ただし、バスIDが/のGPU 1を使用してテストを実行できないようですPCI:5:0:0
。
/etc/X11/xorg.conf
下のリンクに示されているように、バス番号を変更して再起動して修正しても何も起こらないようで、まだGPU 0で実行されています。
- https://stackoverflow.com/questions/18382271/how-can-i-modify-xorg-conf-file-to-force-x-server-to-run-on-a-特異的-gpu-ia
- https://askubuntu.com/questions/787030/setting-the-default-gpu
cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 530.41.03
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
# BusID "PCI:1:0:0"
BusID "PCI:5:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
実際、etc/X11/xorg.conf
設定ファイルなしでGPU 0からphoronixテストを削除して実行できました。私が実行したドライバまたはプログラムの1つは、バスIDが最も低いNVIDIAカードを自動的に選択したようです。
バスIDを持つ2番目のRTX 3070 GPUを選択するには、設定ファイルまたは設定ファイルをどこで変更する必要があるかを知りたいです05:00.0
。追加情報をお寄せいたします。
答え1
prime-run
スクリプトで変数も設定する必要があります。
__NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G{CARD#}
のカード識別子を使用してくださいxrandr --listproviders
。
下記の公式Nvidiaガイドはこの問題に対する解決策を提供しますが、私はガイドを注意深く読んでいないし、初めて読んだときに逃しました。
https://download.nvidia.com/XFree86/Linux-x86_64/495.44/README/primerenderoffload.html
/etc/X11/xorg.conf
このソリューションには必要ありません。
OFFLOAD_PROVIDER
Xsessionやグラフィックが表示されず、クライアントがリモートでヘッドレスサーバーにアクセスしているため、関連部分を見逃しました。
マシンはヘッドレス端末環境だけでなく、特定の種類のGUIも実行する必要があります。私の場合、私はlightdm
サーバーにインストールしましたが、すべてがうまくいきました。
x11
私はグラフィックを/xorg
代わりに使用する必要があると思いますwayland
。の場合は、gdm3
コメントxorg
を外して実行を設定できます。
#WaylandEnable=false
そして/etc/gdm3/custom.conf
再起動してください。