HDMI 連接埠無法使用適用於 Manjaro Linux 筆記型電腦的 Nvidia/Intel Bumblebee 驅動程式

HDMI 連接埠無法使用適用於 Manjaro Linux 筆記型電腦的 Nvidia/Intel Bumblebee 驅動程式

資訊

作業系統:Manjaro Linux 16.10(Cinnamon 社群版)

$ cat /etc/*-release                                                                                                
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=16.10
DISTRIB_CODENAME=Fringilla
DISTRIB_DESCRIPTION="Manjaro Linux"
Manjaro Linux
NAME="Manjaro Linux"
ID=manjaro
PRETTY_NAME="Manjaro Linux"
ANSI_COLOR="1;32"
HOME_URL="http://www.manjaro.org/"
SUPPORT_URL="http://www.manjaro.org/"
BUG_REPORT_URL="http://bugs.manjaro.org/"

類型 : 筆記型電腦

內核:4.4.28-2-MANJARO

CPU:Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz

GPU:

  • 英特爾公司第三代酷睿處理器圖形控制器(修訂版 09)
  • NVIDIA Corporation GF108M [GeForce GT 630M](修訂版 ff)

PCI 位址:

  • 英特爾 iGPU : 00:02.0
  • 英偉達 GPU : 01:00.0

來自大黃蜂的司機。

問題

我找到(並閱讀)NVIDIANVIDIA OptimusArchLinux wiki(因為是的,Manjaro 是基於 ArchLinux 的)。

但是當我安裝 Manjaro 時,我使用非免費驅動程式等安裝了它 nvidianvidia-libgl並且xorg-xrandr已經安裝並且是最新的。

和我的HDMI 連接埠無法運作。我認為這是因為 X11 配置中僅存在 Intel iGPU(HDMI 連接埠是 Nvidia GPU 的一部分)。

當我試圖找出原因時,我發現 Manjaro 做了一個自動識別和安裝安裝期間的 GPU 數量。

$ sudo mhwd-gpu --check                                                                                             

[sudo] password for shark: 
Using default
Default lib32 support: true
xorg configuration symlink valid...
libGl and libglx symlinks valid...


$ sudo mhwd-gpu --status                                                                                            
Using default
Default lib32 support: true
:: status
  lib32-libGl: '/usr/lib32/mesa/libGL.so.1.2.0'
  lib32-libGLESv1: '/usr/lib32/mesa/libGLESv1_CM.so.1.1.0'
  lib32-libGLESv2: '/usr/lib32/mesa/libGLESv2.so.2.0.0'
  lib32-libEGL: '/usr/lib32/mesa/libEGL.so.1.0.0'
  libGl: '/usr/lib/mesa/libGL.so.1.2.0'
  libGLESv1: '/usr/lib/mesa/libGLESv1_CM.so.1.1.0'
  libGLESv2: '/usr/lib/mesa/libGLESv2.so.2.0.0'
  libEGL: '/usr/lib/mesa/libEGL.so.1.0.0'
  libglx: '/usr/lib/xorg/modules/extensions/libglx.xorg'
  xorg configuration file: '/etc/X11/mhwd.d/intel.conf'

Manjaro 設定管理器(硬體配置)告訴我,兩種情況都安裝了混合大黃蜂驅動程式(請參閱螢幕截圖)。

大黃蜂司機

但我的/etc/X11/xorg.conf.d資料夾僅包含以下符號連結90-mhwd.conf -> /etc/X11/mhwd.d/intel.conf

/etc/X11/mhwd.d/intel.conf內容:

##
## Generated by mhwd - Manjaro Hardware Detection
##


Section "Device"
    Identifier  "Device0"
    Driver      "intel"
    BusID       "PCI:0:2:0"
    Option      "AccelMethod" "sna"
    Option      "DRI"    "true"
EndSection


Section "DRI"
        Group  "video"
        Mode   0666
EndSection


Section "Extensions"
    Option "Composite" "Enable"
    Option "RENDER"    "Enable"
EndSection


Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard     "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

那麼我需要做什麼才能讓我的 HDMI 連接埠正常運作呢?我如何檢查我的 Nvidia GPU 是否正常運作?

我認為我不需要安裝更多驅動程序,但我不知道是否需要使用mhwdManjaro 提供的工具來配置更多設置,或者是否需要創建新/etc/X11/xorg.conf.d/20-nvidia.conf文件,或者甚至需要將其替換intel.conf為A nvidia.conf

這也可能有幫助:

$ glxinfo | grep OpenGL                                                                                             
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.0-rc2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.0-rc2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 13.0.0-rc2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

編輯: 這個帖子是嗎xrandr 未偵測到 HDMI 連接埠上的顯示器回答我的問題?

為什麼我在這裡提問

我很抱歉在這裡問這個問題,但 ArchLinux 論壇是這麼說的

這些板用於支援 Arch Linux,並且僅支援 Arch 如果您安裝了 Archbang、Antegros、Chakra、Evo/Lution、Manjaro 等,那麼您就沒有運行 Arch Linux。同樣,如果您在YouTube 上關注了一些隨機視頻或使用了在博客上找到的自動腳本,那麼您運行的不是Arch Linux,因此不要指望得到任何支持、同情或任何東西,除了您的線程被關閉並被告知繼續前進之外。 Arch 是一個 DIY 發行版:如果其他人已經為你完成了,那麼出現在這裡要求握住你的手尋求更多幫助只是幫助吸血鬼而不受歡迎。

我從未收到 Manjaro Linux 論壇的確認郵件。

我做了搜尋和配置工作,所以我希望這不會像某些人所說的那樣幫助吸血鬼。另外,我真的不想透過安裝錯誤的驅動程式來破壞我的發行版(當我從他們的網站安裝Nvidia 驅動程式時,這種情況已經發生在我身上,現在我知道這是一個非常糟糕的主意)。

答案1

我自己也遇到了這個問題並用這個解決了指導 這應該在 Manjaro wiki 上,但事實並非如此。請注意,我自己並沒有弄清楚,我只是將資訊發佈在這裡,以便可以訪問。

步驟1:刪除目前的視訊驅動程式。

$ sudo mhwd -r pci video-hybrid-intel-nvidia-bumblebee

步驟 2:安裝 video-nvidia。

$ sudo mhwd -i pci video-nvidia -f

第 3 步:找到正確的巴士 ID:

$ lspci | grep -E "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM204M [GeForce GTX 980M] (rev a1)

步驟 4:編輯 NVIDIA Prime 同步配置以及螢幕撕裂修復。 Accelmethod 可能會為您帶來 SNA 問題,具體取決於您的硬體。如果是這樣,請更改為 UXA。如 Nvidia 網站所述,AllowEmptyInitialConfiguration 必須進入「螢幕」部分。

$ cat /etc/X11/xorg.conf.d/90-mhwd.conf 
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 375.26
Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID  "PCI:0:2:0"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "true"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Extensions"
    Option      "Composite" "Enable"
    Option  "RENDER" "Enable"
EndSection

Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard     "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

步驟5:讓X伺服器使用具有root權限的KMS。

$ cat /etc/X11/Xwrapper.config
needs_root_rights = yes

步驟 6:將 xrandr 行新增至 SDDM 配置,然後重新啟動:

$ cat /usr/share/sddm/scripts/Xsetup
#!/bin/sh
# Xsetup - run as root before the login dialog appears
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

步驟 7:將其放入 GRUB 設定中以實現 KMS 和效能。

GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_rc6=0 nvidia-drm.modeset=1 intel_idle.max_cstate=0"

步驟8:將i915和nvidia加入mkinitcpio中

MODULES="i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm"

步驟9:重新啟動並享受。

相關內容