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步:重新启动并享受。

相关内容