Android Test APKs [201110080141utc]

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Android Test APKs [201110080141utc]

Sven Gothel
Administrator
Android Test APKs [201110080141utc]

Since we were not able to hook up the Android test machine to Jenkins
to produce builds and a release, I thought it might be of interest to share my builds with
whoever is interested.

Just go to this test deployment folder:
http://jogamp.org/deployment/test/android/201110080141utc/

Download all the APKs:

    gluegen-rt.apk
    jogl.all-android.apk
    jogl.test.apk
    jogl.android-launcher.apk

and install them via the ADB:

   adb install gluegen-rt.apk
   adb install jogl.all-android.apk
   adb install jogl.test.apk
   adb install jogl.android-launcher.apk

You can uninstall them as follows:

adb uninstall com.jogamp.common
adb uninstall javax.media.opengl
adb uninstall com.jogamp.opengl.test
adb uninstall com.jogamp.android.launcher

The APKs are currently just signed with a temporary key and debug is enabled.

Uninstalling them manually is required when you like to try to test a new version,
which will appear in the same parent folder under a different timestamp soon.

The API in regards to Android is under review and will change
to make the experience more comfortable.

However, we already achieved to run a Java module on desktop as an application or applet
and on Android / Mobile w/o any change.
This is the main goal of porting JOGL on Android, no need for native code or rewriting your application.

Some new blogs in this regard:
  - http://jausoft.com/blog/2011/10/04/bug-hunting-on-android/
  - http://jausoft.com/blog/2011/10/05/jogljogamp-red-square-moscow-nurbs-graphicon2011/

Rami has published his paper and slides, great stuff...
  - http://jogamp.org/#gpunurbs2011

Cheers, Sven
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Wade Walker
Administrator
Our guys in the Mali division of ARM will be happy to hear that our drivers are better than Tegra's :) I'll mention your blog post to them next time I see them.

Kudos for doing so much great work on JOGL lately! It seems like every time I check my email there's a new commit to the codebase :)
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Sven Gothel
Administrator
On Saturday, October 08, 2011 03:47:43 PM Wade Walker [via jogamp] wrote:
>
> Our guys in the Mali division of ARM will be happy to hear that our drivers
> are better than Tegra's :) I'll mention your blog post to them next time I
> see them.

Please do so - great work!

It is far from an overstatement to say, the MALI GPU/driver
saved our hope for the Android port!

We really almost lost it .. but having a working device
plus some other more or less working gave us the posibility
to disect the issues and finally solve them.

Maybe we can all meet at the next MWC in Barcelona ?
Don't know if they have a do BOFs .. but it certainly would be interesting.

>
> Kudos for doing so much great work on JOGL lately! It seems like every time
> I check my email there's a new commit to the codebase :)

Thank you. For sure we need to review the API etc .. and make things better.
Our next step is to put on the 'user hat' and create some example projects
using the standard Android SDK using JOGL.

Cheers, Sven
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Ondrej
Just tried your test apps on HTC Desire Z.

RedSqr and Gears works perfectly. GraphUI1p renders text at around 30 fps with or without v-sync. Background of buttons is not visible at low zooms (maybe missing mipmaps). Application start and text switching takes some time. The other apps throws exceptions.

Great work! Looking forward to write my first Jogl app for Android.

Ondrej


GraphUI2p app throws exception:

E/AndroidRuntime(27567): FATAL EXCEPTION: main-Animator-1
E/AndroidRuntime(27567): javax.media.opengl.GLException: RegionRenderer: Couldn't link program: ShaderProgram[id=1, linked=false, inUse=false, program: 1,
E/AndroidRuntime(27567):    ShaderCode[id=1, type=VERTEX_SHADER, valid=true, shader:  2, source]
E/AndroidRuntime(27567):    ShaderCode[id=2, type=FRAGMENT_SHADER, valid=false,shader:  3, source]]
E/AndroidRuntime(27567):        at jogamp.graph.curve.opengl.RegionRendererImpl01.initShaderProgram(RegionRendererImpl01.java:74)
E/AndroidRuntime(27567):        at com.jogamp.graph.curve.opengl.Renderer.init(Renderer.java:133)
E/AndroidRuntime(27567):        at com.jogamp.opengl.test.junit.graph.demos.GPUUISceneGLListener0A.init(GPUUISceneGLListener0A.java:220)

