Answers:
您必须将显示器配置为单独的X屏幕,而不是共享桌面。然后,Ubuntu应该让您调整各个X屏幕的亚像素顺序。
否则,跨两个具有不同子像素顺序的显示设备的窗口会发生什么情况?甚至更棘手的是,两个克隆模式下的显示器具有不同的物理顺序(RGB与BGR)。
这是目前所有操作系统的已知限制,需要进行重大重新设计才能修复。动态调整不可行,因为进行渲染的库必须知道您在哪个屏幕上并进行动态调整。另外,假设您在一个屏幕上有一个窗口的一半,在另一个屏幕上有一半的窗口-它不知道选择哪个。
设置多个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
Xorg.conf
但似乎无法为不同font.conf
文件选择路径。:(