将虚拟输出添加到 Xorg

将虚拟输出添加到 Xorg

我想在当前 Intel iGPU 上的 Xorg 服务器上创建一个虚拟的虚拟输出(在 Ubuntu 16.04.2 HWE 上,Xorg 服务器版本为 1.18.4)。它与 Linux Mint 18.2 类似,其中xrandr输出之一显示以下内容:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
...
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
...
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
...

在 Linux Mint 18.2 中,我可以关闭内置显示器 ( ) 并以 X 服务器支持的任意模式eDP1打开显示器,连接到我的主显示器,我将获得 GPU 加速的远程桌面。VIRTUAL1x11vnc

但在 Ubuntu 16.04.2 中,情况并非如此。显示VIRTUAL*根本不存在xrandr。另外,仅供参考,xrandr 的输出名称在 Ubuntu 16.04.2 上有点不同,其中每个数字都以-.例如,eDP1在 Linux Mint 中变成eDP-1Ubuntu,HDMI1变成HDMI-1,等等。

那么,如何在Xorg/xrandr中添加虚拟输出呢?

为什么 Linux Mint 18.2 和 Ubuntu 16.04.2(我相信它使用完全相同的 Xorg 服务器,因为 LM 18.2 基于 Ubuntu,对吧?)可以有非常不同的 xrandr 配置?

使用xserver-xorg-video-dummy不是一个选项,因为虚拟输出不会由 GPU 加速。

答案1

创建一个20-intel.conf文件:

sudo vi /usr/share/X11/xorg.conf.d/20-intel.conf

在文件中添加以下配置信息:

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

这告诉 Intel GPU 创建 2 个虚拟显示器。您可以VirtualHeads根据需要更改数量。

然后注销并登录。当你跑步时你应该看到VIRTUAL1和。VIRTUAL2xrandr

请注意,如果您之前使用模式设置驱动程序(这是现代默认设置),则切换到英特尔驱动程序将导致显示器名称从例如HDMI-1or更改DP-1HDMI1or DP1

答案2

如果使用 启动时出现黑屏20-intel.conf,请30-virtscreen.conf使用以下内容创建一个:

# nvidia/nouveau/amdgpu device should be configured first before Intel GPU
Section "Device"
  Identifier "nvidiagpu0"
  Driver     "nvidia" # Because you are using Nvidia proprietary driver. Change to "nouveau" if you are using open source nouveau driver
EndSection

# Then configure intel internal GPU
Section "Device"
  Identifier "intelgpu0"
  Driver     "intel"
  Option     "VirtualHeads" "2"
EndSection

我在问题页面找到了这个解决方案kbumsik/VirtScreen Github 项目

答案3

Linux Mint 20 上的英特尔 HD 520 此处。

我可以在 xrandr 中看到 VIRTUAL1 和 VIRTUAL2,但是,我的系统最初启动到空白屏幕,并且我也无法在 Linux Mint 的显示管理器中看到虚拟显示器。

编辑此内容以添加另一种添加其他人想到的虚拟输出的方法:

https://github.com/kbumsik/VirtScreen/issues/16#issuecomment-865128729

相关内容