and Elektro app:

E/dalvikvm(27622): Could not find class 'jogamp.opengl.gl4.GL4bcProcAddressTable', referenced from method jogamp.opengl.GLDebugMessageHandler.init
E/AndroidRuntime(27622): FATAL EXCEPTION: main-Animator-1
E/AndroidRuntime(27622): javax.media.opengl.GLException: could not link program: ShaderProgram[id=1, linked=false, inUse=false, program: 1,
E/AndroidRuntime(27622):    ShaderCode[id=1, type=VERTEX_SHADER, valid=true, shader:  2, source]
E/AndroidRuntime(27622):    ShaderCode[id=2, type=FRAGMENT_SHADER, valid=false, shader:  4, source]]
E/AndroidRuntime(27622):        at com.jogamp.opengl.util.glsl.ShaderState.useProgram(ShaderState.java:172)
E/AndroidRuntime(27622):        at com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.init(ElektronenMultiplizierer.java:243)
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Sven Gothel
Administrator
On Monday, October 17, 2011 11:58:14 AM Ondrej [via jogamp] wrote:
>
> Just tried your test apps on HTC Desire Z.
>
800MHz Qualcomm MSM7230 chipset, 512MB of RAM ?
Snapdragon S2 ? [ http://en.wikipedia.org/wiki/Snapdragon_%28system_on_chip%29 ]

Great, since we don't have that device to test.

> RedSqr and Gears works perfectly.
Both ? ES1 and ES2 ?
And the transparent GearsES2 as well (the one with the 'T') ?

> GraphUI1p renders text at around 30 fps
> with or without v-sync.
Right, v-sync for some reason is always enabled, weather you enable or
disable it via 'eglSwapInterval()'. 30fps is great for the current code.

> Background of buttons is not visible at low zooms
> (maybe missing mipmaps).
Something else .. we don't know yet, but have seen similar behavior on Omap3.

> Application start and text switching takes some
> time.
Yes, the current tesselation behaves slowish on mobile and keeps the GC
very busy (you see this w/ logcat). So there is room for improvement
in regards to 'flying objects' [temp. created objects] :)

> The other apps throws exceptions.
GraphUI2p and Elekro ? Yes, I see .. GLSL couldn't be linked.
Would be nice to see the whole logcat, I guess we have enabled GLSL debugging,
ie it's dumps the whole shader code w/ line numbers.
The device GLSL compiler should write an error message w/ a GLSL source line number.

>
> Great work! Looking forward to write my first Jogl app for Android.

Awesome!

After my OSX tour .. I will try to make the Android packaging more easy,
ie. simplify the dependencies: gluegen/jogl, your-demo-code, derived-launcher.
We will see .. if you have ideas .. shoot.

~Sven

>
> Ondrej
>
>
> GraphUI2p app throws exception:
>
> E/AndroidRuntime(27567): FATAL EXCEPTION: main-Animator-1
> E/AndroidRuntime(27567): javax.media.opengl.GLException: RegionRenderer:
> Couldn't link program: ShaderProgram[id=1, linked=false, inUse=false,
> program: 1,
> E/AndroidRuntime(27567):    ShaderCode[id=1, type=VERTEX_SHADER, valid=true,
> shader:  2, source]
> E/AndroidRuntime(27567):    ShaderCode[id=2, type=FRAGMENT_SHADER,
> valid=false,shader:  3, source]]
> E/AndroidRuntime(27567):        at
> jogamp.graph.curve.opengl.RegionRendererImpl01.initShaderProgram(RegionRendererImpl01.java:74)
> E/AndroidRuntime(27567):        at
> com.jogamp.graph.curve.opengl.Renderer.init(Renderer.java:133)
> E/AndroidRuntime(27567):        at
> com.jogamp.opengl.test.junit.graph.demos.GPUUISceneGLListener0A.init(GPUUISceneGLListener0A.java:220)
>
> and Elektro app:
>
> E/dalvikvm(27622): Could not find class
> 'jogamp.opengl.gl4.GL4bcProcAddressTable', referenced from method
> jogamp.opengl.GLDebugMessageHandler.init
> E/AndroidRuntime(27622): FATAL EXCEPTION: main-Animator-1
> E/AndroidRuntime(27622): javax.media.opengl.GLException: could not link
> program: ShaderProgram[id=1, linked=false, inUse=false, program: 1,
> E/AndroidRuntime(27622):    ShaderCode[id=1, type=VERTEX_SHADER, valid=true,
> shader:  2, source]
> E/AndroidRuntime(27622):    ShaderCode[id=2, type=FRAGMENT_SHADER,
> valid=false, shader:  4, source]]
> E/AndroidRuntime(27622):        at
> com.jogamp.opengl.util.glsl.ShaderState.useProgram(ShaderState.java:172)
> E/AndroidRuntime(27622):        at
> com.jogamp.opengl.test.junit.jogl.demos.es2.ElektronenMultiplizierer.init(ElektronenMultiplizierer.java:243)
>
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

