未检测到 nvidia 卡驱动程序:无设置且无法使用 HDMI

未检测到 nvidia 卡驱动程序:无设置且无法使用 HDMI

我有一台 HP Pavilion DM3-1120eb 笔记本电脑,配有 Nvidia Geforce G105M 显卡,运行全新安装的 Ubuntu 12.04 Precise Pangolin。当连接到新的三星 S23B550 23 英寸 LCD 显示器时,HDMI 无法工作,VGA 连接无法实现 1920*1080 分辨率。结果是分辨率太小(1024*768),效果不佳(模糊),我无法观看 YouTube 视频(视频框不断向右移动并向后移动),下拉菜单和 Google 的建议框也会出现同样的闪烁效果。

我尝试了帖子中建议的多种解决方案,但没有得到好的结果(包括安装从 Nvidia 页面下载的驱动程序)。

据我猜测,问题在于 NVIDIA 卡存在但未被识别,因此驱动程序无法工作。最初安装了驱动程序(nvidia-current 和其余的,全部更新),但无法使用 nvidia-config 配置它们(提示驱动程序不存在),并且它们没有显示 jockey-gtk。还出现了一条错误消息,称 GLX 也不存在。截屏

对于 HDMI,显示器显示没有安装 MHL 信号。

计算机现在运行时没有 Nvidia 驱动程序,也没有 xorg.conf 文件(它为我提供了最佳分辨率)。VGA 甚至无法将显示器识别为 16:9。

这是 xrandr 的结果:

    Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
LVDS2 connected 1024x768+0+0 (normal left inverted right x axis y axis) 293mm x 164mm
   1366x768       60.0 +
   1360x768       59.8     60.0  
   1024x768       60.0* 
   800x600        60.3     56.2  
   640x480        59.9  
VGA2 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0* 
   800x600        60.3     56.2  
   848x480        60.0  
   640x480        59.9  
DP1 disconnected (normal left inverted right x axis y axis)

lspci -v(仅关于vga的部分):

01:00.0 VGA compatible controller: NVIDIA Corporation G98M [GeForce G105M] (rev a2) (prog-if 00 [VGA controller])
    Subsystem: Hewlett-Packard Company Device 142e
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at f0000000 (32-bit, non-prefetchable) [size=16M]
    Memory at c0000000 (64-bit, prefetchable) [size=256M]
    Memory at d0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at 4000 [size=128]
    Expansion ROM at f1080000 [disabled] [size=512K]
    Capabilities: <access denied>
    Kernel driver in use: nouveau
    Kernel modules: nvidia, nouveau, nvidiafb

最后的 xorg.conf (现已删除):

    # nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 295.40  ([email protected])  Thu Apr  5 22:40:54 PDT 2012


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    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"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

nvidia-设置错误:

![nvidia-settings error][2]

lshw -C video:

  *-display               
       description: VGA compatible controller
       product: G98M [GeForce G105M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a2
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nouveau latency=0
       resources: irq:16 memory:f0000000-f0ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:4000(size=128) memory:f1080000-f10fffff
  *-display
       description: Display controller
       product: Mobile 4 Series Chipset Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:45 memory:f1400000-f17fffff memory:e0000000-efffffff ioport:50f0(size=8)

答案1

您的问题是您有 2 个显卡:GeForce G105M 和英特尔集成显卡。它被称为“Nvidia Hybrid Graphics”,在 Linux 下简直就是一场噩梦。

您唯一的解决方案是禁用其中一个 GPU,然后为另一个 GPU 安装正确的驱动程序。如果您禁用 nVidia GPU(我的建议),您的电池寿命会更长,并且开箱即用,但游戏和 WebGL 中的 3D 性能会更差。如果您禁用英特尔 GPU,则需要安装 nVidia 专有驱动程序(它们不使用 XrandR,需要正确的 Xorg.conf 文件)。

要切换到单个 GPU,您有 2 个选项:1) 如果有这样的选项,请在 HP BIOS 中选择 GPU。也许先升级到最新的 BIOS 以确保万无一失。2) 如果没有这样的选项,请按照 Ubuntu wiki 上的以下说明进行操作:https://help.ubuntu.com/community/HybridGraphics

希望这可以帮助 :)

答案2

我找到了一个解决方案,即编写一个脚本,每次登录时都可以调整分辨率。

为了让我的生活更轻松,我将显示器与我在共同工作空间中连接到另一台笔记本电脑的显示器进行了交换(该显示器可以通过 VGA 和 HDMI 检测新显示器)。

首先,我使用 Google 搜索我的显示器的规格,以找出最佳分辨率,使用了以下关键字:syncmaster t220 规格。这是我需要的第一点信息:原始分辨率 1680 x 1050(60 Hz)

然后我打开一个终端并使用 cvt 来获取正确的模式以添加:

cvt 1680 1050

结果如下:

# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

最重要的部分紧随其后模式线。要在终端中复制,请用鼠标突出显示相关文本,然后按 Ctrl+Shift+c,要粘贴,请按 Ctrl+Shift+v。如果您觉得更舒服,可以打开几个终端。

然后我使用简单的文本编辑器 nano(您也可以使用 gedit 或任何其他简单的文本编辑器)并添加了以下内容:

#!/bin/bash
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA1 1680x1050_60.00
xrandr --output VGA1 --mode 1680x1050_60.00

如您所见,我直接粘贴了 cvt 的结果xrandr --newmode以创建我想要使用的新模式。然后我将括号内的内容用于接下来的两行。

请注意,我使用 VGA1 作为输出,但您也可以使用 HDMI 或您连接的其他设备。要找出设备的名称,只需运行 xrandr 而不使用任何参数。在我的例子中,笔记本电脑的屏幕称为 LVDS1。

然后我保存了文件并退出(命令位于 nano 屏幕的底部,^ 符号表示使用 Ctrl 键及其后面的任何内容组合。)文件的名称无关紧要,只要能帮助您以后识别它即可(例如,几个月后当您不记得如何解决问题时。)

之后我改变了该文件的权限以便它可以执行:

chmod +x activate-resolution-t220

您还可以使用文件浏览器添加执行权限,右键单击它,选择属性,权限选项卡,然后标记左侧的复选框允许作为程序执行文件

运行该文件将改变你的显示器分辨率:

./activate-resolution-t220 

通常,如果您开始输入./文件名的开头并按下 Tab 键,系统将自动为您写出文件名。如果只是其中的一部分,则表示有另一个文件也以该部分作为其名称的开头,您必须添加更多字符以帮助计算机识别您想要的字符,然后再次按下 Tab 键。

为了每次登录时自动执行它,我只需打开启动应用(在 Dash 中开始输入启动图标会立即显示),点击添加,点击浏览,查找我的文件,点击打开,最后点击添加

现在,每次我登录时,我的显示器都会显示正确的分辨率:)

如果您喜欢这个答案并且发现它有用,请投票!

答案3

您可能需要先设置文件的权限。例如,请参阅。

如何关闭 HP Pavilion DM4 上的 Radeon GPU?

答案4

在这里找到了一个临时的解决方案:http://ubuntuforums.org/showthread.php?t=1364460问题是我无法将其永久化。从步骤 #6 开始,它谈到了版本,sudo gedit /etc/gdm/Init/Default但该文件不再在带有 lightdm 的 Unity 中使用。你们知道我应该在哪里进行更改才能使其永久化吗?

编辑我认为永久的解决方案可能就在这里如何强制多台显示器正确调整 LightDM 的分辨率?

相关内容