我可以用肉眼看出我的显示器运行在 1920x1080 分辨率下,但我想确认它运行在 60hz 下。然而,运行后xrandr
输出结果如下:
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1920 x 1080, maximum 1920 x 1080
default connected 1920x1080+0+0 0mm x 0mm
1920x1080 0.0*
1024x768 0.0
800x600 0.0
640x480 0.0
因此它可以正确识别屏幕和分辨率,但由于某种原因,它不知道刷新率。
注意:我刚刚安装了一份全新的 Debian 稳定版(wheezy)。我没有包含桌面环境,所以不要以为我拥有所有标准图形库。我手动安装xorg xcb libxcb-util0-dev libxcb-ewmh-dev libxcb-randr0-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-xinerama0-dev
并正在运行脉宽调制作为我的窗口管理器。
我尝试启动尾巴(它包含许多(如果不是全部的话)标准图形包)并遇到了同样的问题。它识别分辨率,但帧速率显示为 0.0。
我如何知道我正在运行的刷新率?
答案1
很可能您使用了错误的驱动程序。您应该执行
lspci -vnn
并搜索 VGA 显示器和控制器,查看您正在使用哪个驱动程序(如果有)。例如,要与英特尔硬件一起使用,您应该下载并安装软件包xserver-xorg-video-intel,其中软件包手册页状态
该软件包还为 i810/i815 和 i9xx 及更新的芯片组提供了 XvMC(XVideo 运动补偿)驱动程序。
这仅作为示例,您必须找到适合您硬件的驱动程序。
编辑:
对我来说,上述命令的输出是:
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Toshiba America Info Systems Device 0003
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 45
Region 0: Memory at e0000000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at 3000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
如您所见,它显示了正在使用的驱动程序。您的驱动程序应该也一样。
另外:是的,8086:0412 是您应该用来搜索驱动程序的代码,但我会为您省去很多麻烦:如果您尝试i915, 你会找到:
$ modinfo i915 | grep 8086 | grep 0412
alias: pci:v00008086d00000412sv*sd*bc03sc*i*
所以i915 是驱动程序是否已加载?尝试
lsmod | grep i915
如果你已经加载了驱动程序,那么你应该创建一个 xorg.conf 文件:Debian 维基非常明确:
如果由于某种原因 xorg.conf 缺失,Xorg 将在每次启动时探测您的硬件。虽然这在大多数情况下都能正常工作,但某些设置仍然无法访问。
您可以简单地执行以下操作:首先,停止所有窗口管理器(如果有)(gdm?kdm?lightdm?...),然后发出:
cd /etc/X11/
Xorg -configure
答案2
我升级到 Debian Jessie,问题就消失了。这让我认为 Wheezy 只是不支持新技术。