Hyperpixel 2.1R not working with SDL2 32bpp

I have a Hyperpixel 2.1 round that I’m using with a Pi 4 on the latest version of Raspbian. Works great for just about everything except what I bought it for.

I’m using an open source piece of software called XWAX. With the Hyperpixel, I’m getting a segfaut. I’ve determined that’s because the software is configured with 32bits per pixel. I see that the device is 18bit color. I tried 18 bpp, and also get a segfault. I set bpp to 24 and it works, but things are a bit off I believe due to some pixel shifting.

Is there any way to get 32bpp to work? I understand in some cases interfaces should work with 32bits, with conversion happening on the hardware. I just wanted to see if anyone has any ideas on this.

Here’s the C code that throws a segfault:
surface = SDL_SetVideoMode(w, h, 32, video_flags);

As mentioned, 32 throws, 24 works (with distortion), 18 throws, 16 works (with even more distortion)

Thanks!