gouessej
Administrator
Hi

I own the same smartphone (HTC Desire Z) but I don't know how Ondrej succeeded in using it with JOGL 2 as only Android 2.2 is available on it by default.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Sven Gothel
Administrator
On Monday, October 17, 2011 03:13:06 PM gouessej [via jogamp] wrote:
>
> Hi
>
> I own the same smartphone (HTC Desire Z) but I don't know how Ondrej
> succeeded in using it with JOGL 2 as only Android 2.2 is available on it by
> default.

http://www.engadget.com/2011/07/15/htc-desire-z-gingerbread-update-rolls-out-in-the-land-of-the-bra/

'HTC Desire Z Gingerbread update rolls out in the land of the Bratwurst' :)
Maybe it is available 'in the land of the Croissants' as well ?

If not .. I am sure one of the many rooted custom rom kits are available somehow.

:)

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Ondrej
In reply to this post by Sven Gothel
Sure, it is available in the land of the Beer. They sell the phone with 2.2. It updated itself to 2.3.3 this summer.

>800MHz Qualcomm MSM7230 chipset, 512MB of RAM ?
>Snapdragon S2 ? [ http://en.wikipedia.org/wiki/Snapdragon_%28system_on_chip%29 ]
>Great, since we don't have that device to test.

exactly

>Both ? ES1 and ES2 ?
>And the transparent GearsES2 as well (the one with the 'T') ?

yes, Gears ES1, ES2 and also the transparent version run smooth and without any artifacts.

>GraphUI2p and Elekro ? Yes, I see .. GLSL couldn't be linked.
>Would be nice to see the whole logcat, I guess we have enabled GLSL debugging,
>ie it's dumps the whole shader code w/ line numbers.
>The device GLSL compiler should write an error message w/ a GLSL source line number.

I could not find it. Added System.err to logs. The last thing it writes there is listing of GLSL programs followed by:
W/System.err(32390): Shader status invalid: (no info log)
E/AndroidRuntime(32390): FATAL EXCEPTION: main-Animator-1
E/AndroidRuntime(32390): javax.media.opengl.GLException: RegionRenderer: Couldn't link program: ShaderProgram[id=1, linked=false, inUse=false, program: 1,

I can send the full logs to you.

>Awesome!

>After my OSX tour .. I will try to make the Android packaging more easy,
>ie. simplify the dependencies: gluegen/jogl, your-demo-code, derived-launcher.
>We will see .. if you have ideas .. shoot.

Very nice. Maybe I can tell after I see the source code and build the first app. I wrote one or two small apps for Android in Netbeans. Any Jogl HelloWorld for Android?. What about source for RedSquare? It looks simple enough.

Ondrej
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Sven Gothel
Administrator
On Monday, October 17, 2011 09:39:14 PM Ondrej [via jogamp] wrote:

>
> I run the apps with 2.3.3 Gingerbread. Yes, they sell the phone with 2.2. It
> updated itself to 2.3.3 this summer.
>
> >800MHz Qualcomm MSM7230 chipset, 512MB of RAM ?
> >Snapdragon S2 ? [
> http://en.wikipedia.org/wiki/Snapdragon_%28system_on_chip%29 ]
> >Great, since we don't have that device to test.
>
> exactly
>
> >Both ? ES1 and ES2 ?
> >And the transparent GearsES2 as well (the one with the 'T') ?
>
> yes, Gears ES1, ES2 and also the transparent version run smooth and without
> any artifacts.
>
> >GraphUI2p and Elekro ? Yes, I see .. GLSL couldn't be linked.
> >Would be nice to see the whole logcat, I guess we have enabled GLSL
> debugging,
> >ie it's dumps the whole shader code w/ line numbers.
> >The device GLSL compiler should write an error message w/ a GLSL source
> line number.
>
> I could not find it. Added System.err to logs. The last thing it writes
> there is listing of GLSL programs followed by:
> W/System.err(32390): Shader status invalid: (no info log)
> E/AndroidRuntime(32390): FATAL EXCEPTION: main-Animator-1
> E/AndroidRuntime(32390): javax.media.opengl.GLException: RegionRenderer:
> Couldn't link program: ShaderProgram[id=1, linked=false, inUse=false,
> program: 1,
>
> I can send the full logs to you.
>
> >Awesome!
>
> >After my OSX tour .. I will try to make the Android packaging more easy,
> >ie. simplify the dependencies: gluegen/jogl, your-demo-code,
> derived-launcher.
> >We will see .. if you have ideas .. shoot.
>
> Very nice. Maybe I can tell after I see the source code and build the first
> app. I wrote one or two small apps for Android in Netbeans. Any Jogl
> HelloWorld for Android?. What about source for RedSquare? It looks simple
> enough.

All our sources are in our git repos.
The RedSquare is in the jogl.test.jar/apk, which contains all our unit tests
plus the Android activity binding.

[1] jogl.android-launcher.apk -> [2] jogl.test.apk -> [3] gluegen-rt.apk/jogl.all-android.apk

--

[3] gluegen/jogl apk incl. native libs

[2] the user code apk

[1] our activity launcher hack, which creates a new daisy chained ClassLoader
    including [3] + [2].
    it then invokes the user's activity residing in [2] .. 'done'

+++

Yes, I will try to simplify this process, which looks complicated.
However, it's working according to the Android API and includes no hack.
The latter would be to replace the launched activity's classloader
with our daisy chained one.
Yes .. too bad, Android doesn't support setting up a CLASSPATH :(

~Sven

>
> Ondrej
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Sebastien Schneider
Hi Sven,

Here is my report about my test of JOGL2 demo for Android.
Demo version is 201110080141utc (the only one I guess!)
My mobile is a Samsung Nexus S
Android version is 2.3.6 (kernel 2.6.35.7 build number GRK39F)
Hardware is ARM Cortex-A8 CPU (Hummingbird chipset at 1Ghz) and PowerVR SGX540 GPU

In short, all demos works fine but with a flickering issue, except the Elektro where nothing really appear on the screen and Jogl wich doesn't start at all:
GearsES1, window mode, works fine but flickering issue
GearsES2, full screen, works fine but flickering issue
GearsES2T, transparency on top of launcher, works fine but flickering issue
RedSqrES1, window mode, works fine but flickering issue
RedSqrES2, full screen, works fine but flickering issue
GlueGen's version ok, give all informations
GraphUI1p, works fine but flickering issue and no text displayed on buttons
GraphUI2p, works but flickering issue and no text displayed on buttons
Jogl doesn't start
Elektro starts but with a black screen for a long time and then sometimes a noisy green screen appear for 1sec.

Sebastien.
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

gouessej
Administrator
Hi Sebastien

Nexus S OpenGL-ES implementation is a bit more strict than Nexus One. For example, it does not support textures whose size is not a power of 2. I don't know exactly where this flickering comes from, this is only a supposition. Best regards.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

Sven Gothel
Administrator
On Saturday, January 21, 2012 05:29:54 PM gouessej [via jogamp] wrote:
>
> Hi Sebastien
>
> Nexus S OpenGL-ES implementation is a bit more strict than Nexus One. For
> example, it does not support textures whose size is not a power of 2.

In this case, their impl. would be not ES conform - I doubt it,
since it's a standard PowerVR ..

> I don't know exactly where this flickering comes from, this is only a
> supposition.

Unrelated .. (tex size).

One one machine (beagleboard powervr sgx530, ole 2.3 android w/o JIT)
rendering itself is very slow, fps << vsync.

On one of Rami's phones (Galaxy S1) .. flickering happens as well,
but AFAIK 'only' on ES2.

For sure this will be a major issue to investigate.

Cheers, Sven

Reply | Threaded
Open this post in threaded view
|

Re: Android Test APKs [201110080141utc]

gouessej
Administrator
Maybe it is a bug but several people have noticed this problem.

Do you have an idea about the real root cause?
Julien Gouesse | Personal blog | Website