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 |
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 :) |
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 |
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) |
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) > |
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
|
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 |
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 |
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 |
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. |
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
|
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 |
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
|
Free forum by Nabble | Edit this page |