web-dev-qa-db-fra.com

Forcer la résolution du moniteur dans VirtualBox VM sur Linux invité

Je travaille dans une VirtualBox 4 VM exécutant slackware-courant. J'ai ajouté un moniteur externe et tente de les installer à la fois pour exécuter leurs résolutions natives, mais je n'ai pas de chance .

Je suis suivant les instructions énoncées sur cette page .

Mais je ne peux pas dépasser l'étape où j'ajoute un nouveau mode moniteur, c'est-à-dire:

xrandr --addmode VBOX1 1600x1200_60.00

Quand j'exécute cela, je reçois un message d'erreur:

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

J'ai parcouru un certain nombre de forums, installé la dernière version de Virtualbox4 et j'ai installé les utilitaires de Guest OS Runtime.

J'ai également veillé à ce que mon affichage virtuel puisse gérer cela, c'est-à-dire: xrandr | grep -i maximum

rendement:

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

Quelqu'un d'autre a-t-il rencontré quelque chose de similaire?

10

J'ai rencontré ce problème exact moi-même.

Premièrement, dans la plupart des guides, vous effectuez généralement ce qui suit:

  1. Spécifiez une résolution de surveillance, puis fournissez-la à GTF:
    [.____] gtf 1024 768 60 (Obtenez les informations de modélisation pour la résolution 1024x768 à 60Hz).
    [.____] Dans mon cas, il donne:

    # 1024x768 @ 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. Créer le nouveau mode:
    [.____] xrandr --newmode "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 (N'incluez pas le suivi -HSync +Vsync. Certains guides vous disent de le faire, mais cela brisera la configuration pour une raison quelconque).

  3. Maintenant, vous devriez être capable d'ajouter le mode à un nouvel affichage:
    [.____] xrandr --addmode VBOX0 1024x768_60.00

  4. Définissez le nouveau mode pour le périphérique: xrandr --output VBOX0 --mode 1024x768_60.00

Si l'étape 3 a échoué encore (ces étapes fonctionnent pour mon écran portable 1680x1050, mais pour une raison quelconque de mon moniteur externe qui prend en charge 1600x1200. Ces étapes fonctionnent pour les résolutions jusqu'à 1280x1024 pour mon moniteur externe cependant. Bizarre), vous pouvez. Essayez toujours de laisser Xrandr utiliser auto mode. Dans mon cas, cela m'a permis d'avoir mon écran portable et mon moniteur externe fonctionnant parfaitement. Le script que j'utilise est attaché ci-dessous:

#!/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:
# [email protected] (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
9
Cloud

J'ai eu le même problème lors de l'exécution d'une arche sur Virtualbox. L'attribution de plus de mémoire vidéo semble résoudre ce problème pour moi.

enter image description here

6
Ashoka Lella