HDMI 端口不适用于 Manjaro Linux 笔记本电脑的 Nvidia/Intel Bumblebee 驱动程序

nor*_*raj 8 nvidia hdmi manjaro bumblebee intel-graphics

资讯

操作系统:Manjaro Linux 16.10(肉桂社区版)

$ 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/"
Run Code Online (Sandbox Code Playgroud)

类型 : 笔记本电脑

内核:4.4.28-2-MANJARO

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

GPU:

  • 英特尔公司第三代酷睿处理器图形控制器(修订版 09)
  • NVIDIA Corporation GF108M [GeForce GT 630M] (rev ff)

PCI 地址 :

  • 英特尔 iGPU:00:02.0
  • 英伟达 GPU:01:00.0

大黄蜂的司机。

问题

我找到(并阅读了)NVIDIANVIDIA OptimusArchLinux 维基(因为是的,Manjaro 是基于 ArchLinux 的)。

但是当我安装 Manjaro 时,我安装了非免费驱动程序等等 nvidianvidia-libgl并且xorg-xrandr已经安装并且是最新的。

而且我的HDMI 端口不工作。我认为这是因为 X11 conf 中只有 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'
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

那么我必须做些什么才能使我的 HDMI 端口正常工作?以及如何检查我的 Nvidia GPU 是否正常工作?

我不认为我需要安装更多的驱动程序,但我不明白,如果我需要使用mhwd由Manjaro提供的工具来配置一些设置,或者如果我需要创建一个新的/etc/X11/xorg.conf.d/20-nvidia.conf文件,或即使我需要更换intel.conf与一个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:
Run Code Online (Sandbox Code Playgroud)

编辑:这篇文章xrandr 没有检测到 hdmi 端口上的监视器回答我的问题吗?

为什么我在这里提问

我很抱歉在这里问这个问题,但 ArchLinux 论坛这样说

这些板子是为了支持 Arch Linux,并且只支持 Arch 如果你已经安装了 Archbang、Antegros、Chakra、Evo/Lution、Manjaro 等等,你没有在运行 Arch Linux。同样,如果你在 YouTube 上随机观看了一些视频,或者使用了在博客上找到的自动脚本,那么你并没有运行 Arch Linux,所以不要指望任何支持、同情或任何东西,除了你的线程被关闭并被告知继续前进。Arch 是一个 DIY 发行版:如果其他人已经为您完成了,那么出现在这里要求牵手寻求更多帮助只是帮助吸血鬼,是不受欢迎的。

我从未收到 Manjaro Linux 论坛的确认邮件。

我进行了搜索和配置工作,所以我希望这不会像某些人所说的那样帮助吸血鬼。另外,我真的不想通过安装错误的驱动程序来破坏我的发行版(当我从他们的网站安装 Nvidia 驱动程序时,这已经发生在我身上,现在我知道这是一个非常糟糕的主意)。

vfb*_*lva 1

我自己也遇到过这个问题,并通过本指南解决了它 。这应该位于 Manjaro wiki 上,但事实并非如此。请注意,我自己并没有弄清楚,我只是将信息发布在这里,以便可以访问。

步骤1:删除当前的视频驱动程序。

$ sudo mhwd -r pci video-hybrid-intel-nvidia-bumblebee
Run Code Online (Sandbox Code Playgroud)

步骤 2:安装 video-nvidia。

$ sudo mhwd -i pci video-nvidia -f
Run Code Online (Sandbox Code Playgroud)

第 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)
Run Code Online (Sandbox Code Playgroud)

步骤 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
Run Code Online (Sandbox Code Playgroud)

步骤5:让X服务器使用具有root权限的KMS。

$ cat /etc/X11/Xwrapper.config
needs_root_rights = yes
Run Code Online (Sandbox Code Playgroud)

步骤 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
Run Code Online (Sandbox Code Playgroud)

第 7 步:将其放入 GRUB 设置中以实现 KMS 和性能。

GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_rc6=0 nvidia-drm.modeset=1 intel_idle.max_cstate=0"
Run Code Online (Sandbox Code Playgroud)

步骤8:将i915和nvidia添加到mkinitcpio中

MODULES="i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm"
Run Code Online (Sandbox Code Playgroud)

第9步:重新启动并享受。