- GeeXLab for Windows 64-bit
- GeeXLab for Linux 64-bit
- GeeXLab for macOS
- GeeXLab for Raspberry Pi (Raspbian Buster only / GLIBC 2.28)
- GeeXLab for TinkerBoard
- All GeeXLab Downloads
- Feedback thread / Forum (EN)
1 – Release Notes
GeeXLab 0.29.2 comes with the following changes:
– support of Alpha to Coverage for all platforms in OpenGL: Alpha to Coverage is not a new feature in OpenGL but it was missing in GeeXlab. And I needed this feature in a new demo I worked on these last days (grass rendering).
– support of FMOD on all platforms: so far, the FMOD plugin was only present on Windows, Linux and macOS. Now it’s also available on Raspberry Pi and TinkerBoard. FMOD is a powerful sound system and now it’s easy to play sounds (mp3, waw, xm, s3m, etc…) on any platform.
– ImGui library updated to latest version 1.73 (released today!)
– WiringPi 2.52 on Raspberry Pi: WiringPi is the reat lib that makes it possible to access the GPIO connector of the Raspberry Pi. I forgot to check updates of this lib in previous versions of GeeXLab. WiringPi 2.52 is the latest version of WiringPi and comes with full support of Raspberry Pi 4. WiringPi is included in the latest Raspbian but it’s an old version: 2.50, the RPi 4 being not fully supported. I was a bit sad to learn that WiringPi 2.52 is the last version: WiringPi’s author, Gordon Henderson, has decided to stop the public version of WiringPi because of too many … fu*k*ng assholes that don’t respect his amazing work on WiringPi. Gordon has posted an article that explains why: wiringPi – deprecated. I don’t understand why the Raspberry Pi Foundation doesn’t help Gordon, this situation shouldn’t exist.
I updated GPIO demos that are shipped with GeeXLab for RPi (in the demopack02/rpi_gpio/ folder ). All those demos are based on WiringPi. The following screenshot is the demo_v1.xml that uses gh_rpi.gpio_get_board_info() to get information about the Raspberry Pi hardware.
Last thing: GeeXLab for Raspberry Pi works only on Raspbian Buster because it’s linked with GLIBC 2.28. My test version of Raspbian Stretch has GLIBC 2.24. If you really need GeeXLab for Stretch, let me know, I will try to find some time (no guarantee) to recompile it for Raspbian Stretch.
GeeXLab 0.29.2 is out, and now, it’s time to release new demos, articles and apps based on this version 0.29.2 😉
2 – Changelog
This changelog is intended for all versions of GeeXLab.
Full changelog from beginning of time is available HERE.
Version 0.29.2.0 - 2019.09.25 + (2019.09.25) [RaspberryPi / TinkerBoard] FMOD plugin added! ! (2019.09.25) [RaspberryPi / TinkerBoard] enabled multisampling support (GL_MULTISAMPLE). + (2019.09.25) [RaspberryPi] updated WiringPi with latest version 2.52 (including RPi 4 support). ! (2019.09.25) updated ImGui with latest version 1.73. ! (2019.09.25) [Windows] updated GPU Shark 0.14.1.1 + (2019.09.24) [OpenGL renderer] added support of GL_SAMPLE_ALPHA_TO_COVERAGE and GL_SAMPLE_ALPHA_TO_ONE in gh_renderer.enable_state(). ! (2019.09.24) [FMOD plugin] updated with latest FMOD Core SDK version 2.0.4 on Windows, Linux and macOS. ! (2019.09.24) [FMOD plugin] added FMOD_CREATESAMPLE to sound creation. This flag forces the decompression at loadtime, decompressing or decoding whole file into memory. It's the fastest for playback. * (2019.09.23) fixed a bug in libs/lua/gxl.lua and libs/python/gxl_utils.py: the addressing mode was not set in set_sampler_params().
6 thoughts on “GeeXLab 0.29.2 released for all platforms: Alpha to Coverage added, FMOD and WiringPi Support Updated”
GeeXLab crash on start on macOS 10.15( -[NSOpenGLContext setView:] must be called from the main thread. ):
Process: GeeXLab 
Version: 0.29 (1)
Code Type: X86-64 (Native)
Parent Process: ??? 
Responsible: GeeXLab 
User ID: 501
Date/Time: 2019-12-09 19:16:39.886 +0800
OS Version: Mac OS X 10.15.1 (19B88)
Report Version: 12
Bridge OS Version: 4.1 (17P1081)
Anonymous UUID: 75712460-7D05-B8BB-C2B5-020ACDA6C865
Time Awake Since Boot: 35000 seconds
System Integrity Protection: enabled
Notes: Translocated Process
Crashed Thread: 15
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler 
Application Specific Information:
-[NSOpenGLContext setView:] must be called from the main thread.
Thread 15 Crashed:
0 com.apple.AppKit 0x00007fff2d769cbc -[NSOpenGLContext setView:] + 229
1 libgxc_r_osx.dylib 0x000000011021ab06 0x110082000 + 1673990
2 libgxc_r_osx.dylib 0x0000000110216951 0x110082000 + 1657169
3 libgxl_r_osx.dylib 0x000000010fe5d0f2 0x10fd7d000 + 917746
4 libgxl_r_osx.dylib 0x000000010fd899e5 0x10fd7d000 + 51685
5 libgxl_r_osx.dylib 0x000000010fdbe76f 0x10fd7d000 + 268143
6 libgxl_r_osx.dylib 0x000000010fde2561 0x10fd7d000 + 415073
7 libgxl_r_osx.dylib 0x000000010fde2283 0x10fd7d000 + 414339
8 Geeks3D.GeeXLab 0x000000010fccc75a GXLAPP_Demo::init_window3d(GXLAPP_Window*) + 1642
9 Geeks3D.GeeXLab 0x000000010fcf1159 RenderThread_Init(GXLAPP_Window*) + 265
10 Geeks3D.GeeXLab 0x000000010fcf2c1d RenderThread(void*) + 29
11 libsystem_pthread.dylib 0x00007fff678e2d36 _pthread_start + 125
12 libsystem_pthread.dylib 0x00007fff678df58f thread_start + 15
Thanks, I will look at that issue asap.
But it’s weird, because I built GeeXLab on macOS 10.15 (mac-mini with an Intel GPU) and it worked perfectly.
I’m wrong, I actually built GeeXLab on macOS Mojave 10.14.6. So I have to install macOS 10.15 to fix GeeXLab.
Thanks a lot for supporting macOS 10.15.
I’m afraid that GeeXLab won’t support Catalina 10.15… I will write a short post on that issue asap.
GeeXLab 0.29.9.1 with macOS 10.15 Catalina support 😉