Atualização do driver de GPU da Apple M1/M2
- O driver gráfico de kernel para GPUs Apple M1 e M2 foi escrito em Rust e vem chamando atenção por ter alcançado conformidade com vários padrões gráficos.
- Na X.Org Developers Conference (XDC) 2024, Alyssa Rosenzweig apresentou uma atualização sobre o estado do driver e os tipos de jogos que ele consegue suportar.
- Rosenzweig mantém desde 2019 a tradição de fazer sua apresentação na XDC vestida de bruxa.
Atualizações e tesselação
- Na XDC do ano passado, foi informado que o driver havia alcançado conformidade com OpenGL ES 3.1.
- Agora, o driver alcançou conformidade com OpenGL 4.6, e a discussão segue para os shaders de tesselação.
- O tessellator de hardware da GPU da Apple não tem recursos suficientes para implementar os padrões OpenGL, Vulkan e Direct3D, o que dificulta seu uso.
- O driver implementa tesselação por software, convertendo e utilizando o código do tessellator de referência da Microsoft para OpenCL C.
Vulkan e jogos
- O driver Honeykrisp para GPU M1/M2 alcançou conformidade com Vulkan 1.3.
- Para compatibilidade com DirectX, Windows e CPUs x86, ele usa o driver DXVK e o Wine para fazer a conversão para Vulkan.
- Usa o FEX-Emu para conversão de x86 para Arm64 e recorre a uma máquina virtual para resolver a diferença no tamanho de página.
Desempenho e execução de jogos
- O driver consegue rodar vários jogos, e o desempenho, embora um pouco inferior ao da aceleração por hardware, está em um nível prático.
- Jogos mais pesados exigem 16 GB ou mais de RAM, enquanto alguns títulos também podem rodar em sistemas com 8 GB.
- O suporte a ray tracing tem baixa prioridade no momento, e há planos de começar o trabalho para a GPU M3.
Resumo do GN⁺
- O driver de GPU da Apple M1/M2, escrito em Rust, oferece alta estabilidade e bom desempenho.
- O driver é compatível com vários padrões gráficos, e a implementação de tesselação usando OpenCL é especialmente interessante.
- Graças à compatibilidade com Vulkan e DirectX, ele consegue rodar diversos jogos, e o uso de máquina virtual para resolver o problema de tamanho de página é uma abordagem criativa.
- Este artigo é útil para entender os desafios e as soluções no desenvolvimento de drivers de GPU modernos, e projetos com funções semelhantes como DXVK e Wine são recomendados.
1 comentários
Opiniões no Hacker News
/SubscriberLink/tessellator.clé o arquivo mais confuso de toda a carreira deles