Versión estable de Wine 9.0

Despois dun ano de desenvolvemento e 26 versións experimentais, presentouse unha versión estable da implementación aberta da API Win32 - Wine 9.0, que incorporou máis de 7000 cambios. Os principais logros da nova versión inclúen a implementación da arquitectura WoW64 para executar programas de 32 bits nun ambiente de 64 bits, a integración de controladores para soportar Wayland, soporte para a arquitectura ARM64, implementación da API DirectMusic e soporte para tarxetas intelixentes.

Confirmouse que 5336 programas (5266 hai un ano, 5156 hai dous anos, 5049 hai tres anos) funcionan correctamente en Wine. WindowsOutros 4397 programas (4370 hai un ano, 4312 hai dous anos, 4227 hai tres anos) funcionan ben con configuracións adicionais e DLL externas. 3943 programas (3888 hai un ano, 3813 hai dous anos, 3703 hai tres anos) teñen problemas menores que non interfiren coa funcionalidade básica das aplicacións.

Novidades clave en Wine 9.0:

  • Engadiuse o controlador winewayland.drv, que permite usar Wine en entornos baseados en Wayland sen usar compoñentes XWayland ou X11. Este desenvolvemento ten como obxectivo proporcionar un entorno Wayland puro con soporte de lanzamento. Windows- aplicacións que non requiren a instalación de paquetes relacionados con X11, o que permite un maior rendemento e capacidade de resposta nos xogos ao eliminar capas innecesarias. O uso dun ambiente Wayland puro para Wine tamén elimina os problemas de seguridade inherentes a X11 (por exemplo, os xogos X11 non fiables poden espiar outras aplicacións porque o protocolo X11 permite o acceso a todos os eventos de entrada e realizar a substitución de pulsacións de teclas).

    O controlador está marcado como experimental e en desenvolvemento, pero, con todo, xa ten soporte para moitas funcións, como a xestión de fiestras, o traballo con varios monitores, o soporte para a escala de saída en pantallas de alta densidade de píxeles (alto DPI), o traballo con coordenadas relativas ao rastrexar o movemento do rato e compatibilidade coa API de gráficos Vulkan. Por defecto, o controlador non está activo e para activalo debes engadir "wayland" ao parámetro de rexistro "HKCU\Software\Wine\Drivers" e asegurarte de que a variable de ambiente DISPLAY non estea configurada: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • Todos os módulos foron convertidos á interface de chamadas do sistema NT, en lugar de facer chamadas directas entre as capas PE e Unix, o que marca a conclusión de moitos anos de traballo para converter todas as DLL para usar o formato de ficheiro executable PE (Executable Portátil).
  • O desenvolvemento da capa de WoW64 (64 bits) continuou Windows-en-Windows), que che permite executar 32 bits Windows- aplicacións en sistemas Unix de 64 bits. Todos os módulos que acceden ás bibliotecas de Unix empregan tradutores de chamadas ao sistema WoW64 (thunks), o que permite que os módulos de 32 bits en formato PE accedan ás bibliotecas de Unix de 64 bits.

    Mellorouse o novo modo de inicio de WoW64, o que permite executar código de 32 bits dentro dun proceso de 64 bits (no antigo modo WoW64, as aplicacións de 32 bits executábanse en procesos Unix de 32 bits). Engadiuse compatibilidade co uso do novo modo WoW64 na plataforma. macOSDado que o novo modo WoW64 ten algúns erros menores, como a falta de compatibilidade con 16 bits e un rendemento reducido de OpenGL debido á falta de compatibilidade coa extensión ARB_buffer_storage, aínda non está activado por defecto e require a compilación coa opción "--enable-archs=i386,x86_64" no script de configuración.

  • Engadiuse a capacidade de executar ficheiros executábeis existentes Windows En sistemas coa arquitectura ARM64. Agora pódese compilar Wine para a ABI ARM64EC (compatible coa emulación ARM64) e pódense cargar módulos ARM64EC. Estes módulos úsanse para simplificar a migración de aplicacións escritas orixinalmente para a arquitectura x86_64 a sistemas ARM64 ao permitir a execución de módulos de código x86_64 individuais no entorno ARM64 mediante un emulador. Engadiuse compatibilidade co formato de ficheiro ARM64X PE, que permite cargar un único ficheiro executábel tanto nos procesos x64/Arm64EC como nos ARM64. Implementouse unha interface para emular sistemas x86 de 32 bits, pero a biblioteca do emulador aínda non está incluída na distribución principal de Wine (o emulador FEX externo pódese usar para executar código x86 no entorno ARM64).
  • Subsistema gráfico
    • O controlador PostScript foi redeseñado para admitir ficheiros de spool no formato Windows, que almacenan datos sobre traballos de impresión. Exclúense as chamadas directas ao controlador desde o entorno Unix.
    • A compatibilidade do modo escuro engadiuse aos temas de WinRT. Engadiuse unha configuración a WineCfg para habilitar o deseño da interface escura.
    • O controlador para a API de gráficos Vulkan engadiu compatibilidade coa especificación Vulkan 1.3.272 (8.0 era compatible con Wine 1.3.237).
    • Optimáronse as funcións da biblioteca GdiPlus, o que permite aumentar o rendemento dos gráficos.
  • Direct3D
    • A análise dun fluxo de comandos multiproceso suspéndese cando non se procesan comandos de renderizado, o que permite reducir o consumo de enerxía ata o nivel de procesamento dun só subproceso cando se executan programas que non ocupan todo o ancho de banda do fluxo de comandos.
    • Direct3D 10 inclúe soporte para efectos adicionais.
    • Optimizacións de rendemento do código WineD3D e do backend mediante a API de gráficos Vulkan.
    • O código de renderizado baseado na API de Vulkan agora comproba que capacidades admite o dispositivo e indica á aplicación o nivel de funcionalidade de Direct3D dispoñible.
    • Implementáronse as funcións D3DXFillTextureTX e D3DXFillCubeTextureTX.
    • O backend clásico de sombreadores ARB de OpenGL engadiu compatibilidade para definir sombras mediante a extensión ARB_fragment_program_shadow.
    • D3DXLoadMeshHierarchyFromX e funcións similares engadiron compatibilidade para cargar datos de usuario mediante a interface ID3DXLoadUserData.
  • Son e vídeo
    • Propúxose unha implementación inicial da API de DirectMusic. Engadido soporte para coleccións, instrumentos e mostras de son no formato SoundFont. Engadido soporte para o efecto Doppler. Implementáronse probas para verificar a correcta implementación ao operar o secuenciador dmime e o sintetizador MIDI dmsynth.
    • A biblioteca FluidSynth está integrada na API de DirectMusic para usala.
    • Implementouse a compatibilidade para cargar fontes de son (SoundFont - formatos para síntese baseada en mostras que se usan para reproducir ficheiros MIDI) nos formatos DLS1 e DLS2, así como no formato SF2 que se usa en Linux.
    • Engadiuse a posibilidade de reproducir contido MIDI mediante a biblioteca dmsynth, mediante o sintetizador de software FluidSynth e a API DirectSound para a saída de audio.
    • Engadiuse un decodificador para vídeo no formato de códec de vídeo Indeo IV50.
  • Presentación directa
    • Implementouse o compoñente DMO (DirectX Media Object) cun descodificador de formato WMV (Windows Vídeo multimedia).
    • Engadiuse un filtro de captura de audio (DirectShow Audio Capture Filter).
    • Ademais dos fluxos de audio, o MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) agora admite fluxos de vídeo e fluxos de servizo.
    • Implementouse un filtro para decodificar vídeo en formato MPEG-1 (DirectShow MPEG-1 Video Decoder).
  • Dispositivos de entrada
    • DirectInput admite a asignación de accións, o que che permite vincular botóns dun controlador de xogo a accións específicas dos xogos.
  • Integración de escritorio
    • As ligazóns foron exportadas ao contorno de usuario principal, o que permite que as aplicacións que se executan baixo Wine sexan chamadas como controladores de protocolo ao abrir un URL (por exemplo, lanzar spotify.exe ao abrir ligazóns como "spotify:user:spotify:playlist:848218482355482821").
    • Implementouse a extracción de datos EDID (Extended Display Identification Data) con información sobre os parámetros do monitor conectado, como o nome e o modelo do dispositivo.
    • É posible pechar unha xanela do escritorio despregada en modo de pantalla completa usando o botón "Saír do escritorio" no menú "Inicio".
  • Internacionalización
    • Ampliouse a compatibilidade cos IME (editores de métodos de entrada). Realizouse traballo para garantir a compatibilidade cos editores nativos. Windows Implementacións de IME e mellora da integración con Linux EMI
    • A xeración de bases de datos locais en formato locale.nls a partir da base de datos Unicode CLDR (Unicode Common Locale Data Repository) versión 44 foi compatible con locais adicionais bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA. , engadiuse prg-PL , skr-PK, tyv-RU, vmw-MZ, xnr-IN e za-CN.
    • A interface foi traducida ao xeorxiano. Ofrécense traducións completas para 16 idiomas e traducións parciais para 31 idiomas.
    • Actualizáronse as táboas de caracteres Unicode á versión estándar 15.1.0. Actualizouse a base de datos de fusos horarios.
  • Núcleo (interfaces do núcleo Windows)
    • Como a versión publicada Windows definido por defecto Windows 10.
    • Para os ficheiros executables en formato PE, implícase o soporte para a aleatorización do espazo de enderezos (ASLR), pero os enderezos para cargar código na memoria aínda non están completamente aleatorios.
    • Implementouse o soporte para un montón débilmente fragmentado (LFH, Low Fragmentation Heap), o que aumentou o rendemento das operacións de asignación de memoria.
    • Engadiuse soporte para a reserva de memoria (marcador de posición) ao mecanismo de asignación de memoria virtual, o que permite que unha aplicación reserve unha área específica de memoria virtual para uso futuro.
    • Os cargadores de 64 bits (cargador e precargador) de ficheiros executables e bibliotecas compílanse no formato PIE (Executables independentes da posición) para liberar parte do espazo de enderezos de 32 bits.
    • Ofrécese un desenrolamento correcto da pila para as chamadas do sistema NT e as chamadas de devolución de chamada dos usuarios.
  • Funcións da rede
    • O motor MSHTML admite o mecanismo de recollida de lixo "Cycle Collection".
    • MSHTML engadiu soporte para o procesamento sincrónico de solicitudes XMLHttpRequest.
    • jscript.dll engade soporte para un obxecto WeakMap para traballar cunha colección de pares clave/valor nos que a chave é un obxecto que pode ter un valor arbitrario asociado. Implementáronse os métodos WeakMap.get(), WeakMap.delete(), WeakMap.clear() e WeakMap.has().
    • O motor do navegador Gecko actualizouse á versión 2.47.4.
    • Implementouse o soporte para notificacións sobre cambios no estado da interface de rede.
  • Criptografía e seguridade
    • Engadiuse soporte para tarxetas intelixentes á biblioteca Winscard.dll, implementada a través da biblioteca do sistema PCSClite.
    • BCrypt engadiu soporte para o protocolo de intercambio de chaves Diffie-Hellman.
    • Implementouse o paquete Negotiate, que proporciona unha capa para usar a interface SSPI (Security Support Provider Interface) para acceder aos provedores SSP (Security Support Provider).
  • Aplicacións integradas
    • O Wine Debugger (winedbg) usa a biblioteca Zydis para desmontar as instrucións da máquina X86.
    • A interface de WineCfg actualizouse para admitir versións antigas en plataformas de 64 bits. Windows (antes de XP), que che permite executar aplicacións herdadas usando o modo WoW64.
    • Todas as aplicacións gráficas integradas agora mostran información de erro nun diálogo separado, en lugar de mostralos na consola.
    • O programa systeminfo permite visualizar información da base de datos WMI (Windows Instrumentación de xestión).
    • Engadida a aplicación klist para mostrar tickets Kerberos.
    • A aplicación taskkill implementa a capacidade de terminar forzadamente procesos fillos.
    • Engadiuse a opción "/machine" á utilidade de inicio para seleccionar a arquitectura utilizada ao executar executables híbridos que admitan x86 e ARM.
    • Implementouse a maior parte da funcionalidade do programa da lista de tarefas.
    • Engadida unha implementación básica da aplicación findstr.
  • Ferramentas de desenvolvemento
    • A utilidade WineDump ten a capacidade de mostrar o contido dos ficheiros do rexistro. Windows (formato REGF), así como a visualización de datos para todas as arquitecturas (x86/ARM64) compatibles cos ficheiros PE híbridos.
    • O compilador IDL engadiu soporte para os atributos "composable", "default_overload", "obsoleto" e "protexido".
    • Eliminouse libwine.so, que estaba obsoleto en Wine 6.0 e hai tempo que xa non se usaba en Wine. Os programas en formato ELF construídos en versións anteriores de Wine (5.0 e anteriores) con libwine.so requiren reconstrución para executarse en Wine 9.0.
  • Bibliotecas integradas e dependencias externas
    • As bibliotecas FluidSynth 2.3.3, Musl 1.2.3 (só funcións matemáticas) e Zydis 4.0.0 están integradas no paquete.
    • Os compoñentes Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, LibXml1.1.38 1.3 e 8.1.0 actualizaron a nova versión XNUMX . Actualizouse o motor Wine Mono coa implementación da plataforma .NET para a versión XNUMX.
    • O controlador winewayland.drv usa a biblioteca cliente de Wayland como dependencias externas, así como as bibliotecas xkbcommon e xkbregistry.
    • Para admitir tarxetas intelixentes, utilízase a biblioteca externa PCSClite (en macOS — PCSC).
    • A construción de ficheiros PE en plataformas non i386 agora require un compilador cruzado con soporte para directivas ".seh" para xestionar excepcións.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster