Вы должны настроить свои дисплеи как отдельные экраны 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