O lançamento oficial da versão estável ocorreu em 21 de janeiro de 2020. — uma ferramenta gratuita para executar programas nativos do Windows em um ambiente UNIX. É uma implementação alternativa e gratuita da API do Windows. O acrônimo recursivo WINE significa "Wine Is Not an Emulator" (Wine não é um emulador).
Esta versão está em desenvolvimento há cerca de um ano e inclui mais de 7400 alterações individuais. O desenvolvedor principal, Alexandre Julliard, destaca quatro delas:
- Suporte para módulos no formato PE. Isso resolve problemas com diversos esquemas de proteção contra cópia que verificam os módulos do sistema no disco e na memória.
- Suporte para múltiplos monitores e múltiplas GPUs, incluindo alterações dinâmicas de configurações.
- Reimplementação do XAudio2 baseada no projeto FAudio, uma implementação de código aberto das bibliotecas de áudio do DirectX. A mudança para o FAudio possibilita áudio de maior qualidade em jogos, mixagem de volume, efeitos sonoros avançados e muito mais.
- Suporte para Vulkan 1.1.
Mais detalhes sobre as principais inovações.
módulos PE
Com o compilador MinGW, a maioria dos módulos do Wine agora são compilados como executáveis PE (Portable Executable, um formato binário do Windows) em vez de ELF.
Os executáveis PE agora são copiados para o diretório. ~/.wine em vez de usar arquivos DLL fictícios, o que faz com que os aplicativos pareçam mais com instalações reais do Windows.
Nem todos os módulos foram convertidos para o formato PE ainda. O trabalho está em andamento.
Subsistema gráfico
Conforme mencionado acima, foi adicionado suporte para trabalhar com vários monitores e adaptadores gráficos.
O driver Vulkan foi atualizado para as especificações do Vulkan 1.1.126.
Além disso, a biblioteca WindowsCodecs agora oferece suporte a formatos raster adicionais, incluindo formatos de paleta indexada.
Direct3D
Aplicativos Direct3D em tela cheia agora bloqueiam a ativação do protetor de tela.
Para aplicações DXGI, a capacidade de alternar entre o modo de tela cheia e o modo janela foi implementada usando a combinação padrão Alt+Enter.
As funcionalidades do Direct3D 12 foram expandidas, incluindo suporte para alternar entre os modos de tela cheia e janela, mudanças de modo de tela, visualizações dimensionadas e intervalos de troca. Todos esses recursos já estavam implementados em versões anteriores da API Direct3D.
Os colaboradores do projeto trabalharam diligentemente para corrigir literalmente centenas de bugs, aprimorando o tratamento de diversos casos extremos pelo Wine. Isso inclui a amostragem de recursos 2D em samplers 3D e vice-versa, o uso de valores de entrada fora do intervalo para testes de transparência e profundidade, a renderização com texturas e buffers refletidos, o uso de clippers incorretos (objetos DirectDraw) e muito mais.
Reduziu-se o espaço de endereçamento necessário ao carregar texturas 3D compactadas usando o método S3TC (em vez de carregá-las por completo, as texturas são carregadas em partes).
Diversas melhorias e correções relacionadas aos cálculos de iluminação foram implementadas em aplicações DirectDraw mais antigas.
O banco de dados de placas gráficas reconhecidas no Direct3D foi ampliado.
Redes e Criptografia
O mecanismo Gecko foi atualizado para a versão 2.47.1 para oferecer suporte a ferramentas modernas. Diversas novas APIs HTML foram implementadas.
O MSHTML implementa suporte para elementos SVG.
Muitas novas funcionalidades do VBScript foram adicionadas (por exemplo, manipuladores de erros e exceções).
Foi implementada a capacidade de obter parâmetros de configuração de proxy HTTP via DHCP.
Na parte criptográfica, foi implementado o suporte para chaves criptográficas de curva elíptica (ECC) via GnuTLS, foi adicionada a capacidade de importar chaves e certificados de arquivos PFX e foi adicionado o suporte para o esquema de geração de chaves baseado em senha PBKDF2.
Adobe Photoshop CS6 no Wine
Outras inovações significativas
- Suporte para spinlocks do kernel NT.
- Devido à expiração das patentes de compressão de textura DXTn e S3, tornou-se possível incluí-las na implementação padrão.
- Suporta instalação de drivers plug-and-play.
- Diversas melhorias no DirectWrite.
- Suporte aprimorado para a API do Windows Media Foundation.
- Melhor sincronização de primitivas graças à implementação em futexes.
- Utilizando Wine-Mono em conjunto para economizar espaço em vez de uma implementação .NET de código aberto.
~/.wine. - Suporte para Unicode 12.0 e 12.1.
- Implementação do serviço HTTP Starter (HTTP.sys) como substituto da API Winsock e do IIS, resultando em melhorias de desempenho em relação à API Windows Sockets.
- Melhor compatibilidade com depuradores do Windows.
- Melhor suporte para LLVM MinGW e melhorias na compilação cruzada com WineGCC.
As melhorias na interface do usuário também merecem destaque. Por exemplo, as janelas minimizadas agora são exibidas usando uma barra de título em vez de ícones no estilo do Windows 3.1. O suporte para controles de jogos, incluindo o botão direcional, o volante e os pedais, foi aprimorado.
Os decodificadores AVI, MPEG-I e WAVE integrados foram removidos do Wine, que agora utiliza o GStreamer ou o QuickTime do sistema.
Foi adicionada a capacidade de usar o depurador do Visual Studio para depuração remota de aplicativos em execução no Wine, a biblioteca DBGENG (Debug Engine) foi parcialmente implementada e a dependência da libwine foi removida dos arquivos compilados para Windows.
Para otimizar o desempenho, diversas funções de gerenciamento de tempo foram migradas para funções de temporizador de sistema de alto desempenho, reduzindo a sobrecarga do loop de renderização em muitos jogos. Outras otimizações de desempenho também foram implementadas.
Para obter uma lista completa das alterações, consulte .
,
O site Mantém-se um banco de dados de aplicativos Windows compatíveis com o Wine. Aqui estão os principais. :
- Final Fantasy XI
- Adobe Photoshop CS6 (13.0)
- mundo de warcraft 8.3.0
- EVE Online Atual
- Magic: The Gathering Online 4.x
Pode-se presumir que esses aplicativos são executados com mais frequência no Wine.
Nota: O lançamento do Wine 5.0 é dedicado à memória de Józef Kucia, que faleceu tragicamente em agosto de 2019, aos 30 anos, enquanto explorava uma caverna no sul da Polônia. Józef foi um importante colaborador no desenvolvimento do Direct3D Wine e o autor principal do projeto. Durante o período em que trabalhou no Wine, ele contribuiu com mais de 2500 patches.

Fonte: habr.com
