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 1344 768 769 772 795 -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 2015年

私が得る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 2017

6

virtualboxでArchを実行するときにも同じ問題が発生しました。より多くのビデオメモリを割り当てると、この問題が解決するようです。

ここに画像の説明を入力してください


多くの試みが失敗した後、これは最終的に私のために働いた。
タマネギ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.