故事:
我有一台 HP dv7 1020us,配有 Nvidia GeForce 9600M GT。我的内置显示器坏了,所以我根本没法用它,因为我几乎什么都看不见。
最近,我升级到了 Ubuntu 12.10(手动,使用 synaptic 一点一点地升级软件包),在升级了大部分系统之后,我决定使用新的内核、X 和 nvidia 驱动程序。
不幸的是,似乎有些东西(无论是 xrandr 还是 nvidia 驱动程序)错误地读取了我的外接显示器。Nvidia 设置不允许我像以前一样克隆屏幕(我已将其设置为克隆,但它表现得好像我有两个独立的屏幕)。
Lightdm 仅显示在内部屏幕上,这没有用,因为虽然我可以登录,但实际上我看不到我正在做什么。
Xorg配置文件
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 304.37 (buildd@batsu) Tue Aug 28 15:15:30 UTC 2012
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 304.43 (buildmeister@swio-display-x86-rhel47-13) Sun Aug 19 21:19:28 PDT 2012
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
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"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "LPL"
HorizSync 30.0 - 75.0
VertRefresh 59.9
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9600M GT"
EndSection
Section "Screen"
# Removed Option "nvidiaXineramaInfoOrder" "DFP-0"
# Removed Option "metamodes" "DFP: nvidia-auto-select +0+0, CRT: 1440x900 +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "CRT-0"
Option "metamodes" "DFP: nvidia-auto-select +0+0, CRT: 1440x900 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Nvidia 设置:
统一:
启用克隆后,我得到了以下结果:
这很可能是 Unity 中的一个错误,但由于我无法在登录时切换会话,所以我不确定:)!(哇哦!)
Xrandr 输出:
xrandr
Screen 0: minimum 8 x 8, current 1280 x 1024, maximum 8192 x 8192
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 320mm x 240mm
1024x768 85.0 + 75.0
1280x1024 60.0*
800x600 85.1 75.0
640x480 85.0 75.0 59.9
LVDS-0 connected (normal left inverted right x axis y axis)
1440x900 59.9 +
HDMI-0 disconnected (normal left inverted right x axis y axis)
我的显示器:
我的显示器是 Compaq 7500 CRT 显示器。Google 搜索显示最大分辨率确实是 1280x1024,但我已经以 1440x900 使用它一年多了 - 所以是的,它可以达到笔记本电脑的分辨率。我认为问题在于它被报告为错误类型的显示器:
这是不正确的,因为它是一个 17 英寸的显示器,并且它支持显示的更多分辨率选项。
现在,我该怎么做才能至少解决这些问题(我知道我需要报告一两个错误,但我也需要修复这个问题)并强制我的显示器纠正分辨率?
PS 我为此创建了一个主题Ubuntu 论坛(这只是一个旋转木马,所以我来这里作为最后的手段)。我得到的建议是降级到 295.xx 驱动程序 - 但由于 nvidia 驱动程序的安装方式,除非有图形方式来执行此操作,否则我认为这不是一个选项。
您会看到,如果我切换到 tty(安装所需),CRT 就会被禁用。
现在的情况:
我已禁用笔记本电脑屏幕并将更改写入 xorg.conf。添加 1440x900 作为元模式没有任何区别,因为显示器仍然被错误检测。看来我需要这个 CRT 的正确 EDID。
无论如何。现在,我想做的是让 Lightdm 在登录时使用正确的分辨率(至少 1280x1024)。如何更改至少此设置?
答案1
刚刚经历了安装 nvidia 驱动程序的痛苦,我冒昧地猜测并说他们安装得不太正确。您描述的一些症状与我遇到的情况类似。
我无法使用 nvidia-drivers 包让驱动程序正常运行。我不得不进行二进制安装。我使用了以下说明:http://ubuntuforums.org/showthread.php?t=2081649
唯一的区别是,我必须安装sudo apt-get install linux-headers-3.5.0-17-generic
然后终于安装成功了。
高血压