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

Ref:

Something like this:

  • Integration of libdrm2/libdrm, libglvnd, libvulkan, etc (see: @X512, @kallisti5.)
  • Integration of RadeonGfx driver (see: @X512.)
  • Demo successful work on a Haiku-based x86/x86_64 test platform.

This allows you to learn, develop, enhance, test, and integrate a full graphics stack and learn about Haiku’s app_server.

Always remember, there’s levels to this… but keep it simple and on target.

4 Likes

That is an interesting point I hadn’t thought about… basically Rust itself being a different language is forcing them to make a clean diver API. Perhaps even because there are fewer ways to skin the cat in Rust anyway by design it may prevent some churn.

3 Likes

@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

I think you meant
~/config/non-packaged/add-ons/opengl/egl_vendor.d/

5 Likes

Yup! Sorry, wasn’t looking at a Haiku machine when I typed that :slight_smile:

4 Likes

Thanks a lot for your feedback. Unfortunately, circumstances have changed on my end and it won’t be possible for me to participle this year. I look forward to contributing to haiku next year.

It’s a great project and has a good community around it.

4 Likes

Aargh! You were starting to get my hopes up! :grinning:

Best wishes on your pursuits. :wave:

2 Likes

So good to be true.