Versão estável do Wine 10.0

Após um ano de desenvolvimento e 29 versões experimentais, foi apresentada uma versão estável da implementação aberta da API Win32 - Wine 10.0, que incorporou mais de 6000 alterações. As principais conquistas da nova versão incluem suporte total para a arquitetura ARM64EC, dimensionamento em telas com alta densidade de pixels, inclusão do driver Wayland por padrão, implementação de painéis para configuração da tela e joystick, backend multimídia alternativo baseado em FFmpeg, Bluetooth driver, suporte Vulkan 1.4, capacidade de emulação de comutação de modos de vídeo.

Foi confirmado que 5372 programas funcionam corretamente no Wine. Windows (5336 há um ano, 5266 há dois anos, 5156 há três anos), outros 4435 programas (4397 há um ano, 4370 há dois anos, 4312 há três anos) funcionam bem com configurações adicionais e DLLs externas. 4020 programas (3943 há um ano, 3888 há dois anos, 3813 há três anos) apresentam problemas menores que não interferem no uso da funcionalidade principal do aplicativo.

Principais inovações no Wine 10.0:

  • ARM64
    • Suporte total é fornecido para a arquitetura ARM64EC (compatível com emulação ARM64), cujo nível de suporte no Wine atingiu paridade com a arquitetura ARM64. A arquitetura ARM64EC foi projetada para simplificar a portabilidade de aplicativos originalmente escritos para sistemas x64_86 para sistemas ARM64 e permite que módulos de código x64_86 individuais sejam executados no ambiente ARM64 usando um emulador.
    • Foi implementado suporte total para o formato de arquivo ARM64X PE, que permite combinar código para as arquiteturas ARM64EC e ARM64 em um arquivo executável. Para construir o Wine no formato ARM64X, você precisa instalar o LLVM do Git (a funcionalidade necessária será incluída na versão LLVM 20) e ao executar o script “configure”, especifique a opção “-enable-archs=arm64ec,aarch64” .
    • Uma interface para emular sistemas x64 de 86 bits foi implementada. Ao usar o ARM64EC, o próprio Wine é executado como está e a emulação é aplicada apenas ao código do aplicativo x86-64. A biblioteca com o emulador ainda não está incluída no pacote principal do Wine, mas para executar o código x86-64 no ambiente ARM64, você pode usar o emulador FEX externo construído com suporte ARM64EC.
    • Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
  • Subsistema gráfico
    • Implementado dimensionamento mais preciso em telas com alta densidade de pixels (High-DPI). Foi fornecido suporte ao modo DPI Awareness para organizar a exibição de aplicativos em telas com alta densidade de pixels, levando em consideração se o aplicativo suporta adaptação às alterações de DPI ou não (aplicativos que não levam em consideração o DPI são dimensionados automaticamente). Adicionadas opções para substituir o suporte de alto DPI para aplicativos individuais ou prefixos Wine.
    • O suporte para a especificação Vulkan 1.4 foi adicionado ao driver da API gráfica Vulkan (Vulkan 9.0 era compatível com Wine 1.3.272). Adicionado suporte para extensões Vulkan para codificação e decodificação de vídeo.
    • Ao usar o back-end X11, foi implementada a capacidade de renderizar janelas filhas do Vulkan para aplicativos que usam essas janelas para exibir conteúdo 3D (anteriormente, esse recurso estava disponível apenas para OpenGL).
    • Foi adicionado suporte para o mecanismo de vinculação de fontes à biblioteca GdiPlus, que permite usar várias fontes ao exibir o texto se não houver fontes que cubram separadamente todos os caracteres encontrados no texto.
  • Wayland
    • В конфигурации по умолчанию активирован драйвер winewayland.drv, позволяющий использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11. Wine запускает приложения по умолчанию на Wayland напрямую только если XWayland недоступен, в противном случае запуск с использованием XWayland остаётся приоритетным. Для принудительного включения Wayland можно использовать переменную окружения DISPLAY, либо добавить ключ в реестр, создав файл file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» и применив его командой: $ WINEPREFIX=/путь/до/префикса wine regedit /путь/до/file.reg
    • Adicionado suporte para OpenGL e buffers de pixel (pBuffer) ao driver winewayland.drv.
    • Problemas resolvidos com o posicionamento da janela pop-up em ambientes baseados em Wayland.
    • Ao usar o Wayland, é implementado suporte para repetição automática enquanto pressiona as teclas.
  • Integração de área de trabalho
    • Adicionado um mecanismo experimental de emulação de "configuração de modo" que permite emular a alternância de modos de vídeo sem realmente alterar as configurações da tela. A visibilidade da alteração da resolução da tela sem alternar o modo de vídeo é criada pela expansão e dimensionamento das janelas.
    • Um novo miniaplicativo do Painel de Controle da Área de Trabalho (desk.cpl) foi adicionado com a implementação de uma interface para gerenciar configurações de exibição (por exemplo, você pode alterar a resolução virtual da área de trabalho ou configurar parâmetros de exibição emulados).
    • Adicionada a capacidade de redefinir as configurações da tela para os valores padrão se for impossível restaurar o estado após uma falha do processo.
    • Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
    • Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
  • Direct3D
    • A renderização com OpenGL agora requer suporte para GLSL 1.20, bem como as extensões EXT_framebuffer_object e ARB_texture_non_power_of_two. O suporte para o antigo backend do shader ARB e a configuração OffscreenRenderingMode foram descontinuados.
    • Para Direct3D 9 e anteriores, um pipeline gráfico de função fixa foi adicionado (o antigo Direct3D fornecia apenas operações gráficas predefinidas que não podiam ser alteradas), implementado usando a linguagem de shader HLSL e permitindo emulação de função fixa ao renderizar por meio da API Vulkan ou OpenGL.
    • A renderização com Vulkan usa extensões Vulkan para alterar dinamicamente o estado do pipeline gráfico, reduzindo travamentos nos jogos.
    • Adicionado backend alternativo glsl-vkd3d para shaders GLSL, usando vkd3d-shader.
    • Forneceu suporte inicial para compilar efeitos Direct3D usando vkd3d-shader.
    • A biblioteca D3DX9 implementa a capacidade de gerar texturas MIP (MipMap) ao carregar texturas volumétricas. Adicionado suporte para formatos de representação de cores RGBA de 64bpp e RGB de 48bpp em imagens PNG, bem como formatos X8L8V8U8, A2W10V10U10, A8P8, V16U16 e Q16W16V16U16.
  • Som e vídeo
    • Como alternativa ao backend baseado em GStreamer, foi implementado um novo backend multimídia, baseado no uso de FFmpeg e adequado para executar o framework Media Foundation. Para habilitar um backend alternativo, você deve especificar “DisableGstByteStreamHandler=1” na seção de registro “HKCU\Software\Wine\MediaFoundation”.
    • A implementação da API Media Foundation foi aprimorada para acomodar melhor os aplicativos que dependem dos componentes de demultiplexação e decodificação.
    • A API DirectMusic adicionou suporte para carregar arquivos MIDI.
  • Dispositivos de entrada
    • Adicionada versão inicial do driver Bluetooth.
    • Adicionado miniaplicativo do painel de controle do joystick (joy.cpl) com implementação de configurações para o joystick.
    • Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
    • Para o backend X11, foi adicionado suporte para telas sensíveis ao toque e a capacidade de usar o modo multitoque através do processamento de mensagens WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, etc.) foi implementada.
    • Implementada colocação de algumas estruturas internas da biblioteca user32 em memória compartilhada, o que aumentou o desempenho e reduziu a carga no Wine Server.
    • Winex11 adicionou suporte para processamento de eventos XInput2 em relação a janelas individuais.
    • Implementado suporte correto para teclados com layout Dvorak.
  • Kernel (interfaces do kernel) Windows)
    • Adicionado suporte para escalonamento de privilégios de processo (um processo inicialmente executado como usuário padrão pode receber privilégios de administrador). Ao criar processos de servidor (servidor de ação msi), bem como processos que chamam as funções RtlCreateUserProcess() e CreateProcessInternal(), um token de administrador limitado é habilitado por padrão.
    • Na obtenção de informações sobre rótulos de disco, sempre que possível, passa a ser utilizado o acesso aos serviços do sistema via DBus, ao invés de tentar acessar diretamente o dispositivo.
    • Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
    • Implementada espera por eventos de porta serial em modo assíncrono.
    • Adicionado suporte completo para extensões de processador XSTATE em contextos de thread, permitindo o uso de novas extensões de vetor, como AVX-512.
  • Aplicativos incorporados
    • O mecanismo de processamento de dados de entrada usado no interpretador de comandos cmd.exe foi reescrito. Adicionado suporte para operações “||” ao cmd.exe E "&&".
    • O utilitário findstr adicionou suporte para expressões regulares e pesquisas que não diferenciam maiúsculas de minúsculas.
    • A capacidade de registrar módulos ARM32EC foi adicionada aos utilitários regsvr32 e rundll64.
    • Adicionados utilitários: sort para classificar dados de entrada, fc para comparar arquivos e where para pesquisar arquivos.
    • O aplicativo wmic implementa um modo de operação interativo.
    • O Explorer adicionou suporte opcional para o menu iniciar e barra de ferramentas. Ativação do lançamento do explorer.exe com direitos de acesso reduzidos.
  • Ferramentas de desenvolvimento
    • Adicionada opção "-marm64x" ao winebuild para gerar bibliotecas híbridas ARM64X.
    • Adicionada a opção "-marm64x" ao winegcc para permitir a construção para ARM64X.
    • Os arquivos gerados usando a Linguagem de Definição de Interface (IDL) usam componentes que suportam totalmente a execução no modo interpretado.
    • O suporte para geração de bibliotecas de tipos (TypeLib) no formato antigo (SLTG) foi adicionado ao compilador IDL (Interface Definition Language).
    • O utilitário winedump adicionou suporte para salvar dumps de tabelas de minidespejo, informações de exceção C++ e recursos typelib.
  • Miscelânea
    • Suporte aprimorado para o protocolo de troca de chaves Diffie-Hellman (DH). Adicionada a capacidade de configurar e receber parâmetros DH. Manipuladores implementados para criar pares de chaves públicas e privadas.
    • É fornecido o uso de preenchimento incremental OAEP (Optimal Asymmetric Encryption Padding) junto com o algoritmo RSA.
    • A API DirectPlay oferece suporte a sessões de rede.
    • Melhoria no tratamento de estados de entrada/saída assíncronos ao trabalhar no modo WoW64 (64 bits). Windows-sobre-Windows), o que permite executar sistemas de 32 bits Windows-aplicações em sistemas Unix de 64 bits.
    • Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
    • Para a plataforma ARM, é implementado suporte completo para RPC/COM, C++ RTTI (Run-Time Type Information) e exceções C++.
    • No tempo de execução C, as funções ANSI implementam suporte para codificação UTF-8.
    • Os recursos do mecanismo MSHTML foram expandidos. Adicionado suporte para protótipos e construtores de objetos. Uma nova interface de ligação de objetos para MSHTML foi adicionada ao mecanismo JavaScript. As funções internas do MSHTML foram convertidas em objetos JavaScript válidos. Coleta de lixo JavaScript aprimorada para cobrir todos os contextos de execução de script em um thread. Adicionado suporte para objetos JavaScript ArrayBuffer e DataView.
    • O suporte para análise estática usando relatórios de teste Clang e JUnit foi adicionado ao sistema de integração contínua baseado em Gitlab.
    • A biblioteca Capstone 5.0.3 está embutida no pacote, por meio da qual a desmontagem é implementada no depurador WineDb.
    • Componentes atualizados para novas versões: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 e Zlib 1.3.1.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster