我自豪地拥有一台 Eluktronics RP-15 笔记本电脑,它配备了 AMD Ryzen CPU、集成 Radeon GPU 和 NVIDIA RTX 2060 独立 GPU。显示输出似乎与独立 GPU 紧密相关,即使在 Windows 中,在安装 NVIDIA 驱动程序之前也无法工作。我的家庭设置包括笔记本电脑显示器和 2 个外部 AOC 显示器,通过 DisplayPort 和 HDMI 端口连接。所有 3 个显示器都水平对齐(一个挨着另一个),而不是一个在另一个之上/之下。
在花费大量时间尝试设置反向 PRIME 卸载后,我放弃了,并将 XOrg 配置为始终使用 dGPU。我使用的 XOrg 配置如下:
Section "Module"
Load "modesetting"
Load "nvidia"
Load "amdgpu"
EndSection
Section "Files"
EndSection
#################
# LAYOUT #
#################
Section "Screen"
Identifier "Screen0"
Device "dGPU"
Monitor "eDP-1-1"
EndSection
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Option "Xinerama" "0"
EndSection
然而,这给我带来了一个问题:LightDM 显示的布局全都歪了。视口似乎是显示器本身高度的两倍,这导致 X 光标非常大,壁纸被拉伸,整个登录屏幕就像网页一样滚动。
针对类似问题,建议的一种明显解决方法是将 .config/monitors.xml 文件复制到 /var/lib/lightdm/.config。由于我正在运行 XFCE 会话,所以我没有该文件。然而,我偶然启动了一个 GNOME 会话,并注意到 GNOME 中也出现了相同的布局损坏,这让我相信这与 GTK 有关。我使用 GNOME 的显示设置非常快速地修复了布局,它生成了适当的 monitors.xml 文件,然后我将其复制到 /var/lib/lightdm/.config/monitors.xml,希望 LightDM 的问题也能得到修复。
然而,由于我不知道的原因,事实并非如此。我检查了文件所有权和权限,它们似乎没有问题:
-rw-r--r-- 1 lightdm lightdm 1.5K Jan 30 14:32 monitors.xml
我尝试将 monitors.xml 文件复制到各个子文件夹,但也没有成功。
由于我使用的是 openSUSE Tumbleweed,因此我只能访问基于 GTK 的欢迎程序,这确实使问题更加难以查明,但它似乎与 GTK 有关。奇怪的是,gdm(据我所知,它也是基于 GTK 的)没有表现出这种行为,并且显示屏幕没有任何故障。
所以我的问题是:如何让 lightdm 的欢迎程序读取 .config 文件夹,尤其是 monitors.xml 文件?我不愿意回到手动 xrandr 配置,因为这是一个肮脏的解决方法,不适合笔记本电脑(它可能连接了外部显示器,也可能没有)。
软件包版本:
- gtk3: 3.24.24
- 孕产期: 3.38.2
- lightdm: 1.30.0
- lightdm-gtk-greeter:2.0.8