fakexrandr, Reflejar pantallas falsas - X Error de solicitud fallida: BadMatch

fakexrandr, Reflejar pantallas falsas - X Error de solicitud fallida: BadMatch

Necesito crear pantallas falsas reflejadas en un monitor físico. lo instaléfakexrandry ahora tengo dos pantallas falsas (683x768) en el monitor de 1366x768 (máximo/preferido) de mi computadora portátil.

Cuando ejecuto xrandr --output eDP1~1 --same-as eDP1 --verboseel comando, aparece este error:

ingrese la descripción de la imagen aquí

*También xrandr --fb 683x768está imprimiendo el mismo error.

Philip Berndt(propietario/creador defakexrandr) dijo: "Depende del controlador de gráficos aplicar cualquier configuración". eneste problema. Pero no fue una respuesta satisfactoria para mí.

Para localizar el problema, grabé la salida xrandr --verboseen una configuración de dos monitores físicos. Puedes seguir las confirmaciones eneste repositoriopara ver el comportamiento de la salida de xrandr --verbose.

  • Después de hacer esto, me di cuenta de que xrandr --output eDP1~1 --same-as eDP1el comando está intentando asignarse current 683x768a Screen 0:. Pero el controlador gráfico o el monitor físico de mi computadora portátil no tiene 683x768opción/soporte de salida. Tal vez este podría ser el problema (no estoy seguro de la exactitud de este párrafo, tal vez podría estar completamente equivocado).

Considerándolo todo: ¿Cuál es el motivo real de este error en la captura de pantalla y la solución para este problema?

Respuesta1

RandR es una extensión del servidor X11 que se utiliza para comunicar la configuración de salidas entre los clientes del servidor (= aplicaciones) y el controlador de gráficos. La mayoría de las aplicaciones en realidad no hablan el protocolo, sino que utilizan una biblioteca llamada libXrandR. FakeXRandR reemplaza esta biblioteca con una que todavía solicita la configuración al controlador de gráficos, pero luego juguetea con el resultado para engañar a las aplicaciones haciéndoles creer que había una configuración completamente diferente a la que realmente existe. Dado que esto necesariamente conduce a errores si uno intenta alterar una de las salidas falsas, intenta mitigar los peores problemas reemplazando cualquier solicitud de configuración en salidas falsas con solicitudes de cambio contra la salida física original. Pero, por supuesto, es probable que esto siga fallando si intenta aplicar una resolución que solo existe en las salidas falsas.

Una buena analogía podría ser la situación en la que tienes un coche bastante viejo que puede circular a 50 km/h. Ahora desea conducir por una calle que requiere que pueda conducir a 100 km/h. La solución que persigue FakeXRandR es reemplazar los números del tacómetro de modo que la aguja ahora marque 180 km/h cuando en realidad estás conduciendo a 50. Si estás detenido en un control de tráfico, puedes decir "Mira oficial, mi velocímetro dice que puedo ir". 180, así que estoy bien", y probablemente aceptará esto. Pero en realidad todavía no puedes conducir más rápido, porque para hacerlo tenías que reemplazar el motor, no algunos números impresos en tu tablero.

tl;dr:FakeXRandR es la herramienta equivocada para su tarea.

Si realmente necesita hacer esto a nivel RandR, tendrá que parchear su controlador de gráficos, tanto en X11 como en el código del kernel.Escribí algunos resultados sobre dónde buscar en otro informe de error para FakeXRandr.. Una solución más sencilla, si lo único que desea es que la mitad derecha de su pantalla refleje la izquierda, sería utilizar un administrador de ventanas de composición avanzado comoCompiz. Los administradores de composición agregan una capa de redirección entre las ventanas de la aplicación y lo que realmente ves. Esto les permite, en este caso, dibujar cada ventana dos veces, primero en el lado izquierdo de la salida y luego en el lado derecho; lo que efectivamente clonaría su salida. Ya hay un complemento disponible para esto (instale todos los paquetes de Compiz, especialmenteadministrador-de-configuración-de-compizconfig, ccsm y buscar lo que necesita), o al menos debería ser posible escribir uno que haga lo que quiere sin demasiado esfuerzo.

información relacionada