Running Fractorium on NixOS with OpenCL/CUDA acceleration

2023/09/18

Fractorium is a piece of software that allows you to edit fractal ‘flames’, based on flam3. I’m not going to go into it too much as I’m going to assume that you’ve somehow found this website off of a deep search or something and get straight to the point. I’m also assuming you already have CUDA/OpenCL working (see your distro’s guides, the Arch Linux “GPGPU” article is enlightening for all distros as usual as well).

Running this on NixOS was a bit of a self-induced pain, but it did teach me a little bit about appimages and OpenCL while I tried to run it with various hardware in various janky ways.

All of Fractorium’s provided packages for Linux are appimages in disguise. By the time this actually goes up on my website, the dev may have released the appimage (I asked ;]) but if not, you’ll need to grab one of the packages and extract the appimage out of it, then do some finagling with environment variables.

Here’s the process:

I have not had much luck getting less conventional implementations of OpenCL (ie. clover, rusticl, clvk, other such translation layers) to work with Fractorium, which seems to be due to missing features in these implementations, at least in some of the cases - definitely clover, not sure of others. Either outright failing with compiler errors, or silent ass crashing. I think I have to wait and let mesa’s OpenCL implementations cook for a while, basically.

Suggestions are welcome - I don’t like this, it’s very fucking ugly, and I know for a fact that this can be done better. But it functions, and all I wanted was to make the funny fractals, and that’s what I’m doing. Just shoved it in a little shell script. Would also appreciate someone getting in touch if they are able to run Fractorium using GPU acceleration from an Intel integrated GPU or from a non-ROCM supported AMD GPU on Linux (GFX7 and under, I think).

>> Home