Wine 5.0 lanzado

Wine 5.0 lanzadoO 21 de xaneiro de 2020 tivo lugar o lanzamento oficial da versión estable Viño 5.0 - unha ferramenta gratuíta para executar programas nativos de Windows nun ambiente UNIX. Esta é unha implementación alternativa e gratuíta da API de Windows. O acrónimo recursivo WINE significa "Wine Is Not an Emulator".

Esta versión ten aproximadamente un ano de desenvolvemento e máis de 7400 cambios individuais. O desenvolvedor principal Alexandre Julliard identifica catro:

  • Soporte para módulos en formato PE. Isto resolve problemas con diferentes esquemas de protección contra copias que coinciden con módulos do sistema no disco e na memoria.
  • Admite varios monitores e varias GPU, incluíndo cambios dinámicos na configuración.
  • Reimplementación de XAudio2 baseada no proxecto FAudio, unha implementación aberta das bibliotecas de sons de DirectX. Cambiar a FAudio permíteche acadar unha maior calidade de son nos xogos, activar a mestura de volume, efectos de son avanzados e moito máis.
  • Soporte Vulkan 1.1.


Máis información sobre as principais innovacións.

Módulos de PE

Co compilador MinGW, a maioría dos módulos Wine agora están construídos no formato de ficheiro executable PE (Executable portátil, formato binario de Windows) en lugar de ELF.

Os executables PE agora cópianse no directorio ~/.wine en lugar de usar ficheiros DLL ficticios, facendo que as aplicacións sexan máis similares ás instalacións reais de Windows.

Aínda non todos os módulos se converteron ao formato PE. O traballo continúa.

Subsistema gráfico

Como se mencionou anteriormente, engadiuse soporte para traballar con varios monitores e adaptadores gráficos.

O controlador Vulkan actualizouse ás especificacións Vulkan 1.1.126.

Ademais, a biblioteca WindowsCodecs agora admite formatos ráster adicionais, incluídos os formatos indexados en paletas.

Direct3D

As aplicacións Direct3D de pantalla completa bloquean agora a chamada do salvapantallas.

Para as aplicacións DXGI, agora é posible cambiar entre o modo de pantalla completa e o de fiestra usando a combinación estándar Alt+Intro.

As funcións de Direct3D 12 melloráronse para incluír compatibilidade para cambiar entre os modos de pantalla completa e de fiestra, cambiar os modos de pantalla, escalar as vistas e os intervalos de intercambio. Todas estas funcións xa se implementaron para versións anteriores da API de Direct3D.

O equipo do proxecto traballou con dilixencia e solucionou literalmente centos de erros, polo que mellorouse o manexo de Wine de varias situacións de punta. Estes inclúen a mostraxe de recursos 2D en mostradores 3D e viceversa, o uso de valores de entrada fóra de rango para probas de transparencia e profundidade, renderizado con texturas reflectidas e búfers, usar clippers incorrectos (obxecto DirectDraw) e moito máis.

O tamaño do espazo de enderezos necesario ao cargar texturas 3D comprimidas co método S3TC reduciuse (en lugar de cargar por completo, as texturas cárganse en anacos).

Realizáronse varias melloras e correccións relacionadas cos cálculos de iluminación para aplicacións DirectDraw máis antigas.

Ampliouse a base de tarxetas gráficas recoñecidas en Direct3D.

Rede e criptografía

O motor Gecko actualizouse á versión 2.47.1 para admitir ferramentas modernas. Implementáronse varias API HTML novas.

MSHTML agora admite elementos SVG.

Engadíronse moitas funcións novas de VBScript (como controladores de erros e excepcións).

Implementouse a posibilidade de obter a configuración do proxy HTTP mediante DHCP.

Na parte criptográfica, implementouse o soporte para claves criptográficas de curva elíptica (ECC) a través de GnuTLS, engadiuse a posibilidade de importar claves e certificados de ficheiros en formato PFX e compatibilizouse co esquema de xeración de claves baseado en contrasinal PBKDF2. engadido.

Wine 5.0 lanzado
Adobe Photoshop CS6 para Wine

Outras novidades significativas

  • Soporte para spinlocks do núcleo NT.
  • Grazas á caducidade da patente de compresión das texturas DXTn e S3, foi posible incluílas na implementación predeterminada.
  • Admite a instalación de controladores plug-and-play.
  • Varias melloras de DirectWrite.
  • Compatibilidade mellorada para a API de Windows Media Foundation.
  • Mellor sincronización de primitivas grazas á implementación en futexes.
  • Compartindo Wine-Mono para aforrar espazo en lugar da implementación de código aberto .NET para cada un ~/.wine.
  • Compatibilidade con Unicode 12.0 e 12.1.
  • Implementación dun servizo HTTP inicial (HTTP.sys) como substituto da API de Winsock e IIS, o que resulta nun mellor rendemento que a API de Windows Sockets.
  • Mellor compatibilidade cos depuradores de Windows.
  • Mellor compatibilidade con LLVM MinGW e melloras na compilación cruzada de WineGCC.

Tamén podemos mencionar melloras na interface de usuario. Por exemplo, as fiestras minimizadas agora móstranse usando unha barra de título en lugar de iconas de estilo Windows 3.1. Compatibilidade mellorada para controladores de xogos, incluíndo interruptor de sombreiro, volante e pedais.

Os descodificadores AVI, MPEG-I e WAVE integrados foron eliminados de Wine, substituíndoos polo sistema GStreamer ou QuickTime.

Engadiuse a posibilidade de usar o depurador de Visual Studio para a depuración remota de aplicacións que se executan en Wine, implementouse parcialmente a biblioteca DBGENG (Debug Engine) e eliminouse a dependencia de libwine dos ficheiros compilados para Windows.

Para optimizar o rendemento, migráronse varias funcións de temporización para utilizar funcións de temporizador do sistema de alto rendemento, reducindo a sobrecarga no ciclo de renderización de moitos xogos. Fixéronse outras optimizacións de rendemento.

Consulta a lista completa de cambios. aquí.

Código fonte Wine 5.0, зеркало
Binarios para varias distribucións
Documentación

A web AppDB Mantense unha base de datos de aplicacións de Windows compatibles con Wine. Aquí están os líderes número de votos:

  1. Final Fantasía XI
  2. Adobe Photoshop CS6 (13.0)
  3. World of Warcraft 8.3.0
  4. EVE en liña actual
  5. Magic: The Gathering Online 4.x

Pódese supoñer que estas aplicacións lánzanse con máis frecuencia en Wine.

Nota. O lanzamento de Wine 5.0 está dedicado á memoria de Józef Kucia, que morreu tráxicamente en agosto de 2019 aos 30 anos mentres exploraba unha cova no sur de Polonia. Jozef foi un importante contribuínte ao desenvolvemento de Direct3D Wine, así como o autor principal do proxecto vkd3d. Durante o seu tempo traballando en Wine, aportou máis de 2500 parches.

Wine 5.0 lanzado

Fonte: www.habr.com

Engadir un comentario