Linux 게스트의 VirtualBox VM에서 모니터 해상도 강제


10

Slackware-current를 실행하는 VirtualBox 4 VM에서 작업하고 있습니다. 외부 모니터를 추가했으며 둘 다 기본 해상도로 실행되도록 설정하려고 시도했지만 운이 없습니다.

이 페이지에 명시된 지침을 따르고 있습니다.

그러나 새 모니터 모드를 추가하는 단계를 통과 할 수 없습니다.

xrandr --addmode VBOX1 1600x1200_60.00

그것을 실행할 때 오류 메시지가 나타납니다.

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

여러 포럼을 살펴보고 최신 버전의 VirtualBox4를 설치했으며 게스트 OS 런타임 유틸리티를 설치했습니다.

또한 내 가상 디스플레이가이를 처리 할 수 ​​있는지 확인했습니다. xrandr | grep -i maximum

수율 :

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

다른 사람이 비슷한 것을 겪었습니까?

답변:


9

나는이 정확한 문제를 직접 경험했다.

먼저 대부분의 안내서에서 일반적으로 다음을 수행합니다.

  1. 모니터 해상도를 지정한 다음 gtf :에 제공하십시오
    gtf 1024 768 60(60Hz에서 1024x768 해상도에 대한 Modeline 정보 얻기).
    내 경우에는 다음과 같이 나타납니다.

    # 1024x768 @ 60.00 Hz (GTF) hsync : 47.70 kHz; pclk : 64.11 MHz Modeline "1024x768_60.00"64.11 1024 1080 1184 1344768768772772795 -HSync + Vsync

  2. 새 모드를 작성하십시오
    xrandr --newmode "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 (후행을 포함하지 마십시오 -HSync +Vsync. 일부 안내서는이를 수행하도록 지시하지만 어떤 이유로 구성이 중단됩니다).

  3. 이제 새로운 디스플레이에 모드를 추가 할 수 있습니다 :
    xrandr --addmode VBOX0 1024x768_60.00

  4. 장치의 새 모드를 설정하십시오. xrandr --output VBOX0 --mode 1024x768_60.00

3 단계가 여전히 실패하면 (이 단계는 1680x1050 인 랩탑 화면에서는 작동하지만 1600x1200을 지원하는 외부 모니터에서는 작동하지 않습니다.이 단계는 외부 모니터의 경우 최대 1280x1024 해상도에서 작동합니다.) 여전히 xrandr이 auto모드를 사용하도록 시도 하십시오. 필자의 경우 랩톱 화면과 외부 모니터가 완벽하게 작동하도록했습니다. 내가 사용하는 스크립트는 다음과 같습니다.

#!/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"은 다음과 같은 오류를 발생시킵니다. 출력 기본값으로 감마 크기를 가져 오지 못했습니다. 출력 "VBOX0"을 찾을 수 없음
stiv

나는 얻는다xrandr --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

6

virtualbox에서 Arch를 실행할 때도 같은 문제가있었습니다. 더 많은 비디오 메모리를 할당하면이 문제가 해결되는 것 같습니다.

여기에 이미지 설명을 입력하십시오


많은 시도가 실패한 후에 마침내 이것이 효과가있었습니다.
양파
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.