Vulcan은 TTY에서는 GPU를 감지하지만 gnome에서는 감지하지 않습니다.

Vulcan은 TTY에서는 GPU를 감지하지만 gnome에서는 감지하지 않습니다.

나는 데비안 11을 사용하고 있습니다

tty1을 덮어쓰는 프로그램이 있습니다. 그래서 컴퓨터를 시작하면 프로그램이 즉시 실행됩니다. 이것은 잘 작동하지만 저는 Gnome을 GUI로 사용하여 프로그램을 개발하고 테스트합니다. Gnome에서 프로그램을 실행하면 다음과 같은 결과가 나타납니다.

WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
Segmentation fault

tty 출력에서 ​​vulkaninfo --summary를 실행합니다.

Devices:
========
GPU0:
        apiVersion         = 420641 (1.2.145)
        driverVersion      = 83898373
        vendorID           = 0x10002
        deviceID           = 0x1508
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = AMD_RADV_RAVEN *ACO)
        driverID           = DRIVER_ID_MESA_RADV
        driverName         = radv
        driverInfo         = Mesa 20.3.5 (ACO)
        conformanceVersion = 1.2.3.0 

GPU1:
        apiVersion         = 4194306 (1.0.2)
        driverVersion      = 1 (0x0001)
        vendorID           = 0x10005
        deviceID           = 0x0000
        deviceType         = PHYSICAL_DEVICE_TYPE_CPU
        deviceName         = llvmpipe (LLVM 11.0.1, 256 bits)
        driverID           = DRIVER_ID_MESA_LLVMPIPE
        driverName         = llvmpipe
        

그러나 gnome 출력에서 ​​vulkaninfo --summary를 실행하면

Devices:
========
GPU0:
        apiVersion         = 4194306 (1.0.2)
        driverVersion      = 1 (0x0001)
        vendorID           = 0x10005
        deviceID           = 0x0000
        deviceType         = PHYSICAL_DEVICE_TYPE_CPU
        deviceName         = llvmpipe (LLVM 11.0.1, 256 bits)
        driverID           = DRIVER_ID_MESA_LLVMPIPE
        driverName         = llvmpipe
        driverInfo         = Mesa 20.3.5 (LLVM 11.0.1)
        conformanceVersion = 1.0.0.0
        driverInfo         = Mesa 20.3.5 (LLVM 11.0.1)
        conformanceVersion = 1.0.0.0

그래서 Gnome에서는 단지 CPU를 사용하고 있다는 것을 알 수 있습니다. 내 GPU도 사용하도록 Vulkan을 구성하는 방법이 있나요?

답변1

그래서 내 자신의 질문에 대답하려면 :

나는 달렸다

lspci -k

Gnome이 내 GPU를 인식했는지 확인했고 거기서 내 GPU와 해당 커널 드라이버를 볼 수 있었습니다.

그래서 Vulkan 자체에 문제가 있을 수 있다는 것을 깨닫고 다음을 실행했습니다.

ls /usr/share/vulkan/icd.d/

이것은 나에게 출력을 제공합니다

intel_icd.x86_64.json lvp_icd.x86_64.json radeon_icd.x86_64.json

radeon_icd.x86_64.json내 AMD GPU에 설치 가능한 클라이언트 드라이버입니다.

그럼 난 달렸어

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

그런 다음 내 프로그램을 실행했는데 작동했습니다.

관련 정보