A empresa Valve lançou o Proton 4.11, um pacote para rodar jogos do Windows no Linux

A empresa Valve publicou uma nova ramificação do projeto Proton 4.11, baseado nos trabalhos do projeto Wine e focado em garantir a execução de aplicativos de jogos em Linux, criados para Windows e disponíveis no catálogo Steam. Os trabalhos do projeto são distribuídos sob a licença BSD. À medida que o Wine original e projetos relacionados, como DXVK e vkd3d, estejam prontos, as alterações desenvolvidas no Proton serão incorporadas.

O Proton permite executar diretamente, no cliente Steam para Linux, aplicativos de jogos que são fornecidos apenas para Windows. O pacote inclui a implementação do DirectX 10/11 (baseado em DXVK) e 12 (baseado em vkd3d), funcionando por meio da tradução de chamadas do DirectX para a API Vulkan, oferecendo suporte aprimorado para controladores de jogos e a capacidade de usar o modo de tela cheia independentemente das resoluções suportadas pelos jogos. Em comparação ao Wine original, o desempenho de jogos multiprocessados aumentou significativamente devido à aplicação do patch "esync» (Sincronização Eventfd) ou «futex/fsync».

Principais mudanças no Proton 4.11:

  • Foi realizada a sincronização com a base de código Wine 4.11, de onde foram transferidas mais de 3300 mudanças (a ramificação anterior era baseada no Wine 4.2). 154 patches do Proton 4.2 foram transferidos upstream e agora fazem parte da composição principal do Wine;
  • Adicionada suporte experimental a primitivos de sincronização baseados na chamada de sistema futex(), que permite reduzir a carga na CPU em comparação com esync. Além disso, a nova implementação resolve problemas relacionados à necessidade de usar configurações especiais para esync e possível esgotamento de descritores de arquivo disponíveis.

    O objetivo do trabalho em andamento é expandir a funcionalidade da chamada de sistema futex() padrão no kernel Linux com recursos necessários para otimizar a sincronização de um pool de threads. Patches necessários para o suporte do Proton à flag FUTEX_WAIT_MULTIPLE já foram enviadas para inclusão na composição principal do kernel Linux e Glibc. As mudanças preparadas ainda não foram incluídas na composição principal do kernel, portanto, no momento é necessário as identidades um kernel específico que suporte esses primitivos;

    A empresa Valve lançou o Proton 4.11, um pacote para rodar jogos do Windows no Linux
  • A camada DXVK (implementação de DXGI, Direct3D 10 e Direct3D 11 sobre a API Vulkan) foi atualizada para a versão 1.3, e D9VK (implementação experimental de Direct3D 9 sobre Vulkan) para a versão 0.13f. Para incluir o suporte D9VK no Proton, deve-se usar a flag PROTON_USE_D9VK;
  • As atualizações atuais da taxa de refresh do monitor são transmitidas para os jogos;
  • Correções relacionadas ao tratamento do foco do cursor do mouse e gerenciamento de janelas foram feitas;
  • Atrasos na entrada e problemas com suporte à vibração para controles foram resolvidos, especialmente em jogos no motor Unity;
  • Adicionada suporte à última versão do OpenVR SDK;
  • Componentes FAudio com implementação de bibliotecas de som DirectX (API XAudio2, X3DAudio, XAPO e XACT3) foram atualizados para a versão 19.07;
  • Problemas com o subsistema de rede em jogos GameMaker foram resolvidos;
  • Muitos módulos do Wine agora são compilados como arquivos PE do Windows, em vez de bibliotecas Linux. À medida que o trabalho avança nessa área, o uso de PE ajudará alguns sistemas de DRM e anti-cheat. No caso de compilações personalizadas do Proton, provavelmente será necessário recriar a máquina virtual Vagrant para compilar arquivos PE.

Antes de aceitar os patches da Valve para o núcleo principal do Linux, que utilizam futex() em vez de esync, é necessário instalar um núcleo especial com suporte ao pool de sincronização de threads, implementado em um conjunto de patches. fsync. Já existe um pacote de núcleo pronto no AUR para o Arch Linux. foi publicado No Ubuntu 18.04 e 19.04, é possível usar o repositório PPA com núcleos experimentais linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Caso tenha um núcleo com suporte ao fsync, ao iniciar o Proton 4.11, será exibida a mensagem na console "fsync: up and running". É possível desativar o fsync forçadamente usando a flag PROTON_NO_FSYNC=1.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster