我有雙顯示卡 Intel 520 整合和 nVidia 930MX 專用。我正在運行 20.04.2 並nvidia-driver-460
透過附加驅動程式和intel-media-va-driver-non-free
終端安裝。目前我只能在英特爾 GPU 上進行顯示(並成功啟動)。運行sudo prime-select nvidia
並重新啟動後,我無法再啟動,並且必須透過 TTY 恢復到 intel。運行nvidia-smi
出現如下錯誤:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
產生nvidia-xconfig
一個 xorg.conf,其中“文件”部分為空。
nvidia-settings
給出錯誤:
ERROR: NVIDIA driver is not loaded
ERROR: Unable to load info from any available system
(nvidia-settings:10549): GLib-GObject-CRITICAL **: 18:16:11.739: g_object_unref: assertion
'G_IS_OBJECT (object)' failed
** Message: 18:16:11.749: PRIME: Requires offloading
** Message: 18:16:11.749: PRIME: is it supported? yes
** Message: 18:16:11.857: PRIME: Usage: /usr/bin/prime-select nvidia|intel|on-demand|query
** Message: 18:16:11.857: PRIME: on-demand mode: "1"
** Message: 18:16:11.857: PRIME: is "on-demand" mode supported? yes
運行whereis nvidia
給出:
nvidia: /usr/lib/x86_64-linux-gnu/nvidia /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-460.73.01/nvidia
因此驅動程式已安裝但未載入。如何讓驅動程式運作?我也想保留情報。
編輯:運行sudo prime-select nvidia
,重新啟動nomodeset
,然後nvidia-smi
從 TTY 運行(因為沒有 GUI)給出以下輸出:
Tue May 25 18:33:17 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01 Driver Version: 460.73.01 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 930MX Off | 00000000:01:00.0 Off | N/A |
| N/A 39C P8 N/A / N/A | 10MiB / 2004MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1063 G /usr/lib/xorg/Xorg 6MiB |
| 0 N/A N/A 1292 G /usr/bin/gnome-shell 2MiB |
+-----------------------------------------------------------------------------+
這表明 nvidia 驅動程式正在加載並工作,但 GUI 不工作的原因超出了我的範圍。
編輯 2:運行nvidia-settings
並從 PRIME 設定檔中選擇任何圖形會導致分段錯誤。
答案1
這回答Celebre Asm 發布的文章對我有用。
首先刪除所有出現的xorg.conf
和。xorg.conf.old
/etc/X11/
然後運行inxi -Fxzc0
並記下BusID
您的 GPU 的值。就我而言,intel 是00:02.0
= 0:2:0
,nvidia 是01:00.0
= 1:0:0
。
然後建立一個xorg.conf.d
資料夾,20-intel.conf
在其中建立包含以下內容的檔案:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
EndSection
並90-nvidia.conf
包含以下內容的文件:
Section "ServerLayout"
Identifier "layout"
Screen 0 "iGPU"
Option "AllowNVIDIAGPUScreens"
EndSection
Section "Device"
Identifier "iGPU"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "iGPU"
Device "iGPU"
EndSection
Section "Device"
Identifier "dGPU"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
另外,我刪除了它,xserver-xorg-video-intel
因為不知何故,我在桌面上對角線繪製了矩形和不可讀的字體,刪除它解決了這個問題。
重啟。
**註腳:發生這種混亂是因為我嘗試使用 nvidia 啟動我的筆記型電腦以使用 VDPAU。截至目前,GM108
nvidia系列GPU尚不支援解碼,將解碼工作交給了intel對應產品。只要我不更改自從我第一次安裝 Ubuntu 以來預設的「按需」選項,一切都很順利。
答案2
猶豫是否要問這個問題,但是...如果是桌上型電腦,您的電腦背面可能有兩個不同的插槽,一個用於主機板上的英特爾顯示卡,另一個用於插入 nvicia 卡。如果您只插入主機板上的一個,請使用一個。你能理解這個嗎?