Como posso adicionar um monitor virtual com driver proprietário da Nvidia? Anteriormente, usei uma placa Intel com esta solução, que funcionou bem: Adicionar saída VIRTUAL ao Xorg .
Agora quero mudar para um novo hardware, sem uma placa Intel. A solução mencionada no VNC-Server como um monitor X11 virtual para expandir a tela não funciona no meu caso. Quando quero adicionar o modo a uma saída, xrandr
gera um erro.
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
Dados básicos:
- Hardware: HP ZBook 15 G3, configurado para gráficos discretos (Optimus não funciona!)
- Software: Debian 10.0.2; Kernel: 4.19.0, Nvidia-Driver-Module: xserver-xorg-video-nvidia-legacy-390xx
Se você perguntar, por que estou fazendo isso: eu uso um software para transferir a tela virtual para outra máquina via ethernet para conseguir dois monitores com dois notebooks. ( https://github.com/B-LechCode/sooScreenShare )
Atualização: agora existe uma solução proposta que funciona na minha máquina, mas não é possível adicionar novos modos como 1920x1200. Talvez alguém tenha uma ideia?
Eu tenho uma solução que funciona para mim, embora não tenha a capacidade de escolher resoluções completamente arbitrárias. Para ser claro, isso é apenas para o driver proprietário da nvidia; o driver nouveau de código aberto funciona de maneira diferente, assim como outros drivers de placa de vídeo.
A versão curta é: Use a
ConnectedMonitor
opção nvidia xorg.conf Screen para ativar a saída extra além do seu monitor principal.Aqui está a versão longa:
Execute
xrandr --query
para obter os nomes de sua saída primária e a desconectada que você planeja usar para a tela virtual. Por exemplo, recebo a seguinte saída:Então, no meu caso, a tela do laptop é e
LVDS-0
eu tenho disponível. Assim como você, vou optar pela tela virtual.DP-0
DP-5
DP-1
Você precisará adicionar uma configuração de tela xorg.conf, bem como uma seção Device para a tela usar. Isso pode estar em qualquer lugar que o xorg o encontre. coloquei o meu
/etc/X11/xorg.conf.d/30-virtscreen.conf
. Nesse arquivo, uma configuração mínima é:Isso diz ao driver para usar a
DP-1
saída mesmo que não detecte um monitor conectado a ela. Observe que você também deve listar o monitor do seu laptop (ou um monitor físico real), se quiser usá-lo! Se você listar apenas a saída virtual, o driver não ativará nenhuma outra saída, mesmo que detecte monitores conectados a elas.Agora reinicie o X. Você deverá ver dois monitores ativos com
xrandr
e outros programas de consulta de exibição.No meu sistema, a saída virtual recém-ativada tem várias resoluções disponíveis. Posso selecionar qualquer um deles (por exemplo, via
xrandr --output DP-1 --mode 1600x900
) e a saída virtual será redimensionada. Não posso, no entanto, adicionar novos modos (por exemplo, se eu quisesse uma resolução de 1920x1080). Isso ainda me dá o erro "atributos de parâmetro inválidos". Felizmente, posso viver com os modos disponíveis para mim. Com sorte, você também terá algo útil predefinido para você.https://askubuntu.com/a/803053/1568608 resolve o problema do asciiphil , mas você não pode alterar a resolução para, por exemplo, 1920x1080 (problema de atributos de parâmetro inválidos na resposta do asciiphil). Para resolver este problema basta adicionar a segunda opção na seção "Tela":
Se você quiser anexar uma tela virtual, basta usar
substituindo HDMI-0 por qualquer porta de exibição que você gostaria que sua placa gráfica usasse para a exibição virtual na seção "Tela" do seu xorg.conf. Adicionar as linhas a seguir desabilitará todas as verificações necessárias para permitir que você defina qualquer resolução não suportada em placas gráficas NVIDIA mais recentes. Na seção "Tela":
em seguida, adicione o modo usando os resultados de cvt e pronto! Se você ainda estiver tendo problemas para definir a resolução, você pode adicionar o ModeLine à sua seção Monitor e adicionar o modo à sua seção Display para carregá-lo. Exemplo mais completo:
e
Essas opções devem ser adicionadas a um arquivo de configuração que você gerou executando
nvidia-xconfig
e não são representativas de um arquivoxorg.conf
.