Memaksa resolusi monitor dalam VirtualBox VM di Linux Guest

10

Saya bekerja di VM VirtualBox 4 yang menjalankan Slackware-current. Saya telah menambahkan monitor eksternal, dan saya mencoba mengatur keduanya untuk berjalan dalam resolusi asli mereka, tetapi saya tidak berhasil.

Saya mengikuti instruksi yang ditetapkan pada halaman ini .

Tapi saya tidak bisa melewati langkah di mana saya menambahkan mode monitor baru, yaitu:

xrandr --addmode VBOX1 1600x1200_60.00

Ketika saya menjalankannya, saya mendapatkan pesan kesalahan:

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

Saya telah melalui sejumlah forum, menginstal versi terbaru VirtualBox4, dan menginstal utilitas Guest OS Runtime.

Saya juga memastikan bahwa tampilan virtual saya dapat menangani ini, yaitu: xrandr | grep -i maximum

hasil:

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

Adakah orang lain yang mengalami hal serupa?

Sakit Bass Laut Tempered
sumber

Jawaban:

9

Saya sendiri pernah mengalami masalah ini.

Pertama, di sebagian besar panduan, Anda biasanya melakukan hal berikut:

  1. Tentukan resolusi monitor, kemudian berikan ke gtf:
    gtf 1024 768 60(dapatkan informasi Modeline untuk resolusi 1024x768 pada 60Hz).
    Dalam kasus saya, ini menghasilkan:

    # 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. Buat mode baru:
    xrandr --newmode "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 (JANGAN menyertakan trailing -HSync +Vsync. Beberapa panduan memberitahu Anda untuk melakukan ini, tetapi itu akan merusak konfigurasi karena beberapa alasan).

  3. Sekarang Anda harus dapat menambahkan mode ke tampilan baru:
    xrandr --addmode VBOX0 1024x768_60.00

  4. Tetapkan mode baru untuk perangkat: xrandr --output VBOX0 --mode 1024x768_60.00

Jika langkah 3 masih gagal (langkah-langkah ini berfungsi untuk layar laptop saya yang 1680x1050, tetapi karena beberapa alasan tidak untuk monitor eksternal saya yang mendukung 1600x1200. Langkah-langkah ini berfungsi untuk resolusi hingga 1280x1024 untuk monitor eksternal saya. Aneh), Anda dapat masih mencoba membiarkan automode penggunaan xrandr . Dalam kasus saya, itu memungkinkan saya untuk membuat layar laptop dan monitor eksternal saya bekerja dengan sempurna. Script yang saya gunakan terlampir di bawah ini:

#!/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
Awan
sumber
3
xrandr --addmode VBOX0 "1600x900_60.00" memberi saya galat berikut: Gagal mendapatkan ukuran gamma untuk keluaran default. tidak dapat menemukan output "VBOX0"
stiv
Saya mendapatkanxrandr --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

Saya memiliki masalah yang sama ketika menjalankan Arch di virtualbox. Mengalokasikan lebih banyak Memori Video tampaknya menyelesaikan masalah ini untuk saya.

masukkan deskripsi gambar di sini

Ashoka Lella
sumber
Setelah banyak usaha yang gagal, ini akhirnya berhasil untuk saya.
Bawang