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

我有一台带有Nvidia Geforce G105M显卡的HP Pavilion DM3-1120eb笔记本电脑,运行全新的Ubuntu 12.04 Precise Pangolin安装。 当连接到新的三星S23B550 23英寸液晶显示器时,HDMI将无法工作,VGA连接将不允许1920 * 1080分辨率。 结果是小分辨率(1024 * 768)看起来不太好(模糊)而且我无法观看YouTubevideo(video框继续向右和向后移动)并且掉落菜单和Google的建议会产生相同的闪烁效果框。

我已尝试在post中使用多个解决方案,但效果不佳(包括安装从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:  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 (buildmeister@swio-display-x86-rhel47-06.nvidia.com) 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-settings错误:

 ![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) 

你的问题是你有2个显卡:GeForce G105M和intel Integrated。 它被称为“Nvidia Hybrid Graphics”,它在Linux下是一场噩梦。

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

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

希望这可以帮助 :)

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

为了让我的生活更轻松,我把显示器换成了我在我的另一台笔记本电脑上挂接的显示器(在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 

Modeline之后, maters的部分就出现了。 要在终端中复制,请突出显示与鼠标重要的文本,然后按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 

正如你所看到的,我直接在xrandr --newmode之后粘贴了cvt的结果来创建我想要使用的新模式。 然后我使用括号内的内容进入下两行。

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

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

之后我更改了文件的权限,以便可以执行:

 chmod +x activate-resolution-t220 

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

运行该文件将更改您的显示器分辨率:

 ./activate-resolution-t220 

通常,如果您开始键入./和文件名的开头并按Tab键,则会自动为您编写文件名。 如果它只是它的一部分,那么另一个文件将该部分作为其名称的开头共享,你必须添加更多的字符来帮助计算机看到你的意思并重新点击Tab。

要在每次登录时自动执行它,我只需打开启动应用程序 (在Dash开始键入启动 ,图标将立即显示),单击添加 ,单击浏览 ,查找我的文件,单击打开 ,最后单击添加

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

如果你喜欢这个答案并发现它很有用,请将其投票!

您可能需要先在文件上设置perms。 见前见。

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

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

编辑我认为使其成为永久性的解决方案可能在这里如何强制多个监视器正确的LightDM分辨率? 。