Я использую два монитора, один из которых повернут на 90 градусов. Сглаживание шрифтов выглядит неправильно на повернутом мониторе (т. е. вокруг символов появляются радужные рамки).
Я полагаю, это потому, что X использует один и тот же порядок рендеринга субпикселей на обоих мониторах. Есть ли способ настроить разные порядки рендеринга субпикселей для каждого монитора? (т. е. монитор 1 = RGB, а монитор 2 = vRGB).
решение1
Вам придется настроить свои дисплеи как отдельные экраны X, а не как общий рабочий стол. Ubuntu тогда позволит вам настроить порядок субпикселей для отдельных экранов X.
В противном случае, что произойдет с окном, которое охватывает два устройства отображения с разными порядками субпикселей? Или, что еще сложнее, два дисплея в режиме клонирования с разными физическими порядками (RGB против BGR).
Это известное ограничение для всех операционных систем на данный момент, и для его исправления потребуется серьезная переработка. Динамическая настройка невозможна, поскольку библиотека, выполняющая рендеринг, должна знать, на каком экране вы находитесь, и динамически настраиваться. Плюс, предположим, что у вас есть половина окна на одном экране, а половина на другом — она не будет знать, что выбрать.
Настройка нескольких X-экранов:
- Загрузите и перенастройте X.
sudo dpkg-reconfigure -phigh xserver-xorg
Следуйте инструкциям по настройке основного дисплея. (Я не знаю, как выполнить этот конкретный шаг из CLI) - Откройте терминал, и
lspci
он должен выдать вам список ваших устройств и их идентификаторов шин. Найдите видеокарту и запишите их идентификаторы шин. - Сделайте копию вашего файла
xorg.conf
asxorg.conf.orig
maybe и откройте его: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
решение2
Другое решение — установить сглаживание в оттенках серого вместо субпиксельного, поскольку все ваши ЖК-экраны больше не имеют одинаковой ориентации пикселей.
Я сделал это с помощью gnome-tweaks -> fonts -> antialiasing -> standard. У меня все работает нормально. Вы также можете установить его на "None", если предпочитаете резкость.