为什么显示器的原始分辨率没有显示为选项?[关闭]


13

我正在全新安装Ubuntu 10.04 LTS。我的显示器的原始分辨率为1280x1024。但是,在“监视器首选项”应用程序中,仅显示640x480和800x600作为选项。我的视频卡是板载Matrox G200eW。我尝试从Matrox的网站安装专有驱动程序,但是安装程序立即引发四个错误。我还尝试使用xrandr设置分辨率,但它只是弹出来,提示“在可用模式下找不到1280x1024大小”。如何将1280x1024添加到我可以切换到的可用尺寸?


谢谢大家的帮助。不幸的是,我认为这是这台机器的原因。即使当我最终设法添加1280x1024作为选项时,选择它也会出错。
沃伦·佩纳

Answers:


5

安装专有驱动程序可能会有所帮助!

您还可以在名为的配置文件中放入新的屏幕模式,/etc/X11/xorg.conf但是没有默认设置,因为每次X启动时都会检测所有内容。因此,要获得良好的默认设置,您可以让Xorg将探测到的配置写入文件。这是通过关闭X并重新启动来完成的,并在命令行上告诉X它仅需写入配置文件。

因此,首先打印或写下这些说明;)

然后按Ctrl+ Alt+ F1转到控制台。在那里,您将必须登录。只需以您的普通特权用户身份登录即可。
要停止X,请使用以下命令:

sudo service gdm stop

然后让X生成一个新的配置文件

sudo Xorg -configure

Xorg命令将告诉您配置的保存位置,如果您更熟悉GUI,现在可以选择返回X。
使用此命令重新启动X

sudo service gdm start

现在,编辑新的xorg.conf并将其保存为/etc/X11/xorg.conf下面的部分,然后添加所需的视频模式(该Modes行不存在,但是请Depth像下面所做的那样添加它。

“屏幕”部分
    标识符“默认屏幕”
    设备“ NVIDIA Corporation NV34 [GeForce FX 5200]”
    监控“ CM752ET”
    默认深度16
    小节“显示”
        深度24
        模式“ 1024x768”,“ 800x600”
    EndSubSection
结束部分

谢谢。您获取xorg.conf文件的说明非常有效。我有多个SubSection“显示”部分(每个部分的深度不同,所有部分都带有附加元素Viewport 0 0)。我向所有模式添加了模式“ 1024x768”,“ 800x600”,“ 1280x1024”。不幸的是,这似乎没有做任何事情。我知道它正在读取此配置文件,因为在其顶部添加垃圾会导致X无法加载。但是,我仍然只有640x480和800x600,xrandr仍然不允许我将1280x1024设置为分辨率。
沃伦·佩纳

然后是您的图形驱动程序正确地告诉X,它不支持高于800x600的版本:(看一下/var/log/Xorg.0.log(Xorg日志文件),您可以将其放在pastebin.com上并链接如果您在解密时遇到困难,可以在这里查看
LassePoulsen

谢谢。我在Xorg.0.log中发现了两条可疑行。(II)MGA(0):未使用默认模式“ 1280x1024”(hsync超出范围)(II)MGA(0):未使用模式“ 1280x1024”(无此名称的模式)我看不到定义了hsync我的xorg.conf文件中的任何位置。我应该在某个地方定义它吗?
沃伦·佩纳


4

如果您的驱动程序支持xrandr,则它应该可以工作:

  • 使用此命令:

    cvt width height
    
  • 我将给出这样的输出:

    1280x1000 59.93 Hz (CVT) hsync: 62.21 kHz; pclk: 105.50 MHz
    Modeline "1280x1000_60.00"  105.50  1280 1360 1488 1696  1000 1003 1013 1038 -hsync +vsync
    
  • 在105.5之后复制数字

  • 然后使用以下命令:

    xrandr --newmode name 105.50  1280 1360 1488 1696  1000 1003 1013 1038 -hsync +vsync  
    xrandr --addmode name
    
  • 第一个命令将创建一个具有名称的新模式,第二个命令将该模式添加到可用列表中。

现在,您应该能够从常规菜单的下拉框中选择所需的分辨率。


3
 (II) MGA(0): Not using default mode "1280x1024" (hsync out of range)

您需要在xorg.conf中定义一个具有足够宽的hsync范围的监视器部分。

就像是:

Section "Monitor"
     Identifier "MyMonitor"
     HorizSync  xx-yy
EndSection

最好将监视器的确切hsync范围放入。

我相信这是由于视频驱动程序无法从监视器获取正确的EDID信息而发生的。您可能还需要试验驱动程序的设置,以使其忽略从监视器获取的EDID信息。


1

我建议正确安装驱动程序。然后,我确定您的图形卡是否能够显示1280x1024的分辨率。

:)


我试图从Matrox的网站上安装驱动程序,但是它已经使用了四年了,当我运行安装程序时立即开始引发错误。我应该在其他地方寻找安装程序吗?
沃伦·佩纳

更新:我没有检查Synaptic来查看驱动程序是否已经安装。根据Synaptic的描述,该驱动程序已经安装。
沃伦·佩纳

@warren,它可能不是正确的驱动程序。:(
myusuf3,2010年

1

出现此问题的常见原因是监视器向驱动程序发送了错误的(或没有)分辨率信息。然后,驱动程序将自身限制为通用默认值(例如640x480或800x600,有时甚至是1024x768)。有时坏电缆有故障。

因此,请首先验证您的监视器信息是否正确通过,如果不正确,请采取以下措施:

  1. 运行sudo get-edid以验证扩展的显示数据。例如我得到:

由于VBE调用失败,因此不应该信任EDID数据。 EDID声称还剩255个块EDID剩余块是错误的。 您的EDID可能无效。

  1. 下载Phoenix EDID Designer并使用来运行它wine Phoenix.exe。只需单击几下,您就可以设置显示器的本机分辨率,发明制造商ID和序列号,然后再开始使用。将其另存为“原始”文件。为了简单起见,请仅输入显示器的原始分辨率。

  2. 备份xorg.conf并添加一个CustomEDID选项:

    “设备”部分VendorName“ NVIDIA Corporation” BoardName“ GeForce GT 430” ...选项“ CustomEDID”“ DFP-0:/home/bnesbitt/XP-17-EDID.raw” EndSection

  3. 重新启动X服务器或(如果您很勇敢)重新启动。

为了清楚起见,错误消息为“由于VBE调用失败,因此不应信任EDID数据。EDID声称还剩255个块EDID剩余块是错误的。您的EDID可能无效。


0

该答案建议为显示器设置刷新率和同步率。使用显示器的规格来找到其值,然后将它们像这样放置:

  Section "Monitor"
   Identifier "Monitor0"
   VendorName "Unknown"
   ModelName "CRT-0"
   HorizSync 31.0 - 81.0
   VertRefresh 56.0 - 76.0
  EndSection
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.