JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

classic Classic list List threaded Threaded
249 messages Options
1 ... 10111213
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

gouessej
Administrator
You're welcome. Thank you, you helped me to find a bug :)

Maybe this website can help you to make a choice (even though the section "No License" is a bit wrong):
http://choosealicense.com

Depending on your nationality, whatever the license you choose, somebody who uses your stuff must respect your paternity right. You can go on using CC-BY-3.0 for the music but you can't use it for the source code. The CC0 has no legal recognition in some countries. If you use the GPL, you won't have to worry about having to change the license of your code later if you use some source code under this license too. I use the GPL mainly for this reason (Richard Stallman's GNU Manifesto):
"GNU is not in the public domain. Everyone will be permitted to modify and redistribute GNU, but no distributor will be allowed to restrict its further redistribution. That is to say, proprietary modifications will not be allowed. I want to make sure that all versions of GNU remain free."

I use the CC-BY-NC-SA 4.0 for my artworks.

If you find the GPL too much restrictive, you can choose another one. Otherwise, feel free to use my tools under GPL for your game. Of course, LibGDX isn't under GPL.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

Headmade
Thank you for the link that does make things a bit clearer. But it's still complicated...

gouessej wrote
...no distributor will be allowed to restrict its further redistribution...
When I release under GPL does that restriction affect me as well? So I will never be able to release any part of the code under any other license?
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

jmaasing
Short primer on copyright (IANAL):

When you create an original work (i.e. you write code yourself) you automatically have the copyright to that work (your code).
This means - no one _else_ may distribute or copy your code. Including using it in their own library/product.

You can let others use your code by giving them a license to use it, you can write your own terms for how others are allowed to use your code or you can simply use one of the existing licenses like GPL.

Giving someone a license to use your code does not mean _you_ give up copyright, it is still your code, you can do whatever you want with it. You can sell it, change license et c.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

gouessej
Administrator
In reply to this post by Headmade
It's possible to release the same software under several licenses including the GPL. You can even sell a license exception, for example to allow a corporation to use a part of your code without having to respect the terms of the GPL.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

Patman
In reply to this post by Xerxes Rånby
Hi guys, I've been trying to get my game to run on Raspberry Pi 3 with no luck. I followed all the instructions I think. I downloaded the latest libgdx from https://github.com/gouessej/libgdx and ran "mvn install" to compile everything. Then I added mavenLocal() to my build.gradle and the game successfully runs on my Mac with the jogamp backend.

My problem comes when I try to run the game on Raspberry Pi 3. I exported the runnable jar of my Desktop launcher and put Xerxes' pre-compiled .so files next to the jar where it could find them. But then I get the following error when I try to run the jar:

libEGL warning: DRI2: failed to authenticate
java: symbol lookup error: /tmp/jogamp_0000/file_cache/jln1761022937348860019/jln6781593485722951177/natives/linux-armv6hf/libnewt.so: undefined symbol: bcm_host_init

I have absolutely no clue what to do with this. I built the game on Mac if that makes any difference. Also, does it matter that the .so files were made over a year ago and I'm using GDX 1.9.3 with them? I tried following the instructions to build my on .so files on Pi but the very first line "git cherry-pick 9f5f99a2e7532827c631d54abc331c8c83df1dea" gives me the following error:

fatal: bad object 9f5f99a2e7532827c631d54abc331c8c83df1dea

I guess it isn't available on Git anymore and I'm not experienced enough to know where to go from here. Can anyone tell me what I'm doing wrong or how to fix it? Help would be greatly appreciated. Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

gouessej
Administrator
Hi

The .so files must be updated, I'm almost sure of that. Maybe Xerxes can help you.

Maybe it's a bit off topic but "I exported the runnable jar of my Desktop launcher" is vague, it doesn't tell us exactly which tools you used to do so and we don't know if some files are missing.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

Xerxes Rånby
This post was updated on .
On 9th Feb 2016 Raspbian Raspberry Pi system images started to ship their
system with two incompatible implementations of OpenGL ES drivers installed
at the same time.
https://jogamp.org/bugzilla/show_bug.cgi?id=1290

The Mesa3D OpenGL ES implementation work in combination with AWT and NEWT
GLWindow
The Broadcom OpenGL ES implementation only work in combination with NEWT
GLWindow

Both implementations allow you to run libgdx applications.

The error "undefined symbol: bcm_host_init" is caused by jogamp trying to
initialize and use a function that is only found when using the Broadcom
OpenGL ES driver. However the operating systems dynamic linker have opened
the Mesa3D driver and the Mesa3D driver that cant be initialized the same
way and do not contain the Broadcom specific function.

Raspberry Pi foundation is aware that they currently ship a system where
OpenGL fails initialize if you initialize OpenGL dynamically however there
is no consensus how to resolve the issue because the foundation insists of
having two drivers installed at the same time.
https://github.com/anholt/mesa/issues/24

When using JogAmp 2.3.2 the only known workaround at the moment is to
remove one of the two implementations from the system.

Workaround 1:
To use Mesa3D OpenGL ES implementation you have to first select the
experimental opengl driver in raspi-config
then you have to make the Broadcom driver unavailable by renaming the
/opt/vc driver folder
sudo mv /opt/vc /opt/vc-disabled

Workaround 2:
To get Broadcom OpenGL ES initialization working you uninstall Mesa3d
OpenGL ES
sudo aptitude remove libgles1-mesa libgles2-mesa libgl1-mesa-dri




2016-09-07 11:41 GMT+02:00 gouessej [via jogamp] <
ml-node+s762907n4037102h25@n3.nabble.com>:

> Hi
>
> The .so files must be updated, I'm almost sure of that. Maybe Xerxes can
> help you.
>
> Maybe it's a bit off topic but "I exported the runnable jar of my Desktop
> launcher" is vague, it doesn't tell us exactly which tools you used to do
> so and we don't know if some files are missing.
> Julien Gouesse | Personal blog <http://gouessej.wordpress.com> | Website
> <http://tuer.sourceforge.net> | Follow me on Identi.ca
> <http://identi.ca/gouessej>
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

Patman
Xerxes Rånby wrote
Workaround 2:
To get Broadcom OpenGL ES initialization working you uninstall Mesa3d
OpenGL ES
sudo aptitude remove libgles1-mesa libgles2-mesa libgl1-mesa-dri
This made it work! Thank you guys for your help!

As for the "runnable jar", I used the Eclipse "Export > Runnable Jar" option to make it. And the .so files that you posted earlier in the thread still work for me, which is a relief because apt-get couldn't find the specific gcc files you mentioned in an earlier post so I couldn't figure out how to build those myself.

Just for the record, I get errors about the sound when I run the jar but I don't use sound so it doesn't affect me.

Thanks again for the help with the Raspberry Pi 3 situation! I never would've been able to figure that out on my own.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

gouessej
Administrator
Patman wrote
As for the "runnable jar", I used the Eclipse "Export > Runnable Jar" option to make it.
It's possible to put the native libraries into the JAR by respecting the usual layout for libraries based on GlueGen (including JOGL of course), which Eclipse doesn't do. You can use the option "Save as ANT script" and modify this script to add the native libraries into the JAR. You can find some information about fat JARs and JOGL in our wiki here. Fat JARs have numerous limitations, I encourage you not to package your software that way on the long term.
Julien Gouesse | Personal blog | Website
1 ... 10111213