Vulkan (Português) - ArchWiki

Jump to content

# Vulkan (Português)

From ArchWiki
Status de tradução: Este 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):

- Vulkan não é oficialmente suportado por Bumblebee [1] mas funciona com primus_vk.
- O driver Radeon Vulkan agora suporta PRIME [2].

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:

- AMD: vulkan-radeon (ou lib32-vulkan-radeon)
- Intel: vulkan-intel (ou lib32-vulkan-intel)
- NVIDIA: existem duas implementações:
  - nvidia-utils (ou lib32-nvidia-utils) - driver proprietário da NVIDIA
  - vulkan-nouveau (ou lib32-vulkan-nouveau) - NVK (parte do projeto Mesa)
    Note Habilitar o driver NVK requer configurações adicionais do sistema, veja Nouveau#Using the Mesa NVK Vulkan Driver para mais detalhes.

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

- Lavapipe: vulkan-swrast (ou lib32-vulkan-swrast)
- SwiftShader: swiftshader-gitAUR

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`.

Categories:

- Graphics (Português)
- Development (Português)

Vulkan (Português)
Add topic