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

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

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

2 ответа

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

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

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

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

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

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

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

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

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

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

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

Я сделал это с помощью gnome-tweaks -> шрифты -> сглаживание -> стандарт. У меня работает нормально. Вы также можете установить «Нет», если предпочитаете резкость.

Другие вопросы по тегам