Настройка различного субпиксельного рендеринга на разных мониторах
Я использую двойные мониторы, один из которых повернут на 90 градусов. Сглаживание шрифтов выглядит неправильно на повернутом мониторе (т. Е. Вокруг символов есть радужные границы).
Я считаю, что это потому, что X использует один и тот же порядок рендеринга субпикселей на обоих мониторах. Есть ли способ настроить различные порядки рендеринга субпикселей для каждого монитора? (т. е. монитор 1 = RGB, а монитор 2 = vRGB).
2 ответа
Вы должны настроить свои дисплеи как отдельные экраны X, а не как общий рабочий стол. Ubuntu должен затем позволить вам настроить порядок субпикселей для отдельных экранов X.
Иначе, что случилось бы с окном, которое охватывает два устройства отображения с различными порядками подпикселей? Или, что еще сложнее, два дисплея в режиме клонирования с разными физическими порядками (RGB против BGR).
На данный момент это известное ограничение для всех операционных систем, и для его исправления потребуется серьезная модернизация. Динамическая настройка невозможна, потому что библиотека, выполняющая рендеринг, должна знать, на каком экране вы находитесь, и динамически настраивать. Кроме того, предположим, что у вас есть половина окна на одном экране и половина на другом - он не знает, какой выбрать.
Настройка нескольких экранов X:
- Загрузите и перенастройте X.
sudo dpkg-reconfigure -phigh xserver-xorgСледуйте инструкциям по настройке основного дисплея. (Я не знаю способ сделать этот конкретный шаг из CLI) - Откройте терминал и
lspci
Это должно дать вам список ваших устройств и их идентификаторы шины. Найдите видеокарту и запишите их идентификаторы. - Сделайте копию своего
xorg.confкакxorg.conf.origможет и откроюsudo vi /etc/X11/xorg.conf - Прочтите это ДО продолжения, чтобы убедиться, что вы можете настроить его так, как вы хотите.
Теперь сделайте два
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Теперь создайте два
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Теперь сделайте
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Наконец, обновите
ServerLayoutраздел для использования и позиционировать обаScreenразделы:Section "ServerLayout" ... Screen 0 "Screen0" Screen 1 "Screen1" leftOf "Screen0" ... EndSectionПерезапустите X и скрестите пальцы! Если это работает, то продолжайте тонкую настройку так, как вам нравится.
СЕЙЧАС ДЛЯ СУБПИКСЕЛЬНОГО РЕНДЕРНОГО ЗАКАЗА Сделайте это изменение в font.conf либо в ~/font.conf или /etc/X11/font.conf`. BGR
Другим решением является установка сглаживания в градациях серого вместо субпикселей, учитывая, что все ваши ЖК-экраны больше не имеют одинаковую ориентацию пикселей.
Я сделал это с помощью gnome-tweaks -> шрифты -> сглаживание -> стандарт. У меня работает нормально. Вы также можете установить «Нет», если предпочитаете резкость.