Jump to content

Can I help with Android port?


Recommended Posts

The crash happens because your devices don't have glMapBufferOES extensions needed by 16241 changeset (on my Nexus 10 I don't have that problem, but I've seen it on my ASUS Padfone Infinity). Anyway tonight I'm going to try revert that path locally to see if I can make it work without glMapBufferOES, if it works I'll publish a new version tonight.

I think Philip needs to check if there is a better way to fix the problem.

  • Like 1
Link to comment
Share on other sites

Here is my logcat.

[...]

E/libEGL (11890): called unimplemented OpenGL ES API

--------- beginning of crash

F/libc (11890): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xefdcbd55 in tid 11937 (SDLThread)

I/libc (11890): Suppressing debuggerd output because prctl(PR_GET_DUMPABLE)==0

[...]

Thanks!

Sadly, I was right, your device doesn't have glMapBufferOES :(.

  • Like 1
Link to comment
Share on other sites

Still doesn't work for me. The icon glows and then nothing. If I press it enough, it will change to landscape really quick and then change back. I found a logcat file, but it was mostly unreadable do to the encoding? I did see an error in the 0ad logs though relating to GUI pages:

0 A.D. Main log

Cannot find config file "config/default.cfg" - ignoring

Cannot find config file "config/local.cfg" - ignoring

Loading config file "config/user.cfg"

Loaded config string "userreport.id" = "cdafbaaf94426422"

ERROR: CVFSFile: file hwdetect/hwdetect.js couldn't be opened (vfs_load: -110100)

ERROR: Failed to load hardware detection script

ERROR: CVFSFile: file shaders/program.rng couldn't be opened (vfs_load: -110100)

ERROR: Failed to read grammar shaders/program.rng

CRenderer::Open: depth bits 24

CRenderer::Open: stencil bits 8

CRenderer::Open: alpha bits 0

ERROR: Failed to open font file fonts/mono-10.fnt

ERROR: Failed to open font file fonts/sans-10.fnt

ERROR: CCacheLoader failed to find archived or source file for: "gui/page_pregame.xml"

ERROR: Failed to open font file fonts/mono-stroke-10.fnt

ERROR: CCacheLoader failed to find archived or source file for: "shaders/effects/gui_text.xml"

ERROR: Failed to load effect 'gui_text'

0 A.D. Main log (warnings and errors only)

ERROR: CVFSFile: file hwdetect/hwdetect.js couldn't be opened (vfs_load: -110100)

ERROR: Failed to load hardware detection script

ERROR: CVFSFile: file shaders/program.rng couldn't be opened (vfs_load: -110100)

ERROR: Failed to read grammar shaders/program.rng

ERROR: Failed to open font file fonts/mono-10.fnt

ERROR: Failed to open font file fonts/sans-10.fnt

ERROR: CCacheLoader failed to find archived or source file for: "gui/page_pregame.xml"

ERROR: Failed to open font file fonts/mono-stroke-10.fnt

ERROR: CCacheLoader failed to find archived or source file for: "shaders/effects/gui_text.xml"

ERROR: Failed to load effect 'gui_text'

Link to comment
Share on other sites

Still doesn't work for me. The icon glows and then nothing. If I press it enough, it will change to landscape really quick and then change back. I found a logcat file, but it was mostly unreadable do to the encoding? I did see an error in the 0ad logs though relating to GUI pages:

0 A.D. Main log

Cannot find config file "config/default.cfg" - ignoring

Cannot find config file "config/local.cfg" - ignoring

[...]

ERROR: CCacheLoader failed to find archived or source file for: "shaders/effects/gui_text.xml"

ERROR: Failed to load effect 'gui_text'

[...]

It seems you don't use the latest version. Please make sure you are installing *0.4 alpha* version not 0.3 !

Link to comment
Share on other sites

How can I verify that? I noticed that there was an update so I installed it, but it seemed to be a very small update because it didn't take long. When I visit the page, it just says "open" not update, I didn't see any mention of the version on the page.

Hmm, the page Google Play page says updated on March 8. So maybe it's old?

Edited by WhiteTreePaladin
Link to comment
Share on other sites

bog_dan_to added etc2 texture compression, it requires GL ES 3.0, it's available on nexus 7 2013 but not on 2012. I suppose eventually GL ES 2.0 + etc2 should be enough (supposing there is hardware doing it), but GL ES 2.0 chipset are probably too slow to run 0ad (according to bog_dan_do it's slow on GL ES 3.0 chipset also).

Link to comment
Share on other sites

What changed, wasn't GLES 2.0 enough previously? (It ran on a Raspberry Pi which I thought was GLES 2.0)

As fabio said, I had to add ETC2 texture compression, because 0 A.D.s uncompressed textures are way too big and they don't fit in memory (my devices have 2gb of ram). GLES 3 is mandatory only for Android (because ETC2 is mandatory in GLES3), but if you use Android you can still use GLES2. Actually if you are using KTX (check my repo, ktx branch) instead of DDS you can compress the textures using any compression your device supports. You just need to provide a simple script that compress the textures and put them in a KTX container. The beauty of using KTX is that the KTX header contains everything the engine needs to use textures, so you don't need to change a single line in the engine ;).

Using that app, it doesn't appear that my nexus 7 (2013) has OES_mapbuffer. So I guess 0AD can't run on any nexus 7? It running Android 5.0.2.

It can, but somebody needs to find a workaround for OES_mapbuffer

I hope after alpha 18 will be shipped, developers will have more time to focus on GLES/Android.

Edited by bog_dan_ro
  • Like 1
Link to comment
Share on other sites

GL ES 2.0 chipset are probably too slow to run 0ad (according to bog_dan_do it's slow on GL ES 3.0 chipset also).

I don't know if that's a limitation of those devices, or that 0 A.D.'s performance problems affecting all platforms are simply more noticeable. Of course it's not optimized for Android mobile devices and never will be, but there are things to do which will help (reduce memory usage, add quality settings for lower end hardware).

I hope after alpha 18 will be shipped, developers will have more time to focus on GLES/Android.

This is quite unlikely and IMO wouldn't be a good use of our time. There are just too many higher priority things to work on.
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...