在 Ubuntu 9.04 中设置 VESA 显示模式 > 800x600

在 Ubuntu 9.04 中设置 VESA 显示模式 > 800x600

问题

选择“vesa”驱动程序后,如何在 Ubuntu 9.04 上选择高于 800x600 的视频模式(如 1024x768 或 1280x1024)?有些资料说可以使用 monitors.xml。

子问题 1:我是否必须使用内核启动参数?(请参阅下文)

子问题2:xorg.conf 在 Ubuntu 9.04 上仍在使用吗?

我已经知道/尝试过

这是我的 xorg.conf:

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "vesa"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    SubSection "Display"
        Viewport    0 0
        Depth       16
        Modes       "1024x768"
    EndSubSection
EndSection

如您所见,我将驱动程序设置为“vesa”并添加了模式 1024x768。

在 Gnome 中我总是可以在 640x480 和 800x600 之间进行选择。调用时xrandr会告诉我相同的结果:

Screen 0: minimum 640 x 480, current 800 x 600, maximum 800 x 600
default connected 800x600+0+0 0mm x 0mm
   800x600        61.0* 
   640x480        60.0 

另外,我读到,VESA 模式必须在启动过程的早期阶段设置,因为它必须在实模式下切换。因此,我使用可选的内核参数(如vga=0x316或 )进行启动vga=316。无论我选择哪个数字(从或者当我在启动时看到一个特定分辨率的启动屏幕时,它主要抱怨它不知道数字,并显示另一个表格供我选择。无论我选择什么,我都会得到一个特定分辨率的启动屏幕,该屏幕略微向左上角移动。

但是当 Gnome 出现登录屏幕时,分辨率又回到 800x600,除了 640x480 和 800x600 之外没有其他选项可供我选择。所以我不确定这个启动参数是否有任何实际作用。

另外,我读到过一些文章说 Ubuntu 9.04 不再使用 xorg.conf,但另一方面,我发现很多 9.04 教程都提到了 xorg.conf,而且有些用户报告说 xorg.conf 对他们有用。Nvidia 工具也对 xorg.conf 进行了更改,导致我的计算机在重启时崩溃,所以肯定有什么问题。

更多背景信息

我有一台 Dell Precision M70 笔记本电脑,显卡坏了,也就是说,部分视频内存坏了。LCD 的物理分辨率为 1920x1200,配有 Nvidia Quadro FX Go 1400。

根据我在 Windows 上的经验,我知道使用 NVidia 驱动程序时,无论选择哪种模式,输出结果都是乱码,或者计算机完全崩溃。但是如果没有驱动程序,我可以愉快地使用显示模式 640x480、800x600、1024x768 和 1280x1024。即使没有驱动程序,更高的模式也会失败。

几天前我安装了 Ubuntu,使用正确的驱动程序时,它总是崩溃,有时在显示一些合理内容后崩溃,有时甚至没有显示。我甚至无法使用该驱动程序使用 640x480。使用 VESA 驱动程序,它运行稳定,但我无法切换到任何高于 800x600 的分辨率。

因此我得出结论,如果我能配置它,那么在 Ubuntu 上使用更高级的 VESA 应该没问题。

答案1

我终于搞定了。它现在在 1280x1024 上工作正常。

  • 我根本不需要使用内核启动参数
  • xorg.conf 仍在使用中,并且monitors.xml系统似乎既没有写入也没有读取“新”文件

问题出在我的显示器配置错误。X.org 未明确指定HorizSync有效范围,因此估计有效范围为 28-33kHz,因此仅允许较低的模式。日志文件/var/log/Xorg.0.log告诉我:

(II) VESA(0): Configured Monitor: Using hsync range of 31.50-37.90 kHz
(II) VESA(0): Configured Monitor: Using vrefresh range of 50.00-70.00 Hz
(WW) VESA(0): Unable to estimate virtual size
(II) VESA(0): Not using built-in mode "1280x1024" (hsync out of range)
(II) VESA(0): Not using built-in mode "1024x768" (hsync out of range)
(II) VESA(0): Not using built-in mode "640x400" (hsync out of range)
(II) VESA(0): Not using built-in mode "320x400" (hsync out of range)
(II) VESA(0): Not using built-in mode "320x240" (illegal horizontal timings)
(II) VESA(0): Not using built-in mode "320x200" (illegal horizontal timings)

通过 28-73kHz 的设置,我现在可以选择高达 1280x1024 的模式。

...
Section "Monitor"
        Identifier      "Configured Monitor"
        HorizSync       28-73
EndSection
...

我的屏幕应该支持更高的模式,而且由于我只是估算了这个数字,73我可能不得不将其设置得更高。但是,目前我知道这不是限制的原因,因为高于 1280x1024 的模式根本没有被检查。我想我也可以配置这些,我会在得到解决方案后立即回来报告。

答案2

我刚刚遇到了类似的问题并关注了这些说明使用xrandr。我的显示器在显示首选项中显示为未知显示器。添加xrandr命令让/etc/gdm/Init/Default我可以手动指定一系列可能的分辨率并将它们添加到选择列表中。然后我可以使用显示首选项来选择我想要的分辨率。

如果该链接中断,这里是摘要:

  • 用于xrandr查看您正在使用的显示器。
  • 用于cvt生成您想要的分辨率的模式线。
  • 用于xrandr --newmode定义新的分辨率。
  • 用于xrandr --addmode添加分辨率作为您正在使用的显示器的选择。
  • 然后尝试选择新的分辨率。我使用了显示首选项对话框,因为如果您选择不受支持的模式,它会在几秒钟后自动恢复。
  • 测试分辨率后,编辑/etc/gdm/Init/Default以添加一个命令,并为您喜欢的每个分辨率添加xrandr --newmode一个命令。xrandr --addmode

仅供参考,我在 Dell Studio 上使用 Intel GMA X4500HD 显卡。

答案3

调查兰德- 乍一看这似乎是正确的事情。

相关内容