Configurar diferentes representaciones de subpíxeles en diferentes monitores

16

Estoy usando monitores duales, uno de ellos girado 90 grados. La antialización de fuente no se ve bien en el monitor girado (es decir, hay bordes de arco iris alrededor de los caracteres).

Creo que esto se debe a que X está usando el mismo orden de representación de subpíxeles en ambos monitores. ¿Hay alguna forma de configurar diferentes órdenes de representación de subpíxeles para cada monitor? (es decir, monitor 1 = RGB y monitor 2 = vRGB).

Scaramouche
fuente
Parece que esto aún no es posible (sin solución de software). Vea esto para algo relacionado.
Ashhar Hasan

Respuestas:

4

Tendría que configurar sus pantallas como pantallas X separadas, no como un escritorio compartido. Ubuntu debería permitirle ajustar el orden de subpíxeles para pantallas X individuales.

De lo contrario, ¿qué pasaría con una ventana que abarca dos dispositivos de visualización con diferentes órdenes de subpíxeles? O incluso más complicado, dos pantallas en modo clon con diferentes órdenes físicos (RGB vs BGR).

Esta es una limitación conocida para todos los sistemas operativos en este momento y necesitaría un rediseño importante para solucionarlo. El ajuste dinámico no es factible porque la biblioteca que realiza el renderizado debería saber en qué pantalla está y ajustar dinámicamente. Además, suponga que tiene la mitad de una ventana en una pantalla y la otra mitad en otra, no sabría cuál elegir.

Configuración de múltiples pantallas X:

  1. Arranque y reconfigure X. sudo dpkg-reconfigure -phigh xserver-xorg Siga los pasos para configurar la pantalla principal. (No sé de CLI una forma de hacer este paso en particular)
  2. Abra una terminal y
    lspci
    esto debería darle una lista de sus dispositivos y sus identificadores de bus. Encuentra la tarjeta gráfica y escribe la identificación de su bus.
  3. Haga una copia de su xorg.confcomo xorg.conf.origtal vez y ábrala:sudo vi /etc/X11/xorg.conf
  4. Lea esto ANTES de continuar para asegurarse de que puede personalizarlo tanto como desee.
  5. Ahora haga dos Devicesecciones y enumere la BusIDtarjeta que se compartirá y también enumere el controlador de esta manera:

    Section "Device"
        Identifier  "nvidia0"
        # Your preferred driver
        Driver      "nvidia"
        # Edit the BusID with the location of your graphics card
        BusID       "PCI:2:0:0"
        Screen      0
    EndSection
    
    Section "Device"
        Identifier  "nvidia1"
        # Your preferred driver
        Driver      "nvidia"
        # Edit the BusID with the location of your graphics card
        BusId       "PCI:2:0:0"
        Screen      1
    EndSection
    
  6. Ahora cree dos Screensecciones (con los parámetros que elija, por supuesto, lo único que debe coincidir es Deviceen esta sección con la Identifieranterior) como:

    Section "Screen"
        Identifier  "Screen0"
        Device      "nvidia0"
        Monitor     "Monitor0"
        DefaultDepth 24
        Subsection "Display"
            Depth       24
            Modes       "1600x1200" "1024x768" "800x600" "640x480" 
        EndSubsection
    EndSection
    
    Section "Screen"
        Identifier  "Screen1"
        Device      "nvidia1"
        Monitor     "Monitor1"
        DefaultDepth 24
        Subsection "Display"
            Depth       24
            Modes       "1600x1200" "1024x768" "800x600" "640x480" 
        EndSubsection
    EndSection
    
  7. Ahora haga una Monitorsección para cada monitor como:

    Section "Monitor"
        Identifier "monitor name here"
    EndSection
    
    Section "Monitor"
        Identifier "monitor name here"
        # Rotate as you want (your question says one is rotated)
        Rotate "left"
    EndSection
    
  8. Finalmente, actualice la ServerLayoutsección para usar y coloque ambas Screensecciones:

    Section "ServerLayout"
        ...
        Screen         0 "Screen0" 
        Screen         1 "Screen1" leftOf "Screen0"
        ...
    EndSection
    
  9. ¡Reinicia X y cruza los dedos! Si funciona, continúe ajustándolo tanto como desee.

AHORA PARA LA ORDEN DE REPRESENTACIÓN DE SUBPIXEL Haga este cambio font.confen ~/font.confo / etc / X11 / font.conf`. bgr

Ashhar Hasan
fuente
Estoy agregando los pasos sobre cómo hacerlo. Pero esperemos que alguien venga con una forma increíble de hacer lo que necesita.
Ashhar Hasan
Parece que yo también he golpeado un bloque. Aunque puedo especificar diferentes rutas de fuente, Xorg.confpero no parece elegir rutas para diferentes font.confarchivos. :(
Ashhar Hasan