AMD GPU (RX 6800 XT) is not detected on Linux Mint 21.3. What are my options? - octagon99 - 06-27-2024
I've followed every guide I can find on here, Reddit, and elsewhere and am at a total loss on getting an RX 6800 XT to even be detected, much less work, any guidance will be helpful. I'm running Linux Mint 21.3, kernel 5.15.0-113-generic.
The command lshw -c video | grep 'configuration' returns driver=amdgpu with no version number, but during troubleshooting I reinstalled amdgpu using amdgpu-install_6.1.60102-1_all.deb, the most recent I could find.
I attempted to install ROCm during my troubleshooting attempts following the guide here: https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/native-install/ubuntu.html; however, the steps failed at 'sudo apt install rocm" with
Code: Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
rocm : Depends: rocm-utils (= 6.1.2.60102-119~22.04) but it is not going to be installed
Depends: rocm-developer-tools (= 6.1.2.60102-119~22.04) but it is not going to be installed
Depends: rocm-openmp-sdk (= 6.1.2.60102-119~22.04) but it is not going to be installed
Depends: rocm-opencl-sdk (= 6.1.2.60102-119~22.04) but it is not going to be installed
Depends: rocm-ml-sdk (= 6.1.2.60102-119~22.04) but it is not going to be installed
Depends: mivisionx (= 2.5.0.60102-119~22.04) but it is not going to be installed
Depends: rpp (= 1.5.0.60102-119~22.04) but it is not going to be installed
Depends: rocm-core (= 6.1.2.60102-119~22.04) but 6.1.3.60103-122~20.04 is to be installed
E: Unable to correct problems, you have held broken packages.
These instructions were last updated two days ago, and I haven't been able to find a work around nor install ROCm. I recall this also being an issue when I set up Stable Diffusion back in 22, but I was able to make a workaround then and I'm hopeful I can here as well.
I've attempted essentially every walkthrough I found when searching "AMD GPU" on here if it applied to any similar linux distro. I have also tried different kernels, including 6.5.0-41.
I'm using hashcat v6.2.6. ./hashcat.bin -I returns the following:
Code: hashcat (v6.2.6) starting in backend information mode
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: The pocl project
Name....: Portable Computing Language
Version.: OpenCL 2.0 pocl 1.8 Linux, None+Asserts, RELOC, LLVM 11.1.0, SLEEF, DISTRO, POCL_DEBUG
Backend Device ID #1
Type...........: CPU
Vendor.ID......: 1
Vendor.........: AuthenticAMD
Name...........: pthread-AMD Ryzen 9 5950X 16-Core Processor
Version........: OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-generic
Processor(s)...: 32
Clock..........: 5980
Memory.Total...: 29934 MB (limited to 4096 MB allocatable in one block)
Memory.Free....: 14935 MB
Local.Memory...: 512 KB
OpenCL.Version.: OpenCL C 1.2 pocl
Driver.Version.: 1.8
So my CPU is detected, at least, but when I try to run hashcat with "./hashcat.bin -m 22000 /path/to/file.hc22000 /path/to/wordlist.txt" I get the following output, suggesting there are issues detecting my CPU (also AMD)
Code: hashcat (v6.2.6) starting
OpenCL API (OpenCL 2.0 pocl 1.8 Linux, None+Asserts, RELOC, LLVM 11.1.0, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=====================================================================================================================================
* Device #1: pthread-AMD Ryzen 9 5950X 16-Core Processor, 14935/29934 MB (4096 MB allocatable), 32MCU
Minimum password length supported by kernel: 8
Maximum password length supported by kernel: 63
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1
Optimizers applied:
* Zero-Byte
* Single-Hash
* Single-Salt
* Slow-Hash-SIMD-LOOP
Watchdog: Temperature abort trigger set to 90c
clCompileProgram(): CL_COMPILE_PROGRAM_FAILURE
error: unknown target CPU 'generic'
Device pthread-AMD Ryzen 9 5950X 16-Core Processor failed to build the program, log: error: unknown target CPU 'generic'
* Device #1: Kernel /home/me/Documents/hashcat-6.2.6/OpenCL/shared.cl build failed.
I found this thread: https://hashcat.net/forum/thread-10695.html, but I can't install rocm, and am not using a VM. There's conflicting information on that thread as well, with one user saying "uninstall pocl" and another saying "install pocl". The pocl package mentioned is already installed on my system.
clinfo outputs the following:
Code: Number of platforms 1
Platform Name Portable Computing Language
Platform Vendor The pocl project
Platform Version OpenCL 2.0 pocl 1.8 Linux, None+Asserts, RELOC, LLVM 11.1.0, SLEEF, DISTRO, POCL_DEBUG
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_pocl_content_size
Platform Extensions function suffix POCL
Platform Name Portable Computing Language
Number of devices 1
Device Name pthread-AMD Ryzen 9 5950X 16-Core Processor
Device Vendor AuthenticAMD
Device Vendor ID 0x1022
Device Version OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-generic
Driver Version 1.8
Device OpenCL C Version OpenCL C 1.2 pocl
Device Type CPU
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 32
Max clock frequency 4000MHz
Device Partition (core)
Max number of sub-devices 32
Supported partition types equally, by counts
Supported affinity domains (n/a)
Max work item dimensions 3
Max work item sizes 4096x4096x4096
Max work group size 4096
=== CL_PROGRAM_BUILD_LOG ===
error: unknown target CPU 'generic'
Device pthread-AMD Ryzen 9 5950X 16-Core Processor failed to build the program, log: error: unknown target CPU 'generic'
Preferred work group size multiple (kernel) <getWGsizes:1504: create kernel : error -45>
Preferred / native vector sizes
char 16 / 16
short 16 / 16
int 8 / 8
long 4 / 4
half 0 / 0 (n/a)
float 8 / 8
double 4 / 4 (cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Address bits 64, Little-Endian
Global memory size 31393906688 (29.24GiB)
Error Correction support No
Max memory allocation 8589934592 (8GiB)
Unified memory for Host and Device Yes
Minimum alignment for any data type 128 bytes
Alignment of base address 1024 bits (128 bytes)
Global Memory cache type Read/Write
Global Memory cache size 33554432 (32MiB)
Global Memory cache line size 64 bytes
Image support Yes
Max number of samplers per kernel 16
Max size for 1D images from buffer 536870912 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 2048x2048x2048 pixels
Max number of read image args 128
Max number of write image args 128
Local memory type Global
Local memory size 524288 (512KiB)
Max number of constant args 8
Max constant buffer size 524288 (512KiB)
Max size of kernel argument 1024
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop Yes
Profiling timer resolution 1ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels Yes
printf() buffer size 16777216 (16MiB)
Built-in kernels (n/a)
Device Extensions cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Portable Computing Language
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [POCL]
clCreateContext(NULL, ...) [default] Success [POCL]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1)
Platform Name Portable Computing Language
Device Name pthread-AMD Ryzen 9 5950X 16-Core Processor
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) Success (1)
Platform Name Portable Computing Language
Device Name pthread-AMD Ryzen 9 5950X 16-Core Processor
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
Platform Name Portable Computing Language
Device Name pthread-AMD Ryzen 9 5950X 16-Core Processor
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.14
ICD loader Profile OpenCL 3.0
Sorry if it's too much information, I've been working on this all week and everything's starting to blur together and I want to make sure I post everything relevant. If more information is needed, lmk. I don't use Windows at all and don't have access to an Nvidia machine.
Ideally, I want to run with my GPU, but I'll accept a CPU option if that's the only way to make this work. Or is AMD just fully incompatible with hashcat? If so, what other options could I use to crack the file? Thanks for your help.
|