I reccomend just using rusticl if it's compatible, it's both performant and reliable
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I don't suppose Fedora 40 with ROCm 6.1 will cover this for you? Once you're set up, you can
sudo dnf install rocm*
...and that should include ~~rocm-ocl~~ rocm-opencl
. I quickly tested this with davinci resolve a couple days back.
E: you may need to set an environment variable to spoof a ""supported device"" 🫠
Holy crap, really? I used it a while ago, and have been using it recently in the form of asahi. That would be seriously great if that works, and thank you so much for the suggestion.
Very welcome! I originally neglected the notion that I tested this from a 'supported' ASIC, however.
I'm not sure how this will behave on NV33; you may need to employ the aforementioned env variable workaround for any luck, I'll try to find a link for it.
E1: I believe RX 6700XT (NV23) users set the following env var to spoof their device as NV21
HSA_OVERRIDE_GFX_VERSION=10.3.0
I'll see if there's one more suitable to your GPU.
E2: Try export
the following
HSA_OVERRIDE_GFX_VERSION=11.0.0
I tried both suggestions, as well as running it without the variables changed. On all three of them, hashcat said "Device #3: Unstable OpenCL driver detected!" when I ran hashcat -I (device info if your not familiar with hashcat). I tried running the benchmark, and it crashed saying "Device #1: Kernel /usr/lib64/hashcat/OpenCL/shared.cl build failed."
Edit: I looked, and I don't see a package called rocm-ocl, nor can I install one. Edit2: Wait nvm, I see rocm-opencl, and I assume that's it.
Ah man, are you able to verify OCL working with other applications such as OpenShot or Blender?
As for your edit, sorry you're correct, the package name is rocm-opencl
, otherwise referred to as rocm-opencl-runtime
Well I tried an opencl benchmark I found, and my computer has fuckied a major wucky... Edit: reboot fixed it but it seems opencl is super unstable on here. I ran hashcat again, this time with --force, and found that it did nothing, then there were weird colors, then plasmashell crashed. Luckily plasmashell has good crash handling and it was able to go back up so I could see that hashcat reported something about gpu hang being the reason for the crash.
Oh damn, can you send me a link to that? I'll also try Hashcat + its benchmark when I get the chance.
Reaching out to a friend who has some familiarity with HC in the mean time.
Https://github.com/projectphysx/opencl-benchmark
The OpenCL benchmark for me worked without any issues.
The Hashcat benchmark threw the same errors as you'd seen until I manually specified my device (my friend was able to point me in the right direction here).
You can enumerate your OpenCL device (i.e. your GPU) with something like clinfo, rocm-clinfo.
I had to run Hashcat's benchmark like so:
hashcat -b -d 2
where 2 is my RX 6800XT
Hope this helps
I did notice it was the wrong device, however when I specify it crashes the whole os with some artifacting. I may look into other values for that environment variable tomorrow. I also might try rusticl.
cheers, will give that a look
I think the FOSS drivers support it? https://mesamatrix.net/ Seems to say that it’s supported, ut I’m not sure
Mesa clover opencl has only 40% of the extensions implemented. I suspect hashcat needs some that it doesn't have, if I am understanding that correctly.
Try using rusticl for your OpenCL implementation. It runs OpenCL on top of Vulkan, which is very well supported by Radeon cards.
I second rusticl, but I'd like to note that it uses Gallium internally, and not Vulkan. There is a vulkan-gallium translation layer called Zink, though, which can be used to run rusticl on any Vulkan-capable GPU AFAIK. Zink is initially made to run OpenGL on Vulkan, but it's also just a general-purpose Gallium driver.
Second this. rusticl worked perfectly for me when I needed to get OpenCL working with my 6600XT.