Versão estável do Wine 8.0

Após um ano de desenvolvimento e 28 versões experimentais, foi apresentada uma versão estável da implementação aberta da API Win32 - Wine 8.0, que incorporou mais de 8600 alterações. A principal conquista da nova versão marca a conclusão do trabalho de tradução dos módulos do Wine para o formato.

O Wine confirmou o funcionamento completo de 5266 (há um ano 5156, dois anos atrás 5049) programas para Windows, outros 4370 (um ano atrás 4312, dois anos atrás 4227) programas funcionam perfeitamente com configurações adicionais e DLLs externas. 3888 programas (3813 há um ano, 3703 há dois anos) apresentam pequenos problemas operacionais que não interferem no uso das principais funções dos aplicativos.

Principais inovações no Wine 8.0:

  • Módulos em formato PE
    • Após quatro anos de trabalho, foi concluída a conversão de todas as bibliotecas DLL para o formato de arquivo executável PE (Portable Executable, usado no Windows). O uso do PE permite o uso de depuradores disponíveis para Windows e resolve problemas de suporte a diversos esquemas de proteção contra cópia que verificam a identidade dos módulos do sistema no disco e na memória. Problemas com a execução de aplicativos de 32 bits em hosts de 64 bits e aplicativos x86 em sistemas ARM também foram resolvidos. Entre as tarefas restantes que estão planejadas para serem resolvidas nas versões experimentais subsequentes do Wine 8.x, está a transição de módulos para a interface de chamada do sistema NT em vez de fazer chamadas diretas entre as camadas PE e Unix.
    • Um gerenciador de chamadas de sistema especial foi implementado, usado para traduzir chamadas de bibliotecas PE para Unix, a fim de reduzir a sobrecarga de execução de uma chamada de sistema NT completa. Por exemplo, a otimização permitiu reduzir a degradação do desempenho ao usar as bibliotecas OpenGL e Vulkan.
    • Os aplicativos Winelib mantêm a capacidade de usar assemblies mistos Windows/Unix de bibliotecas ELF (.dll.so), mas esses aplicativos sem bibliotecas de 32 bits não suportarão a funcionalidade disponível por meio da interface de chamada do sistema NT, como WoW64.
  • Uau64
    • Camadas WoW64 (Windows-on-Windows de 64 bits) são fornecidas para todas as bibliotecas Unix, permitindo que módulos de 32 bits no formato PE acessem bibliotecas Unix de 64 bits, que, depois de se livrar das chamadas diretas PE/Unix, farão isso possível executar aplicativos Windows de 32 bits sem instalar bibliotecas Unix de 32 bits.
    • Na ausência de um carregador Wine de 32 bits, os aplicativos de 32 bits podem ser executados no novo modo WoW64 experimental semelhante ao Windows, no qual o código de 32 bits é executado dentro de um processo de 64 bits. O modo é habilitado ao construir o Wine com a opção '—enable-archs'.
  • Subsistema gráfico
    • A configuração padrão utiliza o tema light (“Light”). Você pode alterar o tema usando o utilitário WineCfg.
      Versão estável do Wine 8.0
    • Drivers gráficos (winex11.drv, winemac.drv, wineandroid.drv) são convertidos para executar chamadas de sistema no nível Unix e acessar os drivers por meio da biblioteca Win32u.
      Versão estável do Wine 8.0
    • Foi implementada a arquitetura do Processador de Impressão, que permite eliminar chamadas diretas entre os níveis PE e Unix no driver da impressora.
    • A API Direct2D agora oferece suporte a efeitos.
    • A API Direct2D adicionou a capacidade de gravar e reproduzir listas de comandos.
    • O driver para a API gráfica Vulkan adicionou suporte para a especificação Vulkan 1.3.237 (Vulkan 7 era compatível com Wine 1.2).
  • Direct3D
    • Adicionado um novo compilador de shader para HLSL (High-Level Shader Language), implementado com base na biblioteca vkd3d-shader. Também baseado no vkd3d-shader, um desmontador HLSL e um pré-processador HLSL foram preparados.
    • A interface Thread Pump introduzida no D3DX 10 foi implementada.
    • Os efeitos Direct3D 10 adicionam suporte para muitas expressões novas.
    • A biblioteca de suporte para D3DX 9 agora oferece suporte à projeção de textura Cubemap.
  • Som e vídeo
    • Com base no framework GStreamer, foi implementado suporte a filtros para decodificação de áudio no formato MPEG-1.
    • Adicionado um filtro para leitura de streaming de áudio e vídeo no formato ASF (Advanced Systems Format).
    • A camada de biblioteca intermediária OpenAL32.dll foi removida, em vez da biblioteca nativa do Windows OpenAL32.dll, fornecida com os aplicativos, agora é usada.
    • O Media Foundation Player melhorou a detecção do tipo de conteúdo.
    • A capacidade de controlar a taxa de transferência de dados (controle de taxa) foi implementada.
    • Suporte aprimorado para o mixer e apresentador padrão no Enhanced Video Renderer (EVR).
    • Adicionada implementação inicial da API Writer Encoding.
    • Suporte aprimorado ao carregador de topologia.
  • Dispositivos de entrada
    • Suporte significativamente aprimorado para hot plugging de controladores.
    • É proposta uma implementação aprimorada do código para determinação de volantes de jogos, construído com base na biblioteca SDL.
    • Suporte aprimorado para o efeito Force feedback ao usar rodas de jogo.
    • A capacidade de controlar motores de vibração esquerdo e direito usando a especificação HID Haptic foi implementada.
    • Alterado o design do painel de controle do joystick.
    • O suporte para controladores Sony DualShock e DualSense é fornecido através do uso do backend hidraw.
    • O módulo WinRT Windows.Gaming.Input é proposto com a implementação de uma interface de software para acesso a gamepads, joysticks e rodas de jogos. Para a nova API, entre outras coisas, é implementado suporte para notificação de hot plugging de dispositivos, efeitos táteis e de vibração.
  • Internacionalização
    • A geração do banco de dados de localidade correto no formato locale.nls a partir do repositório Unicode CLDR (Unicode Common Locale Data Repository) é garantida.
    • As funções de comparação de strings Unicode foram movidas para usar o banco de dados e o algoritmo Sortkey do Windows em vez do algoritmo Unicode Collation, aproximando o comportamento do Windows.
    • A maioria dos recursos adicionou suporte para intervalos de código Unicode superiores (planos).
    • É possível usar UTF-8 como codificação ANSI.
    • As tabelas de caracteres foram atualizadas para a especificação Unicode 15.0.0.
  • Texto e fontes
    • A vinculação de fontes foi habilitada para a maioria das fontes do sistema, resolvendo o problema de falta de glifos em sistemas com localidades chinesa, coreana e japonesa.
    • Fallback de fonte substituta retrabalhado no DirectWrite.
  • Kernel (interfaces do kernel do Windows)
    • Foi implementado o banco de dados ApiSetSchema, que substituiu os módulos api-ms-* e reduziu o consumo de espaço em disco e endereço.
    • Os atributos do arquivo DOS são salvos no disco em um formato compatível com Samba usando atributos FS estendidos.
  • Oportunidades de networking
    • Adicionado suporte para OCSP (Online Certificate Status Protocol), usado para verificar certificados revogados.
    • A gama de recursos EcmaScript disponíveis no modo de conformidade com os padrões JavaScript foi ampliada.
    • Implementou um coletor de lixo para JavaScript.
    • O pacote do motor Gecko inclui recursos para pessoas com deficiência.
    • MSHTML adiciona suporte para a API Web Storage, o objeto Performance e objetos adicionais para processamento de eventos.
  • Aplicativos incorporados
    • Todos os aplicativos integrados foram convertidos para utilizar a biblioteca Common Controls 6, com suporte para temas de design e renderização levando em consideração telas com alta densidade de pixels.
    • Recursos aprimorados para depuração de threads no Wine Debugger (winedbg).
    • Os utilitários de registro (REGEDIT e REG) agora suportam o tipo QWORD.
    • O Bloco de notas adicionou uma barra de status com informações sobre a posição do cursor e uma função Goto Line para ir para um número de linha especificado
    • O console integrado fornece saída de dados na página de código OEM.
    • O comando 'query' foi adicionado ao utilitário sc.exe (Service Control).
  • Sistema de montagem
    • Foi fornecida a capacidade de construir arquivos executáveis ​​no formato PE para diversas arquiteturas (por exemplo, '—enable-archs=i386,x86_64').
    • Em todas as plataformas com o tipo long de 32 bits, os tipos de dados definidos como long no Windows agora são redefinidos como ‘long’ em vez de ‘int’ no Wine. No Winelib, este comportamento pode ser desabilitado através da definição WINE_NO_LONG_TYPES.
    • Adicionada a capacidade de gerar bibliotecas sem usar dlltool (habilitada pela configuração da opção '—without-dlltool' no winebuild).
    • Para melhorar a eficiência do carregamento e reduzir o tamanho das bibliotecas sem código e somente com recursos, o winegcc implementa a opção '--data-only'.
  • Miscelânea
    • Versões atualizadas das bibliotecas integradas Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • O motor Wine Mono com implementação da plataforma .NET foi atualizado para a versão 7.4.
    • Foi implementado suporte para criptografia baseada no algoritmo RSA e assinaturas digitais RSA-PSS.
    • Adicionada versão inicial da API UI Automation.
    • A árvore de origem inclui as bibliotecas LDAP e vkd3d, que são compiladas no formato PE, eliminando a necessidade de fornecer assemblies Unix dessas bibliotecas.
    • A biblioteca OpenAL foi descontinuada.

Fonte: opennet.ru

Adicionar um comentário