Missing gralloc.android_x86.so in android-x86 JB 4.3

175 views
Skip to first unread message

Raghavan Santhanam

unread,
Oct 31, 2013, 11:23:57 PM10/31/13
to andro...@googlegroups.com
Hi All,

I am trying to use hardware acceleration with JB 4.3 source with HWACCEL=1
while booting. But, the Android UI is very lagging and seems like missing gralloc.android_x86.so
is the problem from my so far debugging. It's actually using gralloc.default.so which has no "perform" function
implemented and hence falling back to SW renderer which is the cause for the slow rendering
when hardware acceleration enabled as far as I understand.

So, any idea why is it missing or where can I get the source of it for building myself or how do I
overcome if it's not implemented yet.

All I need to have is hardware acceleration for my android_x86 JB 4.3 running on qemu on ubuntu 12.10.
Any hints is immensely appreciated.

Cheers,
Raghavan

PS: When I searched for the above missing "perform" issue, I found another thread wherein it was for
some real hardware platform and with disabling GPU authentication, the issue was solved by picking
up the respective HAL module for the specific board. But, since mine is not on a real x86 machine
but on emulated one(qemu), I am not sure and hence the above post!


Ooop Yooo

unread,
Nov 3, 2013, 11:08:38 AM11/3/13
to andro...@googlegroups.com
Hi,

Unless I'm wrong myself, I guess hardware acceleration is not working with any kind of emulators but probably with some extends vmware...

The source you're searching for is in the /hardware folder if you're willing to work on it... ^^

Raghavan Santhanam

unread,
Nov 3, 2013, 10:14:37 PM11/3/13
to andro...@googlegroups.com
Hi,

Hardware acceleration is indeed working but it's made slow due to the lack of "perform"
function in any of the gralloc*.so -- that is responsible to get the file descriptor of the
device associated with the real GPU as far as I understand. And due to this lack,
software renderer is being used by the emulator which is appearing to be having
insufficient cache(as I see cache full) and hence the lag in the video(overall UI) shown in the
emulator.

Proof of the hardware acceleration was confirmed via the "settings" on the emulator, showing the Mesa 9.2
driver for the guest running inside a virtualized environment provided by VMware like virtualiztion
software. I have 9.2 Mesa driver installed on my host Ubuntu. And the logcat shows clearly
the details of the driver with vendor, version, "Gallium" etc

And I have been digging through the "hardware" folder to get an appropriate gralloc*.so which
can make use of the host GPU driver instead of the emulator's software renderer when
HW acceleration is on(HWACCEL=1) -- this is possible when there is a working "perform"
function implemented in gralloc*.so for android_x86, which I don't see anywhere!

Cheers,
Raghavan
Reply all
Reply to author
Forward
0 new messages