Configure Xorg para usar solo una parte de la pantalla

13

Mi pantalla tiene una resolución de 1280 x 1024. Pero desafortunadamente, el cinturón de la derecha de 200 píxeles está dañado y no puede mostrar ninguna imagen.

¿Cómo puedo configurar que Xorg trate mi pantalla como un dispositivo 1080 x 1024?

Ahora he intentado:

Virtual 1080 1024
Viewport 0 0

No funciona correctamente: la imagen se escala para ajustarse verticalmente y horizontalmente puedo desplazarla con el mouse.

Rok Kralj
fuente
2
Abrí la recompensa en busca de más soluciones, posiblemente más simples. ¡Gracias a todos!
Rok Kralj

Respuestas:

8

Echa un vistazo: http://howto-pages.org/ModeLines/ , tienen una buena explicación de las modelos Xorg. Luego vaya a http://xtiming.sourceforge.net/cgi-bin/xtiming.pl e ingrese las especificaciones para el tamaño de la pantalla que puede usar. Esto le dará un Modeline que puede agregar a su archivo xorg.conf.

Los campos 4, 5, 6 y 7 corresponden a los siguientes valores: HDisplay HSyncStart HSyncEnd HTotal.

Al jugar con los campos 5 y 6, podrá mover la parte visible de la pantalla hacia la izquierda o hacia la derecha, según lo que necesite.

Tim Kennedy
fuente
¿Explicaría esto más en detalle?
Rok Kralj
seguro. piense en hsync como el retorno de carro en una máquina de escribir. recuerde, cómo se desarrolló X controla las pantallas en los días de la CRT. HSyncStart dice que comience a dibujar píxeles en una ubicación y siga dibujando hasta HSyncEnd, momento en el que se establece la señal HSync, que le indica a CRT que dibuje la siguiente línea en la pantalla. En la era de LCD, esto es heredado, pero aún así es como funciona. Al jugar con los campos de inicio y fin de las líneas horizontales, puede controlar qué tan ancha está dibujada su pantalla y en qué parte de los medios físicos. El enlace en la publicación tiene una buena explicación.
Tim Kennedy
2

Tendrá que buscar la mejor manera de hacer que los administradores de pantalla lo usen, pero:

Puede iniciar su Xorg normalmente, que utilizará toda su pantalla a resolución completa, p. Ej.

Xorg :123 -ac

El modificador -ac desactiva algunas (¿todas?) De las restricciones de Xorgs que puede tener para permitir clientes. Luego, inicia Xephyr como el único cliente (es posible que desee adaptar la resolución aprobada como argumento de pantalla a sus necesidades):

DISPLAY=:123 Xephyr :0 -screen 1720x1200

Xephyr es una especie de "Xserver superpuesto" que interactúa con los clientes como cualquier Xserver, pero en lugar de ocuparse de la representación y la entrada (la parte orientada por el usuario), Xephyr confía en otro Xserver para hacerlo.

La forma de combinar estos comandos depende en gran medida de su caso de uso. En general, las aplicaciones como los administradores de sesión le brindan la oportunidad de proporcionar un comando sobre cómo invocar un Xserver.

Lo que hice para probarlo:

Crea /root/.xinitrccon el contenido

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

donde 1400 es mi ancho de pantalla -200 píxeles.

Luego corro xinit -- :123 -my -usual -xorg -options -for -my -computery como resultado obtengo una pantalla de inicio de sesión y una sesión que en realidad usa toda mi pantalla pero una columna de 200 píxeles de ancho en el lado derecho.

Para tener el mismo efecto, por ejemplo, GDM, debería proporcionar el xinitcomando un par de veces gdm.confcomo método para invocar un servidor X. Pero no puedo decirte desde lo alto de mi cabeza cómo hacerlo.

Bananguin
fuente
1
Xephyr no es compatible con la aceleración de hardware opengl, no es adecuado para cualquier DE o juego moderno.
Rok Kralj