Xorg - 如何指定非标准显示分辨率

nod*_*scc 2 linux debian xorg resolution xorg.conf

我有一台在 Debian 上运行的上网本,其 LCD 屏幕部分损坏(从桌子上掉下来)。问题是屏幕左侧大约 30 列不再工作(全黑)。显示器的原始分辨率为 1024x600,但我再也看不到屏幕边缘显示的任何内容。

我想将 Xorg 显示大小设置为 1000x600,从坐标 24,0 开始。这样黑色区域就不会与我的显示重叠(现在不可能使用最大化的窗口)。

我没有 xorg.conf,所以我运行了 Xorg -configure,调整了 xorg.conf 并最终得到了这个:http : //pastebin.com/FuXhRSBe,我认为它应该可以工作。相反,当我使用它时,Xorg 总是回退到 800x600 居中显示。

如何让 Xorg 显示 1000x600 显示,偏移 24px ?谢谢

小智 6

如果您不介意在屏幕两侧出现24px 黑条,并且您的视频驱动程序支持设置缩放模式,您可以尝试以下操作:

  1. 为您的自定义显示模式生成模式行:

    $ cvt 976 600

    您将获得类似于以下内容的输出:

    Modeline "976x600_60.00" 46.50 976 1016 1112 1248 600 603 613 624 -hsync +vsync

  2. 通过此新模式的 xrandr 确认 X 服务器(您的模式行可能不同):

    $ xrandr --newmode "976x600_60.00" 46.50 976 1016 1112 1248 600 603 613 624 -hsync +vsync

  3. 将此模式添加到 LCD 输出:

    $ xrandr --addmode LVDS1 976x600_60.00

  4. 应用它:

    $ xrandr --output LVDS1 --mode 976x600_60.00 --set "scaling mode" Center

注意事项:

  • AFAIK,“缩放模式”属性特定于英特尔 KMS 驱动程序。英特尔的 UMS 驱动程序具有“PANEL_FITTING”模拟。如果您有非英特尔图形,我就不行了 :) 无论哪种方式,您都可以随时使用xrandr --properties命令检查可用的输出属性。

  • 您的 LCD 输出名称可能不同,您可以通过xrandr --query命令获取。

  • 为了使这种效果持久化,您应该将步骤 [2]、[3]、[4] 添加到 shell 脚本并在 X 启动时调用它。我不知道这是否可以通过 Xorg.conf 完成,但它是可能的。