Wechseln Sie die Bildschirmauflösung für Android x86

71

Ich möchte Android-x86 2.2 als Emulator unter Windows 7 verwenden. Ich habe VirtualBox und die ISO heruntergeladen und eine virtuelle Maschine damit erstellt, kann aber die Auflösung nicht auf 320x480oder ähnliches einstellen .

Das folgende Tutorial " Verwenden des Android-x86-Ports als Emulator " empfiehlt das Einfügen:

<ExtraDataItem name="CustomVideoMode2" value="320x480x16" />

zu meiner .vboxAkte und ich habe es getan. Dann habe ich UVESA_MODE=320x480und vga=askzur Boot-Konfiguration hinzugefügt . Wenn es startet, muss ich drücken Enter, um die verfügbaren Optionen anzuzeigen, aber es gibt keine 320x480unter ihnen. Wie kann ich es zum Laufen bringen?

gberes
quelle
Könnten Sie bitte mitteilen, mit welcher Methode für Sie gearbeitet hat
danke

Antworten:

132

Um die Bildschirmauflösung von Android-x86 in VirtualBox zu ändern, müssen Sie:

  1. Benutzerdefinierte Bildschirmauflösung hinzufügen:
    Android <6.0:

    VBoxManage setextradata "VM_NAME_HERE" "CustomVideoMode1" "320x480x16"
    

    Android> = 6.0:

    VBoxManage setextradata "VM_NAME_HERE" "CustomVideoMode1" "320x480x32"
    
  2. Finden Sie heraus, was der Hex-Wert für Sie ist VideoMode:
    2.1. Starten Sie die VM
    2.2. In GRUB - Menü eingeben a(Android> = 6.0: e)
    2.3. Im nächsten Bildschirm anhängen vga=askund Enter
    2.4 drücken . Finden Sie Ihre Auflösung und notieren / merken Sie sich den 'Hex'-Wert für die ModeSpalte

  3. Übersetzen Sie den Wert in Dezimalschreibweise (z. B. 360hexadezimal 864in Dezimalzahl).

  4. Gehen Sie zu menu.lstund ändern Sie es:
    4.1. Wählen Sie im GRUB-Menü die Option Debug Mode
    4.2. Geben Sie Folgendes ein:

    mount -o remount,rw /mnt  
    cd /mnt/grub  
    vi menu.lst
    

    4.3. Addiere vga=864(wenn dein 'Hex'-Wert ist 360). Jetzt sollte es so aussehen:

    Kernel /android-2.3-RC1/kernel quiet root = / dev / ram0 androidboot_hardware = eeepc acpi_sleep = s3_bios, s3_mode DPI = 160 UVESA_MODE = 320x480 SRC = / android-2.3-RC1 SDCARD = / data / sdcard.img vga = 864

    4.4. Speichern Sie es:

    :wq
    
  5. Aushängen und neu starten:

    cd /
    umount /mnt
    reboot -f
    

Hoffe das hilft.

surlac
quelle
1
Perfekt, das hat bei mir funktioniert ... Prost. Übrigens hatte ich nicht s3_mode DPI=160 UVESA_MODE=320x480, sondern war nur s3_mode, also habe ich es hinzugefügt ... Nur für den Fall, dass jemand es verpasst!
Mahendra Liya
Ich hatte auch nicht "DPI = 160 UVESA_MODE = 320x480" und ohne es konnte ich ti nicht zum Arbeiten bringen - fügte es hinzu und jetzt funktioniert es wie ein Zauber.
Morvael
2
Ich habe es geschafft, aber wenn ich auf 24-Bit- oder 32-Bit-Farbtiefe wechsle, funktioniert es nicht. Ist ein solches Setup überhaupt möglich (ich denke, dass 16-Bit in diesem Beispiel absichtlich gemacht wird ...)?
Ivan Ičin
2
"CustomVideoMode1" muss wörtlich eingegeben werden. (nicht in irgendetwas umbenennen)
Pawel
1
Für alle, die nach 2015 zu dieser Seite navigieren: Neuere Versionen von Android x86 (z. B. 6.0) scheinen eine Bittiefe von 32 statt 16 anzunehmen. Sollte also 320x480x16geändert werden 320x480x32(andernfalls erhalten Sie böse visuelle Effekte). Außerdem ascheint der Schlüssel in Grub nicht mehr zu funktionieren. Schlagen Sie estattdessen zu und fügen Sie Ihre Argumente am Ende der Zeile hinzu. UVESA_MODEscheint genug zu sein, vgawird nicht benötigt.
Corwin.amber
33

Nach meiner Erfahrung reicht es aus, die folgenden zusätzlichen Startoptionen zu verwenden:

UVESA_MODE=320x480 DPI=160

Keine Notwendigkeit, eine VGA-Definition hinzuzufügen. Achten Sie auf den DPI-Wert! Wenn Sie größer sind, werden Ihre Symbole größer.

Um die vorherigen Startoptionen hinzuzufügen, wechseln Sie in den Debug-Modus (während der Auswahl des Grub-Menüs).

mount -o remount,rw /mnt
vi /mnt/grub/menu.lst

Bearbeiten Sie nun in dieser Zeile:

kernel /android-2.3-RC1/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-2.3-RC1 SDCARD=/data/sdcard.img UVESA_MODE=320x480 DPI=160

Starten Sie neu

sancho21
quelle
1
Dies funktioniert, wenn Ihre gewünschte Auflösung bereits von VirtualBox unterstützt wird.
amram99
9

In VirtualBox sollten Sie eine benutzerdefinierte Auflösung über den folgenden Befehl hinzufügen:

VBoxManage setextradata "VM name" "CustomVideoMode1" "800x480x16"

