web-dev-qa-db-ja.com

LinuxGuestでVirtualBox VM)でモニターの解像度を強制する

私はVirtualBox4で作業していますVM Slackware-currentを実行しています。外部モニターを追加し、両方をネイティブ解像度で実行するように設定しようとしていますが、うまくいきません。 。

私はフォローしています このページに記載されている手順

しかし、新しいモニターモードを追加するステップを通過することはできません。

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の最新バージョンをインストールし、Guest OSRuntimeユーティリティをインストールしました。

また、仮想ディスプレイでこれを処理できることも確認しました。つまり、xrandr | grep -i maximum

利回り:

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

他の誰かが同様の何かに遭遇しましたか?

10

私はこの正確な問題に自分で遭遇しました。

まず、ほとんどのガイドでは、通常、次のことを行います。

  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 772795 -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:
# [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

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

enter image description here

6
Ashoka Lella