使用 xrandr 伪造屏幕

使用 xrandr 伪造屏幕

我正在尝试获得一个 2+1 三头设置,其中有两个物理连接的显示器和一个运行 Debian 的旧 Mac(如果需要,可以变成其他任何版本)作为 vnc 显示器。我运行的是 18.04,我的桌面环境是 GNOME。

问题是,我无论如何都不能设置一个假的 xrandr 屏幕。我不是有一个VIRTUAL1输出,而重新利用未连接的输出的经典技巧失败了:

gegaine@puppisrausku:~$ cvt 1920 1200
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync
gegaine@puppisrausku:~$ xrandr
Screen 0: minimum 8 x 8, current 3280 x 1080, maximum 16384 x 16384
DVI-I-0 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 406mm x 229mm
   1360x768      60.02*+
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+1360+0 (normal left inverted right x axis y axis) 598mm x 336mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       59.94  
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
  3840x1080_60.00 (0x2fa) 346.000MHz -HSync +VSync
        h: width  3840 start 4088 end 4496 total 5152 skew    0 clock  67.16KHz
        v: height 1080 start 1083 end 1093 total 1120           clock  59.96Hz
gegaine@puppisrausku:~$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync
gegaine@puppisrausku:~$ xrandr --addmode DVI-I-1 1920x1200_60.00
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  41
  Current serial number in output stream:  42
gegaine@puppisrausku:~$

我正在运行 nvidia 闭源驱动程序,我的显卡介绍如下:

gegaine@puppisrausku:~$ lspci |grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK106 [GeForce GTX 660] (rev a1)

我尝试了多种直接修改 xorg conf 文件来引入虚拟设备的方法。但都没有产生任何可衡量的效果。如果有谁愿意帮助我,我愿意尝试一下。我尝试了这些:

https://devtalk.nvidia.com/default/topic/585014/how-to-configure-x-server-to-work-headless-as-well-with-any-monitor-connected-/

未插入显示器时添加虚假显示

暂时放弃后,我也尝试过只增加显示尺寸并使用未映射的缓冲区空间来运行 x11vnc。据我所知,这是未定义的行为,因此使用起来太麻烦了。如果另一个驱动程序或任何黑客强制所有缓冲区保持一致,我也愿意尝试。

我还尝试了图形化 nvidia xorg 服务器配置工具中能找到的所有方法,但仍然无济于事。

相关内容