As novas versões do Box86 e Box64 já foram lançadas

Faz pouco o lançamento do as novas versões do Emuladores Box86 0.2.6 e Box64 0.1.8. Os projetos são desenvolvidos em sincronia pela mesma equipe de desenvolvimento.

Box86 está limitado à execução de aplicativos x86 de 32 bits (como jogos) em sistemas Linux não x86, como ARM (sistema host deve ser little-endian de 32 bits). Portanto, é necessário um subsistema de 32 bits para executar e compilar o Box86. Box86 é inútil apenas em sistemas de 64 bits. Além disso, você precisa de uma cadeia de ferramentas de 32 bits para compilar o Box86.

Como o Box86 usa as versões nativas de algumas bibliotecas de "sistema", como libc, libm, SDL e OpenGL, é fácil de integrar e usar com a maioria dos aplicativos, e o desempenho pode ser surpreendentemente alto em muitos casos.

O mesmo vale para Box64, só que tal e permite executar executáveis ​​de 64 bits. O projeto presta muita atenção à organização do lançamento de aplicativos de jogos, incluindo a capacidade de liberar compilações do Windows por meio do Wine e do Proton.

Uma característica do projeto é a utilização de um modelo de execução híbrido, em que a emulação é aplicada apenas ao código de máquina da própria aplicação e bibliotecas específicas. As bibliotecas genéricas do sistema, incluindo libc, libm, GTK, SDL, Vulkan e OpenGL, são substituídas por variantes nativas nas plataformas de destino. Portanto, as chamadas da biblioteca são executadas sem emulação, o que permite um aumento significativo de desempenho.

Emulando código que não tem substituições nativass para a plataforma de destino é feito usando a técnica de recompilação dinâmica (DynaRec) de um conjunto de instruções de máquina para outro. Em comparação com a interpretação de instruções de máquina, a recompilação dinâmica mostra um desempenho de 5 a 10 vezes melhor.

em testes de desempenho, ao rodar nas plataformas Armhf e Aarch64, Os emuladores Box86 e Box64 superaram significativamente os projetos QEMU e FEX-emu e em alguns testes (glmark2, openarena) eles obtiveram desempenho idêntico ao da execução de um assembly nativo da plataforma de destino.

Em termos de compatibilidade de aplicações, dDos 165 jogos testados, aproximadamente 70% foram bem sucedidos. Cerca de 10% mais trabalho, mas com certas reservas e restrições.

Dos jogos com problemas apontados, são mencionados jogos baseados no motor Unity3D, que está vinculado ao pacote Mono, cuja emulação ainda nem sempre funciona devido à compilação JIT usada no Mono, e também possui gráficos bastante altos, requisitos que nem sempre pode ser alcançado em placas ARM. A substituição das bibliotecas de aplicativos GTK está atualmente limitada ao GTK2 (a substituição do GTK3/4 não está totalmente implementada).

Quanto a principais mudanças nos novos lançamentos, o seguinte é destacado:

  • Adicionado link para a biblioteca Vulkan. Adicionado suporte a API de gráficos Vulkan e DXVK (implementação de DXGI, Direct3D 9, 10 e 11 sobre Vulkan).
  • Ligações aprimoradas para bibliotecas GTK. Adicionadas associações para gstreamer e bibliotecas comumente usadas em aplicativos GTK.
  • Adicionado suporte inicial (até agora apenas modo de interpretação) para arquiteturas RISC-V e PPC64LE.
  • Correções de bugs foram feitas para melhorar a compatibilidade com o SteamPlay e o Proton Layer. É possível executar muitos jogos Linux e Windows do Steam em placas AArch64 como Raspberry Pi 3 e 4.
  • Gerenciamento de memória aprimorado, comportamento de mmap e monitoramento de violações de proteção de memória.
  • Suporte aprimorado para a chamada do sistema clone em libc. Adicionado suporte para novas chamadas de sistema.
  • No mecanismo de recompilação dinâmica, o trabalho com registros SSE/x87 foi aprimorado, o suporte para novos códigos de máquina foi adicionado, as conversões flutuantes e duplas foram otimizadas, o processamento interno de ramificações foi aprimorado e o suporte simplificado para novas arquiteturas.
  • Carregador de arquivos ELF aprimorado.

Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.