Support OpenGL ES 3.0 via software rendering for other GPUs or no GPU devices

439 views
Skip to first unread message

Jian Wu

unread,
Oct 4, 2017, 10:03:51 AM10/4/17
to Android-x86
I saw this "Support OpenGL ES 3.0 via software rendering for other GPUs or no GPU devices" on Android7.1 release page.  Does this means that android-x86v7.1 can run on no-gpu board and still have full 3D ability??


Chih-Wei Huang

unread,
Oct 5, 2017, 2:13:05 AM10/5/17
to Android-x86
What's full 3D ability you meant?
What GLES extensions do you hope to use?

As the name suggested, the rendering is performed
by CPU entirely. So if your CPU is not good enough,
the performance will be bad.
In particular, it's not feasible to run complex 3D games.
Anyway, you should just try yourself.


--
Chih-Wei
Android-x86 project
http://www.android-x86.org

T.C 吳天健

unread,
Oct 5, 2017, 3:32:20 AM10/5/17
to andro...@googlegroups.com
I am not very sure about level of GLES but I have experience most game cannot run in qemu VM for the emulated VGA is too old.  Also software render is useful if Android run on multiple core CPU but no GPU (i.e. server).  How do I configure to use software renderer?


--
You received this message because you are subscribed to a topic in the Google Groups "Android-x86" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-x86/4dmACn2ycds/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-x86+unsubscribe@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at https://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.

Chih-Wei Huang

unread,
Oct 5, 2017, 3:58:36 AM10/5/17
to Android-x86
2017-10-05 15:32 GMT+08:00 T.C 吳天健 <tcwu...@gmail.com>:
> I am not very sure about level of GLES but I have experience most game
> cannot run in qemu VM for the emulated VGA is too old. Also software render
> is useful if Android run on multiple core CPU but no GPU (i.e. server). How
> do I configure to use software renderer?

If no supported GPU is detected,
software renderer will be used automatically.
See /system/etc/init.sh for more details.

One example is VirtualBox.
QEMU is more subtle.
It can emulated several GPUs.
With -vga std or -vga vmware the
software renderer will be used.
With -vga virtio the mesa virgl driver
will be used (host emulated GPU)
But it's not stable in 7.1-rc1.
If you want to use virgl, build the image
from the latest nougat-x86 branch
which has better support of virgl.
Others like cirrus may not work at all.

In any case, check Settings -> About -> OpenGL
to see what renderer is used exactly.
In 7.1-rc1 the software renderer is
"Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)".
But in the coming 7.1-rc2 it's replaced by
Google's SwiftShader.

Povilas Staniulis

unread,
Oct 5, 2017, 2:12:24 PM10/5/17
to andro...@googlegroups.com
In theory, yes. In practice it will be too slow to be usable.
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.

T.C 吳天健

unread,
Oct 5, 2017, 11:14:52 PM10/5/17
to andro...@googlegroups.com
Chih-Wei and Povilas,
Thank you!

one more questions, lets say a 8-cores state-of-the-art headless PC (headless=no_gpu), is it rational to pin gallium process to a single cpu (i.e. reserve one cpu for software renderer) and get piratical performance (for example, to emulate and achieve the performance of an old gfx430) ??   


Chih-Wei Huang

unread,
Oct 6, 2017, 1:52:01 AM10/6/17
to Android-x86
2017-10-06 11:14 GMT+08:00 T.C 吳天健 <tcwu...@gmail.com>:
> Chih-Wei and Povilas,
>
> one more questions, lets say a 8-cores state-of-the-art headless PC
> (headless=no_gpu), is it rational to pin gallium process to a single cpu
> (i.e. reserve one cpu for software renderer) and get piratical performance
> (for example, to emulate and achieve the performance of an old gfx430) ??

I have no idea about the performance comparison.
You should just test yourself and report the result if you can.

T.C 吳天健

unread,
Oct 6, 2017, 1:56:36 AM10/6/17
to andro...@googlegroups.com
If I have equipment to test (the original request is to run Android_x86 on 48 cores server) I will. Thank you all.

Chih-Wei Huang

unread,
Oct 6, 2017, 2:09:01 AM10/6/17
to Android-x86
2017-10-06 13:56 GMT+08:00 T.C 吳天健 <tcwu...@gmail.com>:
> If I have equipment to test (the original request is to run Android_x86 on
> 48 cores server) I will. Thank you all.

Why don't you test it in VirtualBox on a device you just have?
Then you would get an idea how it performs.

T.C 吳天健

unread,
Oct 6, 2017, 2:27:30 AM10/6/17
to andro...@googlegroups.com
I can give it a try later.  I am having build error "ninja: build stopped: subcommand failed." with android-x86_7.1 now.

Reply all
Reply to author
Forward
0 new messages