Lançamento estável do Wine 8.0

Após um ano de desenvolvimento e 28 versões experimentais, foi apresentado o lançamento estável da implementação aberta da API Win32 — Wine 8.0, que incorporou mais de 8600 alterações. A conquista chave na nova versão é a finalização do trabalho de transição dos módulos do Wine para o formato.

No Wine, está confirmada a compatibilidade completa com 5266 (no ano passado 5156, há dois anos 5049) programas para Windows, além de 4370 (no ano passado 4312, há dois anos 4227) programas que funcionam muito bem com configurações adicionais e DLL externas. Com 3888 programas (no ano passado 3813, há dois anos 3703) observam-se pequenos problemas de funcionamento que não interferem nas principais funções das aplicações.

Principais inovações do Wine 8.0:

  • Módulos no formato PE
    • Após quatro anos de trabalho, a transição completa de todas as bibliotecas DLL para o uso do formato de arquivos executáveis PE (Portable Executable, usado no Windows) foi finalizada. O uso do PE permite a utilização de depuradores disponíveis para Windows e resolve problemas de suporte a várias esquemas de proteção contra cópias, que realizam a verificação da identidade dos módulos de sistema no disco e na memória. Também foram resolvidos problemas com a execução de aplicações de 32 bits em hosts de 64 bits e aplicações x86 em sistemas ARM. Entre as tarefas restantes, que se pretende resolver nas próximas versões experimentais do Wine 8.x, destaca-se a transição dos módulos para a interface de chamadas de sistema NT em vez de fazer chamadas diretas entre os níveis PE e Unix.
    • Foi implementado um dispatcher especial de chamadas de sistema, usado para traduzir solicitações do PE para bibliotecas Unix, visando reduzir a sobrecarga ao executar uma chamada de sistema NT completa. Por exemplo, a otimização realizada permitiu reduzir a queda de desempenho ao utilizar bibliotecas OpenGL e Vulkan.
    • Em aplicações Winelib, a possibilidade de usar assemblies mistos de bibliotecas Windows/Unix no formato ELF (.dll.so) foi mantida, mas tais aplicações sem bibliotecas de 32 bits não suportarão funcionalidades disponíveis através da interface de chamadas de sistema NT, como o WoW64.
  • WoW64
    • Para todas as bibliotecas Unix, foram fornecidas camadas WoW64 (Windows-on-Windows de 64 bits), permitindo que módulos de 32 bits no formato PE acessem bibliotecas Unix de 64 bits, o que após a eliminação de chamadas diretas PE/Unix permitirá a execução de aplicativos Windows de 32 bits sem a instalação de bibliotecas Unix de 32 bits.
    • Na ausência de um carregador de 32 bits, o Wine garante a execução de aplicativos de 32 bits em um novo modo experimental semelhante ao Windows chamado WoW64, onde o código de 32 bits é executado dentro de um processo de 64 bits. Este modo é ativado ao compilar o Wine com a opção ‘—enable-archs’.
  • Subsistema gráfico
    • Na configuração padrão, foi aplicada a tema claro (‘Light’). A troca de tema pode ser feita através da ferramenta WineCfg.
      Lançamento estável do Wine 8.0
    • Os drivers gráficos (winex11.drv, winemac.drv, wineandroid.drv) foram transformados para executar chamadas de sistema em nível Unix e acessar os drivers através da biblioteca Win32u.
      Lançamento estável do Wine 8.0
    • Foi implementada uma arquitetura de processamento de impressão (Print Processor), utilizada para evitar chamadas diretas entre os níveis PE e Unix no driver da impressora.
    • Na API Direct2D, foi implementado suporte a efeitos.
    • Na API Direct2D, foi adicionada a capacidade de gravar e reproduzir listas de comandos.
    • No driver para a API gráfica Vulkan, foi adicionado suporte à especificação Vulkan 1.3.237 (no Wine 7, o suporte era para Vulkan 1.2).
  • Direct3D
    • Adicionado um novo compilador de shaders para a linguagem HLSL (High-Level Shader Language), implementado com base na biblioteca vkd3d-shader. Também, com base no vkd3d-shader, foram preparados um disassembler HLSL e um pré-processador HLSL.
    • Foi implementada a interface Thread Pump, que surgiu no D3DX 10.
    • Nos efeitos do Direct3D 10, foi adicionado suporte a muitas novas expressões.
    • Na biblioteca auxiliar para D3DX 9, foi implementado suporte à projeção de texturas Cubemap.
  • Áudio e vídeo
    • Com base na estrutura GStreamer, foi implementado suporte a filtros para decodificação de áudio no formato MPEG-1.
    • Adicionado um filtro para leitura de áudio e vídeo em formato ASF (Advanced Systems Format).
    • A biblioteca intermediária OpenAL32.dll foi removida, e agora utiliza-se a biblioteca nativa do Windows OpenAL32.dll, fornecida com os aplicativos.
    • No Media Foundation Player, melhorou-se a definição do tipo de conteúdo.
    • Implementada a possibilidade de controle da taxa de transmissão de dados (Rate control).
    • Melhorado o suporte ao mixer e ao apresentador (presenter) oferecidos por padrão no Enhanced Video Renderer (EVR).
    • Implementação inicial da API Writer Encoding adicionada.
    • Melhorado o suporte ao carregador de topologias.
  • Dispositivos de entrada
    • Suporte a conexão quente de controladores significativamente aprimorado.
    • Uma implementação aprimorada do código para a detecção de volantes foi proposta, baseada na biblioteca SDL.
    • Melhorado o suporte ao efeito de feedback de força (Force feedback) ao usar volantes.
    • Implementada a possibilidade de controlar os motores de vibração esquerdo e direito, utilizando a especificação HID Haptic.
    • Modificado o design Eu tenho muitos módulos e um tema pesado. O site não vai dar erro 500? com o joystick.
    • Apoio a controladores Sony DualShock e DualSense foi assegurado através do uso do back-end hidraw.
    • Proposto um módulo WinRT Windows.Gaming.Input com uma implementação da interface para acesso a gamepads, joysticks e volantes. O novo API também implementa suporte para notificações de conexão quente de dispositivos, efeitos táteis e de vibração.
  • Internacionalização
    • Geração correta do banco de dados de locais no formato locale.nls a partir do repositório Unicode CLDR (Unicode Common Locale Data Repository) foi assegurada.
    • As funções de comparação de strings Unicode foram alteradas para usar o banco de dados e o algoritmo Windows Sortkey em vez do algoritmo de collation Unicode, aproximando o comportamento do Windows.
    • Apoio a intervalos superiores de códigos (planos) Unicode foi adicionado na maioria das funções.
    • Possibilidade de usar UTF-8 como codificação ANSI foi fornecida.
    • As tabelas de caracteres foram atualizadas para a especificação Unicode 15.0.0.
  • Texto e fontes
    • O emparelhamento de fontes foi incluído na maioria das fontes do sistema, resolvendo o problema da falta de glifos em sistemas com localizações chinesas, coreanas e japonesas.
    • A reimplementação do fallback para fonte reserva no DirectWrite foi revisada.
  • Núcleo (interfaces do núcleo Windows)
    • Foi implementado o banco de dados ApiSetSchema, que substituiu os módulos api-ms-* e reduziu o consumo de disco e espaço de endereçamento.
    • O armazenamento dos atributos de arquivo DOS em um formato compatível com Samba foi assegurado, utilizando atributos estendidos do sistema de arquivos.
  • Capacidades de rede
    • Adicionado suporte ao protocolo OCSP (Online Certificate Status Protocol), usado para verificar certificados revogados.
    • Ampliada a gama de recursos do EcmaScript disponíveis em modo de conformidade com os padrões do JavaScript.
    • Um coletor de lixo para JavaScript foi implementado.
    • Ferramentas para pessoas com deficiência foram incluídas no pacote com o mecanismo Gecko.
    • O MSHTML agora suporta a API Web Storage, o objeto Performance e objetos adicionais para tratamento de eventos.
  • Aplicativos Embutidos
    • Todos os aplicativos embutidos foram migrados para usar a biblioteca Common Controls 6, com suporte para temas e renderização considerando telas de alta densidade de pixels.
    • As capacidades de depuração de threads foram ampliadas no depurador Wine Debugger (winedbg).
    • As ferramentas de registro (REGEDIT e REG) agora suportam o tipo QWORD.
    • O Notepad agora possui uma barra de status com informações sobre a posição do cursor e uma função Ir para Linha para navegar até um número de linha específico.
    • A consola integrada agora permite a saída de dados na página de código OEM.
    • Foi adicionada à ferramenta sc.exe (Service Control) o comando ‘query’.
  • Sistema de Construção
    • Foi introduzida a capacidade de compilar arquivos executáveis no formato PE para várias arquiteturas (por exemplo, ‘—enable-archs=i386,x86_64’).
    • Em todas as plataformas com tipo long de 32 bits, os tipos de dados definidos no Windows como long, no Wine agora são redefinidos como ‘long’ em vez de ‘int’. No Winelib, esse comportamento pode ser desativado com a definição WINE_NO_LONG_TYPES.
    • Adicionada a capacidade de gerar bibliotecas sem usar dlltool (ativado por meio da opção ‘—without-dlltool’ no winebuild).
    • Para aumentar a eficiência de carregamento e reduzir o tamanho de bibliotecas que não contêm código e incluem apenas recursos, o winegcc implementou a opção ‘—data-only’.
  • Diversos
    • As versões das bibliotecas embutidas foram atualizadas: 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 mecanismo Wine Mono com implementação da plataforma .NET foi atualizado para a versão 7.4.
    • Implementado suporte para criptografia baseada no algoritmo RSA e assinaturas digitais RSA-PSS.
    • Adicionada a versão inicial da API UI Automation.
    • Bibliotecas LDAP e vkd3d foram adicionadas à árvore de fontes, agora sendo compiladas no formato PE, eliminando a necessidade de fornecer versões Unix dessas bibliotecas.
    • O uso da biblioteca OpenAL foi descontinuado.

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