Hyper-V Mouse cursor no longer showing up on Android Oreo builds (was working on Nougat)

533 views
Skip to first unread message

ma...@xemi.net

unread,
Jul 6, 2018, 11:40:03 AM7/6/18
to Android-x86
Using Hyper-V, installed both 7.1-r1 and 8.1-rc1.  Noticed that the mouse cursor appears and works on 7.1-r1 like it did on all previous builds.  However on 8.1-rc1, there is no mouse cursor.

Looking at the kernel modules loaded, it seems that the Oreo build does not have hid_hyperv module loaded (has all other hyperv modules loaded such as fb, etc).  However, even after insmod-ing this, the mouse starts to work, however the cursor is invisible.  (I can click the mouse and it clicks somewhere on the screen, and then if I move it, it will click somewhere else).

Is there any difference or change that is causing this difference in these builds?

How are the device-specific modules loaded at boot up?  I thought they'd be in an init.sh, but don't see it.


ma...@xemi.net

unread,
Jul 6, 2018, 11:52:14 AM7/6/18
to Android-x86
To answer my own question, it appears that the hid_hyperv was blacklisted in modules.blacklist file.  I'll see if it the mouse cursor starts working after reverting this change.

But, I am still curious -- how are device specific modules loaded in the kernel?  I.E.  How does the kernel know to load hyperv specific modules?

ma...@xemi.net

unread,
Jul 6, 2018, 8:32:32 PM7/6/18
to Android-x86
Removing hid_hyperv adds the module during boot up, however the cursor is still invisible.

Mauro Rossi

unread,
Jul 7, 2018, 4:33:05 AM7/7/18
to Android-x86
Hi, 
init_hal_gralloc() selects the gralloc module, but depending on hypervisor setup you could have have Host GPU with passthrough at the guest level or no gpu at all

with virtualbox there is no hw acceleration and the difference in the past was that in marshmallow-x86 we were using Wu Zhen's swrast llvmpipe,
in both nougat-x86 and oreo-x86 swiftshader is used.

So oreo-x86 should behave as nougat-x86, inless you are using Host GPU with passthrough

Could you please check what is listed in your Settings when you boot on Hyper-V virtual manchine?
Please also collect logcat, dmesg and output of 'dumpsys SurfaceFlinger' to check the sprite buffer have been allocated.

Mauro

ma...@xemi.net

unread,
Jul 11, 2018, 2:32:36 AM7/11/18
to Android-x86
Hi Mauro,

It seems the cursor works when hyperv_fb is not used.. Interestingly, before I could add vga=ask in the command line, and it would use fb instead of hyperv_fb.  However, in oreo build I have it appears that this is ignored, and hyperv_fb is always used.  As a hack, I removed the hyperv_fb.ko module from the image, and fb was used.  When fb was used, the mouse cursor came back.

However, using hyperv_fb has its advantages, so I'm still curious why the mouse cursor does not show up when using that framebuffer driver.  I'm not sure if I ever seen mouse work with hyperv_fb.

I saw a commit comment by CW that blacklisted the hid hyperv module indicating the mouse does not work.

I'll collect more logs and post...

jayce...@yahoo.com

unread,
Dec 31, 2018, 11:46:14 PM12/31/18
to Android-x86
So I just loaded up 8.1 RC2 in Hyper-V, but I manage my Hyper-V host through RDP and I get the error "Mouse not captured in Remote Desktop session". The general fix for this error online (related to non-Android VMs) is to install/upgrade Hyper-V integration services, but all of these suggestions assume you're running a Windows VM.

I had the same problem with 7.0 and 7.1. Might this error be related to the hyperv_fb module?
Is there an easy way to disable this module in an existing installed VM to test?

I'm dying to get Android-x86 working in Hyper-V but everything after 4.4 is unusable as the mouse cursor just fails for one reason or another.

Chih-Wei Huang

unread,
Jan 15, 2019, 11:39:26 AM1/15/19
to Android-x86
jaycenornin via Android-x86 <andro...@googlegroups.com> 於 2019年1月1日
週二 下午12:46寫道:
>
> So I just loaded up 8.1 RC2 in Hyper-V, but I manage my Hyper-V host through RDP and I get the error "Mouse not captured in Remote Desktop session". The general fix for this error online (related to non-Android VMs) is to install/upgrade Hyper-V integration services, but all of these suggestions assume you're running a Windows VM.
>
> I had the same problem with 7.0 and 7.1. Might this error be related to the hyperv_fb module?
> Is there an easy way to disable this module in an existing installed VM to test?
>
> I'm dying to get Android-x86 working in Hyper-V but everything after 4.4 is unusable as the mouse cursor just fails for one reason or another.

Please try just released 8.1-r1. Works fine for me.

Say thanks to Jon Doe who implemented the great feature
that treats tablet-style inputs as the mouse pointer.


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