Android-x86 on VirtualBox

902 views
Skip to first unread message

Keegan Collie

unread,
Nov 9, 2019, 2:08:35 AM11/9/19
to Android-x86
I have got android-x86_64-7.1-r3 guest running on VirtualBox 6.0.14 on Windows 10 host.  First I will describe how I did that, and then I have a question that perhaps someone can help me with.

The "routine" installation procedure booted Android to Linux shell, not to Android GUI.  Looking on the web, I saw that people had been reporting this for years, and offering a wide variety of solutions.  I tried the various solutions for solving the problem, and finally got it working with a combination of the web suggestions.  In VBox, I selected "other Linux 64 bit".  On the initial screen where the option is presented to boot as a Live CD or to install, I selected install and pressed tab to edit the selection.  At the end of the edit line, I added the parameter "nomodesel".  In the display settings for the new virtual machine, I changed the default "VMSVGA" to "VboxSVGA" and I changed the "Enable 3D Acceleration" checkbox to selected.  These things resulted in a normal Android GUI boot.  This was trial and error based on web suggestions, I cannot offer reasons behind these choices.

Since this problem has been reported on the web for years, I almost walked away from Android-x86 when I found that the problem is still present.  Perhaps some attention can be given to fixing this.

Now my question.  VirtualBox has an option called VBox Guest Additions.  This is code that one executes after the guest has been installed, and it adds features that improve the host/guest mouse handling and that add host/guest file-sharing features.  The Guest Addition feature does not install on Android-x86.  Since Guest Additions is part of VirtualBox, I am attempting to report this problem there.  My question here is, has someone encountered this and found a solution?

Mauro Rossi

unread,
Nov 9, 2019, 3:43:49 PM11/9/19
to Android-x86
Hi,
there is already a post on this topic, here some further explanations, updates and alternative solutions


On Saturday, November 9, 2019 at 8:08:35 AM UTC+1, Keegan Collie wrote:
I have got android-x86_64-7.1-r3 guest running on VirtualBox 6.0.14 on Windows 10 host.  First I will describe how I did that, and then I have a question that perhaps someone can help me with.

The "routine" installation procedure booted Android to Linux shell, not to Android GUI.  Looking on the web, I saw that people had been reporting this for years, and offering a wide variety of solutions.  I tried the various solutions for solving the problem, and finally got it working with a combination of the web suggestions.  In VBox, I selected "other Linux 64 bit".  On the initial screen where the option is presented to boot as a Live CD or to install, I selected install and pressed tab to edit the selection.  At the end of the edit line, I added the parameter "nomodesel".  In the display settings for the new virtual machine, I changed the default "VMSVGA" to "VboxSVGA" and I changed the "Enable 3D Acceleration" checkbox to selected.  These things resulted in a normal Android GUI boot.  This was trial and error based on web suggestions, I cannot offer reasons behind these choices.

nomodeset and VboxSVGA will both produce the same result that is Swiftshader SW rasterizer will kick in (llvmpipe in older androi-x86 releases, but still a sw rasterization)
vboxvideo driver is not supported in the GL API used by android-x86 (mesa), so no HW acceleration
VMSVGA was born to be compatible with vmwgfx and work with mesa gallium svga, but it does not work 
 

Since this problem has been reported on the web for years, I almost walked away from Android-x86 when I found that the problem is still present.  Perhaps some attention can be given to fixing this.

The problem is not in android-x86, meaning it is materially elsewhere:
1. There is no specific gallium driver implemented in mesa for vboxvideo driver in kernel (so no mesa gallium is a blocker for android-x86 implementation) 
2. The implementation supposed to work does not work (VMSVGA i.e. mesa gallium svga with vmwgfx)

Being VMSGVA born as a smart way to avoid developing "another vbox gallium driver" in mesa, the latter will not implemented, I guess.

 

Now my question.  VirtualBox has an option called VBox Guest Additions.  This is code that one executes after the guest has been installed, and it adds features that improve the host/guest mouse handling and that add host/guest file-sharing features.  The Guest Addition feature does not install on Android-x86.  Since Guest Additions is part of VirtualBox, I am attempting to report this problem there.  My question here is, has someone encountered this and found a solution?


Unfortunately even having hypothetically by Oracle the VBox Guest additions for Android it would not suffice, because it would deliver an X11 GL/DRI driver, while mesa implementation is required for android-x86
Since VMSVGA not working in VirtualBox 6.0 and also in latest VirtualBox 6.1.0beta,  it would make sense to open ticket to Oracle for VMSVGA "not working as it should with mesa gallium svga + vmwgfx kernel driver" 
I have already contacted  some months ago the Virtualbox VMSVGA stack developer I met in XDC2019, but there was no evolution

The other options you have the desired virtual HW acceleration are:
- Try a kernel 4.9 based ISO with VMware workstation player - which should work as it uses mesa gallium svga  - NOTE: kernel 4.19 does not work
- Try qemu windows (I've never tested, but I'm trying now for curiosity)

Mauro

Reply all
Reply to author
Forward
0 new messages