B-L*_*ode 10 debian x11 nvidia
我想问一下是否有人想添加带有 Nvidia 专有驱动程序的虚拟显示器。以前,我在此解决方案中使用了 Intel 卡,效果很好:将 VIRTUAL 输出添加到 Xorg。
现在我想切换到新硬件,没有英特尔卡。VNC-Server 中提到的作为扩展屏幕的虚拟 X11 监视器的解决方案在我的情况下不起作用。当我想将模式添加到输出时,xrandr 会引发错误。
xrandr --newmode test 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode "DP-1" test
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
Run Code Online (Sandbox Code Playgroud)
基本数据: 硬件:HP ZBook 15 G3,为独立显卡配置(Optimus 不工作!)软件:Debian 10.0.2;内核:4.19.0,Nvidia-Driver-Module:xserver-xorg-video-nvidia-legacy-390xx
如果你问,我为什么这样做:我使用一个软件通过以太网将虚拟屏幕传输到另一台机器,以实现两台笔记本的双显示器。( https://github.com/B-LechCode/sooScreenShare )
更新:现在有一个建议的解决方案适用于我的机器,但它无法添加新模式,如 1920x1200。也许有人有想法?
我有一个适合我的解决方案,尽管它缺少选择完全任意分辨率的能力。需要明确的是,这仅适用于专有的 nvidia 驱动程序;开源 nouveau 驱动程序的工作方式与其他显卡驱动程序不同。
简短的版本是:使用ConnectedMonitor
nvidia xorg.conf Screen 选项来激活除主显示器之外的额外输出。
这是长版本:
运行xrandr --query
以获取主要输出的名称以及计划用于虚拟屏幕的未连接输出的名称。例如,我得到以下输出:
LVDS-0接初级1440x900+0+0(正常左倒右x轴y轴)331mm x 207mm [各种监控模式已省略] DP-0断开(正常左倒右x轴y轴) DP-1断开(正常左倒右x轴y轴) DP-2断开(正常左倒右x轴y轴) DP-3断开(正常左倒右x轴y轴) DP-4断开(正常左倒右x轴y轴) DP-5断开(正常左倒右x轴y轴)
所以就我而言,笔记本电脑的屏幕是LVDS-0
可用DP-0
的DP-5
。和你一样,我会选择DP-1
虚拟屏幕。
您将需要添加 xorg.conf 屏幕配置以及供屏幕使用的设备部分。它可以在 xorg 能找到它的任何地方。我把我的放进去/etc/X11/xorg.conf.d/30-virtscreen.conf
。在该文件中,最小设置是:
“设备”部分 标识符“nvidiagpu” 驱动程序“nvidia” 结束部分 “屏幕”部分 标识符“nvidiascreen” 设备“nvidiagpu” 选项“ConnectedMonitor”“LVDS-0,DP-1” 结束部分
这告诉驱动程序使用输出DP-1
,即使它没有检测到连接到它的监视器。请注意,如果您想使用您的笔记本电脑显示器(或真实的物理显示器),您也必须列出它!如果仅列出虚拟输出,驱动程序将不会激活任何其他输出,即使它检测到连接到它们的显示器也是如此。
现在重新启动 X。您应该看到两个活动监视器以及xrandr
其他显示查询程序。
在我的系统上,新激活的虚拟输出有多种可用分辨率。我可以选择其中任何一个(例如 via xrandr --output DP-1 --mode 1600x900
),虚拟输出将自行调整大小。但是,我无法添加新模式(例如,如果我想要 1920x1080 分辨率)。这仍然给我“无效的参数属性”错误。幸运的是,我可以接受我可以使用的模式。幸运的话,您还会获得一些有用的预设。