Forçando a resolução do monitor na VirtualBox VM no Linux Guest


10

Estou trabalhando em uma VM do VirtualBox 4 executando o Slackware-current. Eu adicionei um monitor externo e estou tentando configurar os dois para executar em suas resoluções nativas, mas não estou tendo sorte.

Estou seguindo as instruções descritas nesta página .

Mas não consigo passar da etapa em que adiciono um novo modo de monitor, ou seja:

xrandr --addmode VBOX1 1600x1200_60.00

Quando executo isso, recebo uma mensagem de erro:

X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 151 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 20
Current serial number in output stream: 21

Passei por vários fóruns, instalei a versão mais recente do VirtualBox4 e instalei os utilitários Guest OS Runtime.

Também assegurei que meu monitor virtual possa lidar com isso, ou seja: xrandr | grep -i maximum

rendimentos:

minimum 64 x 64, current 800 x 600, maximum 32000 x 32000

Alguém mais encontrou algo semelhante?

Respostas:


9

Eu mesmo encontrei esse problema exato.

Primeiro, na maioria dos guias, você geralmente faz o seguinte:

  1. Especifique uma resolução de monitor e forneça-a a gtf:
    gtf 1024 768 60(obtenha as informações da Modeline para resolução de 1024x768 a 60Hz).
    No meu caso, produz:

    # 1024x768 a 60,00 Hz (GTF) hsync: 47,70 kHz; pclk: 64.11 MHz Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync + Vsync

  2. Crie o novo modo:
    xrandr --newmode "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 (NÃO inclua o final -HSync +Vsync. Alguns guias dizem para você fazer isso, mas isso interrompe a configuração por algum motivo).

  3. Agora você deve poder adicionar o modo a uma nova exibição:
    xrandr --addmode VBOX0 1024x768_60.00

  4. Defina o novo modo para o dispositivo: xrandr --output VBOX0 --mode 1024x768_60.00

Se a etapa 3 falhar ainda (essas etapas funcionam na tela do meu laptop que é 1680x1050, mas por algum motivo não no meu monitor externo que suporta 1600 x 1200. Essas etapas funcionam em resoluções de até 1280x1024 para o meu monitor externo. Estranho), você pode ainda tente deixar o xrandr usar o automodo. No meu caso, permitiu que a tela do meu laptop e o monitor externo funcionassem perfeitamente. O script que eu uso está anexado abaixo:

#!/bin/bash

# Script to automatically resize virtual monitors in VirtualBox

# Start the server
sudo killall VBoxService
sleep 1
sudo VBoxService
sleep 1

# Start the client service
VBoxClient-all

# Get the modeline information we want for the following resolutions:
# 1680x1050@60.00Hz (Laptop display)
RES0="1680 1050 60"
# 1280x1024@60Hz (External monitor)
RES1="1280 1024 60"

# Setup mappings for physical to virtual monitors
MAP0="VBOX0"
MAP1="VBOX1"

# Generate settings
SETTINGS0=$( gtf $RES0 | grep Modeline | cut -d ' ' -f4-16 )
SETTINGS1=$( gtf $RES1 | grep Modeline | cut -d ' ' -f4-16 )

# Get name of modelines from settings
NAME0=$( echo $SETTINGS0 | cut -d ' ' -f1 )
NAME1=$( echo $SETTINGS1 | cut -d ' ' -f1 )

# Echo settings
echo "Modeline for Display 0 ($NAME0): $SETTINGS0"
echo "Modeline for Display 1 ($NAME1): $SETTINGS1"

# Create the new modelines via xrandr
xrandr --newmode $SETTINGS0
xrandr --newmode $SETTINGS1

# Add the newly created modelines to devices
xrandr --addmode $MAP0 $NAME0
xrandr --addmode $MAP1 $NAME1

# Finally, enable the new modes
xrandr --output $MAP0 --mode $NAME0
xrandr --output $MAP1 --mode $NAME1

# Extra: Attempt to run "auto" mode on the external monitor
# This is out last-ditch effort (which worked in this case) to get it running at
# 1600x1200 instead of 1280x1024 :)
xrandr --output $MAP1 --auto --above $MAP0

3
xrandr --addmode VBOX0 "1600x900_60.00" fornece o seguinte erro: Falha ao obter o tamanho da gama para o padrão de saída. não é possível encontrar a saída "VBOX0"
stiv

Eu receboxrandr --newmode $SETTINGS0 X Error of failed request: BadRequest (invalid request code or no such operation) Major opcode of failed request: 149 (RANDR) Minor opcode of failed request: 25 (RRGetScreenResourcesCurrent) Serial number of failed request: 11 Current serial number in output stream: 11
moodboom 01/08/19

6

Eu tive o mesmo problema ao executar o Arch no virtualbox. A alocação de mais memória de vídeo parece resolver esse problema para mim.

insira a descrição da imagem aqui


Depois de muitas tentativas frustradas, isso finalmente funcionou para mim.
Cebola
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.