我有一个带有 2 个视频输出的显卡。我想运行 2 个实例xinit
并绘制 2 个不同的显示。我希望一台显示器输出到一个视频输出,另一台显示器输出到另一个视频输出。我运行的是 CentOS 6.4。我已经为两个视频输出正确设置了 xorg 文件,如果我运行 startX,我会看到它们都配置正确,其中一个是屏幕 0,另一个是屏幕 1。但是,如果我运行xinit -- :0.0
到一个显示器的输出,则此方法有效并显示在主监视器上。然后我跑向xinit -- :1.1
另一个显示器。这会触发第二个显示器正确显示,但第一个显示器随后完全空白。两个xinit
进程仍在运行。
xorg.conf 的设置使每个监视器都位于单独的屏幕上,而不是一个屏幕横跨两个屏幕。它们是 screen0 和 screen1。这是 xorg(我省略了键盘/鼠标部分):
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CoreMouse"
Option "Xinerama" "0"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 31.5 - 98.7
VertRefresh 50.0 - 85.0
Option "DPMS"
ModeLine "1440x900" 106.5 1440 1520 1672 1904 900 903 909 932 -hsync +vsync
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 31.5 - 98.7
VertRefresh 50.0 - 85.0
Option "DPMS"
ModeLine "1440x900" 106.5 1440 1520 1672 1904 900 903 909 932 -hsync +vsync
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 480"
Screen 0
Option "UseEDID" "false"
Option "UseEDIDFreqs" "false"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 480"
Screen 1
Option "UseEDID" "false"
Option "UseEDIDFreqs" "false"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stero" "0"
Option "metamodes" "1440x900"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BasicMosaic" "off"
Option "ModeValidation" "AllowNonEdidModes"
Subsection
Depth 24
Modes "1440x900"
EndSubsection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stero" "0"
Option "metamodes" "1440x900"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BasicMosaic" "off"
Option "ModeValidation" "AllowNonEdidModes"
Subsection
Depth 24
Modes "1440x900"
EndSubsection
EndSection
编辑:更多信息。结果它们都运行,但其中一个在 vt07 上,另一个在 vt08 上。如果我使用 CTRL+ALT+F7(或 F8),我可以交换哪个显示器显示和哪个显示器为空白,但其中一个始终为空白。我尝试添加到命令中以指定虚拟终端:xinit -- :0.0 vt07
和xinit -- :1.1 vt07
。但是当我这样做时,第二个将无法启动,并给出错误,无法找到任何屏幕。开始怀疑这是否是 xinit 的限制,可能是由于两个视频输出都来自单个显卡。
xinit
如何同时运行这两个例程?