[GSOC 2024] GPU acceleration support -- GSoC application withdrawn

@UtkarshVerma

Currently, we have a “functional” mesa glvnd + libglvnd implementation. It’s pretty buggy though with drawing artifacts which is why we haven’t upgraded to it yet.

The “OpenGL Kit” (aka, our libGL.so dispatch code) has been moved from upstream mesa to libglvnd, so we need to fix those bugs soon if we ever want to upgrade mesa again.

Fixing a few bugs in our libglvnd implementation would be a great entry point to this project. Even a few fixed drawing bugs will make the libglvnd dispatch code ready to go live

You can find examples of compiling libglvnd and mesa here:

If you’re looking for a quick way to get started:

  • Build + Install the libglvnd package (which will uninstall mesa) via haikuports
  • Uninstall any remaining mesa packages

Compile mesa, using the meson flags in the recipe for 23.1.9.

Once the build is complete, the libEGL_mesa.* binaries and 50_mesa.json go in ~/settings/non-packaged/add-ons/opengl/egl_vendor.d/

This should give you a glvnd mesa EGL renderer. Then you can test things like GLTeapot, Haiku3D, GLInfo, etc.

8 Likes