Примушування роздільної здатності монітора у VirtualBox VM на Linux Guest


10

Я працюю у VirtualBox 4 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 та встановив утиліти Runtime Guest OS Runtime.

Я також переконався, що мій віртуальний дисплей може це впоратися, тобто: xrandr | grep -i maximum

врожайність:

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

Хтось ще стикався з чимось подібним?

Відповіді:


9

Я сам стикався з цією точною проблемою.

По-перше, у більшості посібників зазвичай ви робите наступне:

  1. Вкажіть роздільну здатність монітора та надайте йому gtf:
    gtf 1024 768 60(отримайте інформацію Modeline для роздільної здатності 1024x768 на 60 ГГц ).
    У моєму випадку це дає:

    # 1024x768 при 60.00 Гц (GTF), синхронізація: 47,70 кГц; pclk: 64.11 МГц 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

Я отримую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

У мене була така ж проблема при запуску Arch на virtualbox. Виділення більше відеопам'яті, здається, вирішує цю проблему для мене.

введіть тут опис зображення


Після багатьох невдалих спроб це, нарешті, спрацювало для мене.
Цибуля
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.