Opened 7 years ago

Closed 7 years ago

#9059 closed bug (invalid)

freeglut needs to be ported to Haiku

Reported by: kallisti5 Owned by: kallisti5
Priority: high Milestone: R1
Component: Kits/OpenGL Kit Version: R1/Development
Keywords: libglut glut Cc: phoudoin
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

FreeGLUT needs to be ported to Haiku.

Reasons:

  • Mesa moved libglu out of Mesa, thus having glu and glut outside of the Haiku tree is desirable.
  • glu was already ported and converted into a bep:
  • The licensing on our glut is questionable.
    • legal action is unlikely, but this should be corrected

Porting FreeGLUT is less of a port and more of an enhancement to the FreeGLUT project. The Be GL-isms will need to be written for FreeGLUT

Change History (5)

comment:1 by kallisti5, 7 years ago

Dependency tree:

OpenGL Kit (Mesa linked in)

  • libglu
    • libglut

In the BeOS days, libglu and libglut were both linked into libGL... we will need to figure out how to link all of these together in the build system to ensure BeOS abi compatibility. (the trend now is to keep libGL, libGLU, libGLUT separate... this is why we symlink them to libGL.so)

comment:2 by phoudoin, 7 years ago

Cc: phoudoin added

comment:3 by kallisti5, 7 years ago

The external upstream libglu is now used. (and a bep exists on HaikuPorts)

I started to port freeglut... but it is going to take a *LOT* of work.

There are a few legacy apps that use GLUT such as GLBillards however. In the OpenGL world, GLUT really isn't used anymore. (GLUT is just a toolkit like SDL)

We have to consider that GLUT was linked into libGL on BeOS.. this creates a compatibility issue for anything legacy that may use GLUT... however we also have to think about the use case.

I'd prefer having GLUT, however our current 'original' GLUT is very sketchy in licensing terms. I don't have the time to completely port FreeGLUT... maybe this would be a good GSOC task for 2013? :)

My few initial whacks at porting FreeGLUT are here: https://github.com/kallisti5/freeglut

I'll continue to fiddle with it.. but a finished product is unlikely.

in reply to:  1 comment:4 by phoudoin, 7 years ago

Replying to kallisti5:

In the BeOS days, libglu and libglut were both linked into libGL...

Not true. GLUT was not even built-in in BeOS but available only as a third party port.

For Haiku, having GLUT builtin support was a free bonus because GLUT was in Mesa source tree already, including Mark Kilgard's BeOS support. Hence why it was embebded along GLU in libGL.so: it was making sence then.

It doesn't anymore, I fully agree.

we will need to figure out how to link all of these together in the build system to ensure BeOS abi compatibility. (the trend now is to keep libGL, libGLU, libGLUT separate... this is why we symlink them to libGL.so)

There is not ABI compatibility issue regarding BeOS era apps, as at this time GLUT dependency was already resolved by linking against libGLUT.so, not libGL.so.

Only Haiku apps that were using GLUT but linking against only libGL.so will need to be fixed. Most probably these apps are under Haiku's src/tests/kits/opengl only ;-)

comment:5 by kallisti5, 7 years ago

Resolution: invalid
Status: newclosed

Since the license of glut was cleared up for Haiku... and given the resources needed to port FreeGlut... lets just close this for now.

Note: See TracTickets for help on using tickets.