Adicione saída VIRTUAL ao Xorg

11

Quero criar uma saída virtual fictícia no meu servidor Xorg no Intel iGPU atual (no Ubuntu 16.04.2 HWE, com servidor Xorg versão 1.18.4). É semelhante ao Linux Mint 18.2, que um dos xrandrresultados mostra o seguinte:

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)
...

No Linux Mint 18.2, posso desligar a tela embutida ( eDP1) e ligá-la VIRTUAL1com qualquer modo arbitrário suportado pelo servidor X, anexar x11vncà minha tela principal e obter uma área de trabalho remota acelerada por GPU.

Mas no Ubuntu 16.04.2, esse não é o caso. A VIRTUAL*exibição não existe de todo xrandr. Além disso, os nomes de saída do xrandr da FYI são um pouco diferentes no Ubuntu 16.04.2, onde cada número é prefixado com a -. Por exemplo, eDP1no Linux Mint torna-se eDP-1no Ubuntu, HDMI1torna-se HDMI-1, e assim por diante.

Então, como adicionar a saída virtual no Xorg / xrandr?

E como o Linux Mint 18.2 e o Ubuntu 16.04.2 (que acredito usar exatamente o mesmo servidor Xorg, já que o LM 18.2 é baseado no Ubuntu, certo?) Podem ter configurações xrandr muito diferentes?

Usar xserver-xorg-video-dummynão é uma opção, porque a saída virtual não será acelerada pela GPU.

Paulus
fonte

Respostas:

14

Crie um 20-intel.confarquivo:

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

Adicione as seguintes informações de configuração ao arquivo:

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

Isso diz à GPU Intel para criar 2 monitores virtuais. Você pode alterar o número de acordo VirtualHeadscom suas necessidades.

Então saia e entre. Você deve ver VIRTUAL1e VIRTUAL2quando correr xrandr.

Observe que se você estava usando o driver de definição de modo anteriormente (que é o padrão moderno), a mudança para o driver intel fará com que os nomes dos monitores mudem de, por exemplo, HDMI-1ou DP-1para HDMI1ou DP1.

ooknosi
fonte
E isso também altera os nomes de exibição do xrandr para 'HDMI1' e 'eDP1' em vez de 'HDMI-1' e 'eDP-1', conforme o esperado!
Paulus
Fazer isso removeu minha HDMI1tela da lista de exibições, como mostra xrandr. Pode ser que isto interfere com as minhas configurações Nvidia X
BayesianBroccoli
Existe alguma maneira de fazer a mesma coisa com uma GPU Nvidia em vez da GPU Intel?
Benjamin Barrois