Desenvolvedores do Wine trabalham para que o jogo “Nuclear Strike” de 1997 funcione no Linux em 2024

Desenvolvedores do Wine trabalham para que o jogo “Nuclear Strike” de 1997 funcione no Linux em 2024

Em um tom de nostalgia, um jogo que surgiu há cerca de 26 anos estará finalmente rodando no Linux. É que os desenvolvedores do Wine trabalham para que o jogo “Nuclear Strike” de 1997 funcione no Linux em 2024.

Embora o Wine (e downstreams como o Proton da Valve) permitam que muitos jogos e aplicativos mais recentes do Windows rodem muito bem em sistemas Linux modernos, mesmo quando se trata de jogos Direct3D 12 recentes e similares, às vezes são os jogos/aplicativos mais antigos que podem ser mais um dor de cabeça para solucionar bugs no software e outras relíquias antigas. Uma das questões mais recentes que levaram a uma discussão upstream sobre o kernel do Linux é sobre o jogo Nuclear Strike, publicado pela primeira vez em 1997 para o Microsoft Windows 98, na tentativa de executá-lo com o Wine no Linux.

Elizabeth Figura, da CodeWeavers, está tentando fazer o Nuclear Strike rodar no Wine para riscar mais um bug da lista. Este jogo do Windows 98 depende de acesso VGA direto e atualmente alguns problemas com o Wine devido à sua forma de acessar diretamente a memória de vídeo.

Figura trouxe isso para os desenvolvedores upstream do kernel Linux em formas de brainstorming para melhor descobrir a emulação SGDT (Store Global Descriptor Table) para Wine. Para processadores Intel e AMD mais recentes com suporte para User Mode Instruction Prevention ( UMIP ), é mais fácil lidar com a emulação SGDT para vinho do que com processadores Intel/AMD pré-UMIP, mas Figura trouxe isso à equipe do LKML para ver melhores maneiras de lidar com a emulação SGDT por finalmente apoiar este jogo de 1997 no Linux sob Wine em 2024.

Desenvolvedores do Wine trabalham para que o jogo “Nuclear Strike” de 1997 funcione no Linux em 2024

Desenvolvedores do Wine trabalham para que o jogo “Nuclear Strike” de 1997 funcione no Linux em 2024

A resposta é que em processadores habilitados para UMIP deve ser fácil de manusear, mas para casos não-UMIP a recomendação é que os desenvolvedores do Wine explorem a interação direta com o KVM. Peter Anvin recomendou:

“Para o caso não-UMIP, e provavelmente para muitos outros casos extremos, como confiar em certos valores do seletor mágico e outros, a melhor opção realmente seria agrupar o código em um contêiner KVM leve. Eu não quero dizer executando a parte do espaço do usuário Qemu do KVM; em vez disso, tenha a interface do Wine com /dev/kvm diretamente. O hardware não compatível com KVM é basicamente histórico neste ponto.”

Em resposta, embora os desenvolvedores do Wine sintam que aproveitar o KVM diretamente para esses casos extremos provavelmente seria impraticável e também há implicações de desempenho. Explorações anteriores sobre o aproveitamento do suporte de virtualização com Wine foram consideradas “impraticavelmente lentas”. O desenvolvedor de longa data do Wine, Stefan Dösinger, comentou: “Não acho que rodar o Wine dentro do KVM será realista.”

Pelo menos para aqueles com processadores mais recentes Pelo menos para aqueles com processadores AMD (Zen 2+) e Intel mais recentes com suporte UMIP, há um caminho a seguir para trabalhar nesta emulação SGDT para potencialmente fazer com que o jogo Nuclear Strike da EA de 1997 funcione bem no Linux em 2024 Aqueles que desejam acompanhar a discussão na lista de discussão do kernel Linux sobre o tópico podem fazê-lo através de lore.kernel.org.