xorg 多 GPU - 第二个屏幕上没有键盘输入

xorg 多 GPU - 第二个屏幕上没有键盘输入

我在一台带有两个显卡和三个显示器的机器上运行 Ubuntu 19.04 (Disco),顶部插槽是 NVidia 1080ti,底部插槽是 Vega 64。其中两台显示器插入 Vega 64 的显示端口,一台插入 NVidia 1080ti 的 HDMI 端口。

当我让 Ubuntu 自动检测图形设置(没有 xorg.conf 文件)时,Gnome 可以很好地扩展到所有三个显示器和两个显卡,但它只能在其中一个显示器上渲染(换句话说,显示端口上运行的任何内容)正在使用 nvidia 或 nouveau 驱动程序 - 就像正在传递渲染一样)。

所以我想出了一个 xorg.conf 文件(如下),它接近我的需要,但有一些问题。最大的问题是,当我在其他屏幕之一上启动 xterm 时DISPLAY=:0.1 xterm,鼠标工作正常,但键盘无法工作。该文件与生成的文件非常相似Xorg -configure。我究竟做错了什么?如何让键盘在 WindowsScreen1或上工作Screen2

Section "InputDevice"
    Identifier "keyboard0"
    Option "Device" "/dev/input/event10"
    Option "Xinerama" "On"
    Driver "evdev"
EndSection

Section "InputDevice"
    Identifier "mouse0"  
    Option "Device" "/dev/input/event4"
    Driver "evdev"
EndSection

Section "Monitor"
    Identifier "HDMI-1"
EndSection

Section "Monitor"
    Identifier "DisplayPort-3"
EndSection

Section "Monitor"
    Identifier "DisplayPort-4"
EndSection

Section "Device"
    Identifier "Device1"
    Driver "amdgpu"
    BusID "PCI:41:00"
EndSection

Section "Device"
    Identifier "Device0"
    Driver "nouveau"
    BusID "PCI:38:00"
EndSection

Section "Screen"
  Identifier "Screen0"
  Device "Device0"
  Monitor "HDMI-1"
EndSection

Section "Screen"
  Identifier "Screen1"
  Device "Device1"
  Monitor "DisplayPort-3"
EndSection

Section "Screen"
  Identifier "Screen2"
  Device "Device1"
  Monitor "DisplayPort-4"
EndSection

Section "ServerLayout"
  Identifier "seatx"
  Screen 0 "Screen0" 
  Screen 1 "Screen1" LeftOf "Screen0"
  Screen 2 "Screen2" RightOf "Screen0"
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
  Option "AutoAddGPU" "off"
  Option "AutoAddDevices" "false"
EndSection

答案1

感谢您提供额外信息。听起来好像您在额外尝试后成功解决了渲染问题,并且没有提到键盘(这是主要的标题问题),那么您的新更改也解决了这个问题吗?多座位主要是我在这里经历过的,这似乎也是唯一未解决的问题,所以这是我的答案:

由于多座位是您的最终目标,我建议当时完全跳过 xorg.conf 文件。 xorg.conf 是让多座工作的最困难的方法。你说你安装了 Ubuntu,它预装了 systemd,其中包含 loginctl 实用程序。您只需使用几个命令即可使用 loginctl 设置席位。

为了保持这个答案的简洁,我将遵循 Debian 的 wiki“Multi_Seat_Debian_HOWTO”(我是一名编辑)以获得更深入的说明。 Ubuntu 基于 Debian,所以都是一样的。

或者您也可以使用我的 EasySeats 程序来创建座位。

希望现在可以将其标记为已回答/已解决。不幸的是,我没有足够的声誉来首先提出另一个单独的问题作为附加评论。我稍后会回来查看以确保一切正常。

相关内容