Building support for Hyper-V?

81 views
Skip to first unread message

jayce...@yahoo.com

unread,
Apr 24, 2018, 6:50:24 PM4/24/18
to Android-x86
So the number of problems that can occur when trying to install Android-x86 in Hyper-V are numerous and fairly well known. Just to name a few:

1. Setup of x86 images can fail entirely, most often when attempting to install GRUB, but also elsewhere in the setup process
2. The default display settings fail, so the vga mode has to be set manually in GRUB (e.g. vga=892)
3. Mouse integration is pretty much non-existent. The user experience is rather awful and some apps are completely unusable.
4. Performance in recent releases (5.1, 6.0, 7.1) is terrible

Some of these issues have been reported here without much success in identifying root causes (e.g. installation hanging - most posts seem to get dropped with "cannot reproduce" type responses).

I think that these issues can be rather easily overcome. Mouse integration and performance I suspect can be fixed just by using the Hyper-V integration components for Linux (possibly ripped from another distro). Display settings can be updated with VESA defaults so that the UI loads. Setup errors shouldn't be hard to fix either.
I'm especially confident that these problems can easily be overcome since none of them are a problem with releases 4.4 and earlier.

I'd also like to set it up so that the emulated NIC in the VM connects to the Android's WiFi instead of cellular connection, though this may require writing a custom driver (or ripping one from the Visual Studio Android Emulator which is EOS), so this particular feature may be low priority.

I think Hyper-V is and should be a valid target for deploying Android-x86. Not only useful for hobbyists and enthusiasts, there's a significant developer community that relies on Hyper-V and every other Android Emulator available is incompatible with Hyper-V.

Unfortunately, I lack the *nix experience and skill to resolve these problems by myself, so I'm reaching out to the community to see if we can't combine our efforts.

Is there anyone here in this group who supports this effort and are willing to collaborate on fixing these problems to make Hyper-V fully supported and fully usable?

Chih-Wei Huang

unread,
May 2, 2018, 11:41:59 AM5/2/18
to Android-x86
Hi,
Thank you for the suggestions.
I just tried to setup the hyper-v on my
Windows 10 notebook to test the issues.
I noticed Hyper-V supports both legacy and UEFI
booting. I've tested both cases.

2018-04-25 6:50 GMT+08:00 jaycenornin via Android-x86
<andro...@googlegroups.com>:
> So the number of problems that can occur when trying to install Android-x86
> in Hyper-V are numerous and fairly well known. Just to name a few:
>
> 1. Setup of x86 images can fail entirely, most often when attempting to
> install GRUB, but also elsewhere in the setup process

I didn't see such an issue, either in legacy or UEFI booting.

> 2. The default display settings fail, so the vga mode has to be set manually
> in GRUB (e.g. vga=892)

Seems you used the legacy booting.
I can reproduce the issue with legacy booting.
The uvesafb failed to be loaded. Not sure why.
Fortunately we can enable the native hyperv fb driver
to avoid that. This was fixed in 7.1-r2.

In UEFI booting, the display is OK with
the EFI VGA driver.

> 3. Mouse integration is pretty much non-existent. The user experience is
> rather awful and some apps are completely unusable.

I'm not sure why mouse integration just works in 4.4
but fails in 7.1. Probably due to kernel driver or
inputflinger updates. Since the code has changed a lot,
it's hard to say what changes caused that.

Anyway, by disabling hid-hyperv driver, the mouse just works
but no mouse integration.

> 4. Performance in recent releases (5.1, 6.0, 7.1) is terrible

I don't agree the performance is terrible.
It's good enough for normal apps.

The graphics stack has been improved a lot since 4.4 to 7.1.
In 7.1 we have full GLES 2.0 (software rendering)
in 32-bit fb driver, while in 4.4 it's only 16-bit fb
without GLES 2.0 support.
So the performance comparison is non-sense.

> Some of these issues have been reported here without much success in
> identifying root causes (e.g. installation hanging - most posts seem to get
> dropped with "cannot reproduce" type responses).
>
> I think that these issues can be rather easily overcome. Mouse integration
> and performance I suspect can be fixed just by using the Hyper-V integration
> components for Linux (possibly ripped from another distro). Display settings
> can be updated with VESA defaults so that the UI loads. Setup errors
> shouldn't be hard to fix either.
> I'm especially confident that these problems can easily be overcome since
> none of them are a problem with releases 4.4 and earlier.
>
> I'd also like to set it up so that the emulated NIC in the VM connects to
> the Android's WiFi instead of cellular connection, though this may require
> writing a custom driver (or ripping one from the Visual Studio Android
> Emulator which is EOS), so this particular feature may be low priority.
>
> I think Hyper-V is and should be a valid target for deploying Android-x86.
> Not only useful for hobbyists and enthusiasts, there's a significant
> developer community that relies on Hyper-V and every other Android Emulator
> available is incompatible with Hyper-V.
>
> Unfortunately, I lack the *nix experience and skill to resolve these
> problems by myself, so I'm reaching out to the community to see if we can't
> combine our efforts.
>
> Is there anyone here in this group who supports this effort and are willing
> to collaborate on fixing these problems to make Hyper-V fully supported and
> fully usable?

You can test the just released 7.1-r2.

BTW, how to enable network of Hyper-V?
My network always shows "disconnected".
I don't see how to enable it.



--
Chih-Wei
Android-x86 project
http://www.android-x86.org
Reply all
Reply to author
Forward
0 new messages