Ver ofertas na Amazon Ver ofertas na Amazon

Proposta de novo driver para o kernel Linux ajuda no desempenho de jogos com o Wine/Proton

Proposta de novo driver para o kernel Linux ajuda no desempenho de jogos com o Wine/Proton

Durante a Linux Plumbers Conference do ano passado, Elizabeth Figura, da CodeWeavers, propôs um novo driver de primitivas de sincronização do Windows NT para o kernel Linux. Esse driver expõe /dev/ntsync como um novo “character device” (em tradução livre: dispositivo de caractere) para implementar algumas das primitivas de sincronização do Windows NT diretamente no kernel Linux.

Isso no mundo real, por sua vez, aprimoraria o desempenho de alguns jogos e aplicativos do Windows em execução no Linux por meio do Wine, resultando, em alguns casos, em desempenho significativamente melhor.

Elizabeth Figura publicou o RFC (Request for Comments, ou, em tradução livre, pedido para comentários) em várias listas de discussão do kernel Linux para explicar as motivações para esse novo driver de primitivas de sincronização, visando o comportamento do kernel do Windows NT.

“O projeto Wine emula a API do Windows no espaço do usuário. Uma parte específica dessa API, nomeadamente as primitivas de sincronização do NT, historicamente foram implementadas via RPC para um processo "kernel" dedicado. No entanto, aplicativos mais recentes utilizam essas APIs de maneira mais intensa”, explica Elizabeth Figura.

“As APIs de sincronização do NT são muito complexas para serem implementadas em cima de primitivas existentes sem sacrificar a correção. Certas operações, como NtPulseEvent() ou o modo "wait-for-all" de NtWaitForMultipleObjects(), exigem controle direto sobre a fila de espera subjacente, e implementar uma fila de espera suficientemente robusta para o Wine no espaço do usuário não é possível. Portanto, este driver proposto implementa as interfaces problemáticas diretamente no kernel Linux", continuou.

A série inicial de patches propostos consiste em 32 patches, enquanto 17 patches são da implementação atual. Com esses patches do driver de kernel "NTSYNC", há benefícios para diferentes jogos do Windows no Wine, variando de 21% com Metro 2033 a incríveis 678% com DiRT 3.

Proposta de novo driver para o kernel Linux ajuda no desempenho de jogos com o Wine/Proton

Não é uma ideia totalmente nova, pois há anos os desenvolvedores do Wine procuram uma nova API de sincronização do kernel Linux que seja melhor do que atual esync/fsync para lidar com as necessidades da API de objetos de sincronização do Windows NT.

Será muito interessante ver para onde leva esse trabalho do driver de primitivas de sincronização do NT e se/quando será finalmente aceito no kernel Linux para aprimorar o desempenho de jogos e aplicativos do Windows no Linux.

De qualquer forma, como esta série está marcada como "RFC" e há alguns elementos de design abertos em sua implementação, pode ser necessário fazer algumas revisões antes de chegar a algo que possa ser incorporado no kernel Linux. Para mais detalhes, veja esta série de patches para o trabalho inicial do RFC.

FONTE: Phoronix

Os livros mais vendidos na Amazon.