Настройка различных субпиксельных изображений на разных мониторах

11

Я использую двойные мониторы, один из которых повернут на 90 градусов. Сглаживание шрифта не выглядит правильно на повернутом мониторе (т. Е. Вокруг символов есть радуга).

Я считаю, что это потому, что X использует один и тот же порядок субпиксельной рендеринга на обоих мониторах. Есть ли способ настроить различные подпиксельные заказы на рендеринг для каждого монитора? (т. е. монитор 1 = RGB и монитор 2 = vRGB).

    
задан scaramouche 14.12.2014 в 22:37
источник

1 ответ

5

Вам нужно будет настроить свои дисплеи как отдельные X-экраны, а не общий рабочий стол. Затем Ubuntu позволит вам настроить подпиксельный порядок для отдельных экранов X.

В противном случае, что произойдет с окном, которое охватывает два устройства отображения с разными субпиксельными ордерами? Или даже сложнее, два дисплея в режиме клонирования с разными физическими заказами (RGB против BGR).

Это известное ограничение для всех операционных систем прямо сейчас, и для его исправления потребуется крупная редизайн. Динамическая настройка невозможна, потому что библиотека, выполняющая рендеринг, должна знать, на каком экране вы находитесь, и динамически настраивать. Плюс, предположим, что у вас есть половина окна на одном экране, а половина на другом - он не знал, что выбрать.

Настройка нескольких экранов X:

  1. Загрузите и переконфигурируйте X. %код% Выполните шаги для настройки основного дисплея. (Я не знаю, как сделать этот конкретный шаг из CLI)
  2. Откройте терминал и
    sudo dpkg-reconfigure -phigh xserver-xorg
    Это должно дать вам список ваших устройств и идентификаторов их автобусов. Найдите графическую карту и запишите идентификаторы своих шин.
  3. Сделайте копию своего lspci как xorg.conf и, возможно, откройте его: xorg.conf.orig
  4. Прочтите это ПЕРЕД продолжая следить за тем, чтобы вы могли настроить его столько, сколько хотите.
  5. Теперь сделайте две sudo vi /etc/X11/xorg.conf разделов и перечислите Device от общей карты, а также перечислите драйвер следующим образом:

    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. Теперь создайте два BusID секций (с параметрами вашего выбора, конечно, единственное, что нужно сопоставить, это Screen в этом разделе в Device в предыдущем), как:

    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. Теперь сделайте Identifier для каждого монитора следующим образом:

    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. Наконец, обновите раздел Monitor , чтобы использовать и поместить обе части ServerLayout :

    Section "ServerLayout"
        ...
        Screen         0 "Screen0" 
        Screen         1 "Screen1" leftOf "Screen0"
        ...
    EndSection
    
  9. Перезапустите X и скрестите пальцы! Если он работает, то продолжайте тонкую настройку, насколько вам нравится.

СЕЙЧАС ДЛЯ СУБПИСЕЛЬНОГО ОКАЗАНИЯ ЗАКАЗА Сделайте это изменение в Screen либо в font.conf , либо в /etc/X11/font.conf '.                                BGR                          

ответ дан Ashhar Hasan 12.12.2015 в 06:37