Jump to content

Vulkan (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Vulkan. Data da última tradução: 2026-02-28. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

De acordo com a Wikipédia:

Vulkan é uma API de computação e gráficos 3D multiplataforma e de baixo overhead anunciada inicialmente na GDC 2015 pela Khronos Group.

Saiba mais no website da Vulkan.

Instalação

Note Em gráficos híbridos (NVIDIA Optimus/AMD Dynamic Switchable Graphics):

Para executar um aplicativo Vulkan, você precisará instalar o pacote vulkan-icd-loader (e o lib32-vulkan-icd-loader do repositório multilib se você também deseja executar aplicativos de 32 bits), bem como os drivers Vulkan para sua(s) placa(s) gráfica(s). Existem diversos pacotes que provêm um vulkan-driver ou um lib32-vulkan-driver:

Os drivers a seguir são rasterizadores em software, que podem ser utilizados em dispositivos sem suporte a Vulkan.

Para o desenvolvimento de aplicativos Vulkan, instale o pacote vulkan-headers, e opcionalmente os pacotes vulkan-validation-layers, vulkan-man-pagesAUR e vulkan-tools (você pode encontrar as ferramentas vulkaninfo e vkcube aqui).

Verificação

Para ver quais implementações Vulkan estão instaladas atualmente em seu sistema, use o seguinte comando:

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

Para garantir que Vulkan está funcionando com seu hardware, instale o pacote vulkan-tools e use o comando vulkaninfo para obter informações relevantes sobre o seu sistema. Se você obtiver informações sobre sua placa gráfica, saberá que o Vulkan está funcionando.

$ vulkaninfo

Selecionando

Selecionando entre dispositivos

Em sistemas com múltiplas GPUs pode ser necessário forçar o uso de uma GPU específica. O pacote vulkan-mesa-implicit-layers é necessário para que isso funcione. Definindo MESA_VK_DEVICE_SELECT como ID da marca:ID do dispositivo permite a escolha da GPU desejada.

Para listar os candidatos, execute:

$ MESA_VK_DEVICE_SELECT=list vulkaninfo

Adicionando ! ao final do valor especificado força o uso do dispositivo escolhido. Leia Vulkan mesa device select layer environment variables para mais informações.

Renderização em software

Você pode instalar o rasterizador Vulkan em software conhecido como lavapipe para, por exemplo, depurar problemas de hardware: vulkan-swrast (ou lib32-vulkan-swrast para aplicativos de 32 bits).

O exemplo a seguir mostra a execução da ferramenta vulkaninfo com as variáveis de ambiente necessárias para forçar a renderização completa em software para Vulkan e OpenGL (com __GLX_VENDOR_LIBRARY_NAME=mesa garantindo que o comando também funciona para usuários PRIME):

$ LIBGL_ALWAYS_SOFTWARE=1 __GLX_VENDOR_LIBRARY_NAME=mesa VK_DRIVER_FILES=/usr/share/vulkan/icd.d/lvp_icd.json vulkaninfo

Vulkan Hardware Database

O Vulkan Hardware Database fornece combinações de GPU/driver relatadas pelo usuário. Fornecer informações próprias é possível usando vulkan-caps-viewer-waylandAUR ou vulkan-caps-viewer-x11AUR. .

Solução de problemas

Nvidia - vulkan não está funcionando e não pode inicializar

Variáveis de ambiente

Variáveis de ambiente inválidas ou contraditórias podem fazer com que a Vulkan falhe, e valores inapropriados podem resultar no uso de uma GPU diferente da esperada em máquinas com múltiplas GPUs. Definir as variáveis corretamente também pode ajudar a manter uma GPU secundária desligada quando não estiver sendo utilizada.

Verifique se você tem qualquer outro driver vulkan instalado, isso pode impedir que o driver Vulkan da Nvidia seja detectado.

Alternativamente, defina a variável de ambiente VK_DRIVER_FILES como /usr/share/vulkan/icd.d/nvidia_icd.json.

GSP firmware

Veja NVIDIA/Troubleshooting#GSP firmware.

Nenhum dispositivo para a GPU de exibição encontrado. Os drivers intel-mesa estão instalados?

Tente listar as configurações intel_icd e primus_vk_wrapper em VK_DRIVER_FILES

export VK_DRIVER_FILES=/usr/share/vulkan/icd.d/intel_icd.json:/usr/share/vulkan/icd.d/nv_vulkan_wrapper.json

AMDGPU - ERROR_INITIALIZATION_FAILED após vulkaninfo

Se estiver executando vulkaninfo em uma placa AMD das famílias GCN1 ou GCN2 e encontrar uma mensagem de erro como:

ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.2.135/vulkaninfo/vulkaninfo.h:240:vkEnumerateInstanceExtensionProperties failed with ERROR_INITIALIZATION_FAILED

Cheque se você habilitou o suporte para este modelo de placa de vídeo corretamente (AMDGPU#Enable Southern Islands (SI) and Sea Islands (CIK) support).

Uma possibilidade para checar se os drivers da GPU foram carregados corretamente é executar lspci -k e checar o driver do kernel para a sua GPU. O driver deve ser amdgpu.

$ lspci -k
...
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
	Subsystem: Gigabyte Technology Co., Ltd Device 226c
	Kernel driver in use: amdgpu
	Kernel modules: radeon, amdgpu
...

Algumas postagens no fórum sobre este problema: [3] [4]

AMDGPU - Aplicativos Vulkan abrindo com lentidão

Se você instalar o pacote cuda, pode se deparar com aplicativos Vulkan, como por exmeplo Chromium, abrindo com lentidão. Isto acontece porque o pacote nvidia-utils provém um driver Vulkan e a API Vulkan tenta carregar os drivers da NVIDIA antes dos drivers Radeon. Para resolver isto, define a variável de ambiente VK_DRIVER_FILES como /usr/share/vulkan/icd.d/radeon_icd.json.