anstatt eine .vboxDatei zu bearbeiten .

Diese Lösung funktioniert gut für mich!

Nikita Koksharov
quelle
2

Ich möchte hier ein kleines Problem klären. Sie müssen CustomVideoMode1 vor CustomVideoMode2 usw. verwenden. VirtualBox erkennt diese Modi in der Reihenfolge ab 1 und wenn Sie eine Nummer überspringen, erkennt es nichts an oder über die von Ihnen übersprungene Nummer hinaus. Das hat mich überrascht.

DavidM
quelle
Guter Tipp, ich hatte auch dieses Problem
Anzeigename
1

Ich benutze Ubuntu 13.04 als Host. Dieses übersichtliche Tutorial funktioniert:

https://software.intel.com/en-us/blogs/2011/10/11/getting-started-on-android-for-x86-step-by-step-guide-on-setting-up-android- 2223-für-x86-Testumgebung-in-Oracle-Virtualbox

Gehen Sie wie folgt vor, um weitere Auflösungen hinzuzufügen:

  • Starten Sie Ihre gewünschte VM bei Oracle Virtualbox
  • Am Terminal ausführen:

    ~# VBoxManage list runningvms
    
  • Überprüfen Sie Ihren VM-Namen

  • Neue Auflösung hinzufügen:

    ~# VBoxManage setextradata "[YourVmNameHere]" "CustomVideoMode1" "800x480x16"
    
  • Finden Sie im obigen Tutorial: "Testen Sie verschiedene Bildschirmgrößen und Auflösungen"

Marcelo Amorim
quelle
1

Folgendes wurde in Virtualbox-5.0.24, Android_x86-4.4-r5, überprüft. Sie erhalten einen Bildschirm ähnlich einem 8-Zoll-Tisch. Sie können mit dem xxx in DPI = xxx herumspielen, um die Auflösung zu ändern. Xxx = 100 macht es sehr klein, um genau mit einem echten Tisch übereinzustimmen, aber es kann beim Arbeiten zu klein sein mit Android in Virtualbox.

VBoxManage setextradata <VmName> "CustomVideoMode1" "440x680x16"

Mit dem folgenden an Android-Kernel angehängten cmd:

UVESA_MODE=440x680 DPI=120
Asif Hobby
quelle
1

OK, vielleicht gibt es mehr wie mich, die keine UVESA_MODE- oder S3-Referenzen in ihrem menu.lst haben. Führen Sie zunächst die Prozedur "VBoxManage setextradata" VM_NAME_HERE "" CustomVideoMode1 "" 320x480x32 "" über das Terminal aus. Mein benutzerdefinierter Videomodus war "1920x1089x32" ... (Entschuldigung, ich verwende Linux, die Prozedur funktioniert unter Linux) für Windows. Fügen Sie einfach .exe zu VBoxManage hinzu. Sehen Sie sich den ersten Eintrag wie zuvor beschrieben an. Dies ist der Menüeintrag, den Sie verwenden würden normalerweise booten. Normalerweise benutze ich Nano, da es für mich einfacher ist. Und Nano ist auch in Android> 6 vorhanden. (andere Version nicht ausprobiert)

Verfahren:

  • VM starten, wählen Sie die Option "Debug-Modus" zum Booten. Wenn Sie nach einer Weile die Eingabetaste drücken, wird die Eingabeaufforderung angezeigt
  • Wechseln Sie in das Verzeichnis / mnt / grub "cd / mnt / grub".
  • Verzeichnisinhalt mit "ls" auflisten (nicht erforderlich, aber ich möchte sehen, wo ich bin)
  • Kopieren Sie menu.lst (machen Sie diese Standardprozedur, bevor Sie etwas ändern) "cp menu.lst menu.lst.bak" (oder eine beliebige Erweiterung, die Sie für die Sicherung verwenden möchten)
  • öffne menu.lst, zB: "nano menu.lst".
  • Suchen Sie im ersten Menüeintrag (normalerweise gibt es 4, beginnend mit den Titeln, die Sie im Startmenü sehen) den Eintrag "Kernel", der mit dem Wort "leise" endet.
  • Ersetzen Sie "quiet" durch "vga = ask", wenn Sie jedes Mal beim Booten nach der Bildschirmauflösung gefragt werden möchten, oder "vga = (HEX-Wert)", wie in surlacs Antwort zu sehen.
  • Beenden und speichern, vergessen Sie nicht, es tatsächlich zu speichern! Überprüfen Sie dies noch einmal. (Strg + X, JA, Eingabe für Nano)
  • Starten Sie die VM mit "IHR HOST-SCHLÜSSEL" + "R" neu (normalerweise "rechte Steuerung" + "R").

Hoffe, das hilft jedem, da es mein Problem gelöst hat.

edit: Ich sehe, dass ich diesen Artikel an der falschen Stelle platziert habe, da es sich bei der ursprünglichen Frage um eine andere Android-Version handelt. Weiß jemand, wie man es an einen geeigneten Ort bringt?

Marcellus
quelle
0

Stellen Sie die Auflösung in Android x86 ein

Libvirt / qemu

Vorübergehend

  • Hinzufügen nomodesetund vga=askzu den Kernel- Ladeoptionen des Android x86-Grub-Eintrags;
  • Finden Sie Ihre beste Auflösung und notieren Sie sich den von Ihnen verwendeten Code.

Permanent

  • Konvertieren Sie diesen Code von hex in decimal;
  • Fügen Sie vga=decimal_codezu Ihrem bevorzugten Eintrag in hinzu /mnt/grub/menu.lst(gemountet, wenn Android im Debug-Modus gestartet wird ).
Dagobert Duck
quelle