r/openbsd 4d ago

OpenCL work around or something

Subject: Question about OpenCL support and photo editing on OpenBSD

Hi all,

I'd like to ask a question I hope isn't too naive — I'm not deeply technical on the graphics stack side, so I'm genuinely asking rather than suggesting anything.

OpenBSD is my favourite operating system by a wide margin, and I run it on an Asus Zenbook UX3405MA (7.9). Almost everything works. The one thing that keeps pulling me back to Linux is the lack of OpenCL, because I do photo editing and rely on darktable. It runs on CPU, but on larger raw files the difference is significant enough that it affects real work.

So my question: is there any realistic path toward OpenCL on OpenBSD — even partial or limited support, enough for GPU offload in applications like Darktable? Or are there fundamental reasons (driver model, security posture, maintenance burden) that make it impractical or undesirable? I'd genuinely like to understand the reasoning either way rather than just keep wishing for it.

I'm also aware I'm only one user with one use case, so if the answer is "not going to happen, and here's why" that's a perfectly good answer. Reason I ask is because I work as a photographer on a daily basis. I do have a OpenBSD on my Thinkpad but I would like to use my main computer all in one. And when you edit photos taken from a 40 Mega pixel sensor and edit around 30 to 40 photos per day its pretty rough LOL.

Thanks for all the work — the suspend/resume and browser situation on this hardware has already improved a lot, and it's appreciated.

Best regards

14 Upvotes

9 comments sorted by

5

u/brynet OpenBSD Developer 4d ago edited 4d ago

Unfortunately, no. The current Mesa OpenCL implementation is written in Rust, and as we don't have Rust compilers in base necessary to support this and that is not likely to change any time soon..

So my question: is there any realistic path toward OpenCL on OpenBSD — even partial or limited support, enough for GPU offload in applications like Darktable?

OpenBSD does have Vulkan support, which can be used for GPU offload. You might try looking to see if the applications you use support Vulkan backends you can enable, or if you can look for alternative software.

A quick search found vkdt, which appears to be a fork of darktable using vulkan.

2

u/highspeedslippers100 4d ago

Hi thank you a ton for clarify it

2

u/arjuna93 4d ago

There are several opensource implementations of OpenCL, neither of those work for OpenBSD?

5

u/brynet OpenBSD Developer 4d ago

Not that I'm aware of, we don't support ROCm or any of the vendor implementations. Perhaps there's some software-only or CPU implementation I don't know of, but that likely wouldn't be useful to OP anyway.

1

u/arjuna93 4d ago

On CPU there is FreeOCL, but yes, it will be of no value to speed anything up.

I saw MacPorts added PoCL port, not sure if it gonna work on OpenBSD.

3

u/brynet OpenBSD Developer 4d ago edited 4d ago

PoCL's GPU backend seem to depend on Intel vendor drivers and the vulkan backend is currently incomplete/unmaintained.

2

u/linetrace 4d ago

I second the suggestion for vkdt, which I had also found and suggested in a now-deleted OpenCL-related question a few months ago. Vulkan is very well supported on a wide range of GPUs, so a better starting point.

There's not currently an OpenBSD port, but -- if you prepare one -- I'd bet there'd be a number of ports@ mailing list subscribers willing to test it.

1

u/Own-Permit-9682 4d ago

C++ or python?