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

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

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

我想将 Xorg 显示尺寸设置为 1000x600,从坐标 24,0 开始。这样黑色区域就不会与我的显示器重叠(目前无法使用最大化窗口)。

我没有 xorg.conf,所以我运行了 Xorg -configure,调整了 xorg.conf 并得到了以下结果:http://pastebin.com/FuXhRSBe我觉得它应该可以工作。但当我使用这个时,Xorg 总是回到 800x600 的居中显示。

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

答案1

如果你不介意看到 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 完成,但这是可能的。

答案2

我对此也很着迷。

randr --output LVDS1 --mode RES --scale 1.4x1.4

其中 RES 是您支持的最大物理分辨率(800x600 就足够了)。并且您的屏幕会缩放。

相关内容