将Xorg设置为仅使用屏幕的一部分


13

我的屏幕分辨率为1280 x 1024。但不幸的是,最右边的200像素带已损坏,无法显示任何图像。

如何设置Xorg将屏幕视为1080 x 1024设备?

现在我尝试了:

Virtual 1080 1024
Viewport 0 0

它无法正常工作-图像按比例缩放以适合垂直方向,而水平方向可以用鼠标平移。


2
我打开赏金来寻找更多可能更简单的解决方案。感谢大家!
拉克·克拉里

Answers:


8

查阅:http : //howto-pages.org/ModeLines/,他们对Xorg模式行有很好的解释。然后转到http://xtiming.sourceforge.net/cgi-bin/xtiming.pl并输入您可以使用的屏幕尺寸的规格。这将为您提供Modeline,您可以将其添加到xorg.conf文件中。

字段4、5、6和7对应于以下值:HDisplay HSyncStart HSyncEnd HTotal。

通过使用字段5和6,您可以根据需要将屏幕的可见部分向左或向右移动。


您能详细解释一下吗?
Rok Kralj 2012年

当然。可以将hsync看作是打字机上的回车符。请记住,X控件显示是在CRT时代发展起来的。HSyncStart表示从某个位置开始绘制像素,并保持绘制直到HSyncEnd,此时设置HSync信号,告诉CRT在屏幕上绘制下一行。在LCD时代,这是遗留问题,但仍然是它的工作方式。通过玩水平线的起点和终点,您可以控制屏幕的绘制宽度以及物理媒体的哪个部分。帖子中的链接有一个很好的解释。
肯尼迪

2

您将不得不摆弄如何最好地使显示管理器使用它,但是:

您可以正常启动Xorg,它将以全分辨率使用整个屏幕,例如

Xorg :123 -ac

-ac开关禁用Xorgs在允许客户端上可能具有的某些(全部?)限制。然后,您将Xephyr作为唯一的客户端启动(您可能希望使通过-screen参数传递的分辨率适应您的需求):

DISPLAY=:123 Xephyr :0 -screen 1720x1200

Xephyr是一种“重叠Xserver”,它像任何Xserver一样与客户端交互,但是Xephyr依靠另一个Xserver来完成渲染和输入(用户面对的部分)。

如何组合这些命令在很大程度上取决于您的用例。通常,会话管理器等应用程序使您有机会提供如何调用Xserver的命令。

我所做的尝试:

/root/.xinitrc用内容创建

Xephyr :0 -ac -once -query myxdmcphost -screen 1400x1200`

其中1400是我的屏幕宽度-200像素。

然后我运行xinit -- :123 -my -usual -xorg -options -for -my -computer,结果得到一个登录屏幕和一个会话,该会话实际上使用了我的整个屏幕,但右侧有一个200像素宽的列。

为了对GDM具有相同的效果,您必须在中提供xinit两次命令,gdm.conf作为调用Xserver的方法。但是我无法从头顶上告诉你该怎么做。


1
Xephyr不支持opengl硬件加速,不适合任何现代DE或游戏。
拉克·克拉里
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.