Home

Software-update: Wine 8.0

De final release van Wine versie 8.0 is verschenen. Wine is een opensource-implementatie van de Windows-api en maakt het mogelijk om DOS- en Windows-programma's op Linux, FreeBSD, Solaris en macOS te draaien. Een grote groep ontwikkelaars draagt bij aan Wine en er is voor gekozen om elke twee weken een nieuwe zogeheten ontwikkelversie uit te brengen in plaats van te wachten tot er een aantal nieuwe functies klaar is. Een paar keer per jaar verschijnt er een stabiele uitgave. De database met applicaties die onder Wine werken, al dan niet met behulp van kleine aanpassingen, bevat op het moment van schrijven 28.803 titels wat er 42 meer zijn dan verleden keer. In deze uitgave zijn de volgende veranderingen en verbeteringen aangebracht:

PE modules
  • After 4 years of work, the PE conversion is finally complete: all modules can be built in PE format. This is an important milestone on the road to supporting various features such as copy protection, 32-bit applications on 64-bit hosts, Windows debuggers, x86 applications on ARM, etc. However, some modules still perform direct calls between the PE and the Unix part, instead of going through the NT system call interface. The remaining direct calls will be removed during the Wine 8.x development phase.
  • A special syscall dispatcher is used for PE -> Unix transitions, to avoid the overhead of a full NT system call. This minimizes the performance impact of the new architecture, in particular for the OpenGL and Vulkan libraries.
  • Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is still supported for use in Winelib applications. However, such applications won't support features enabled by the NT syscall interface, such as WoW64 without 32-bit libraries.
  • WoW64
  • WoW64 thunks are implemented for essentially all Unix libraries, enabling a 32-bit PE module to call a 64-bit Unix library. Once the remaining direct PE/Unix calls have been removed, this will make it fully possible to run 32-bit Windows applications without any 32-bit Unix library.
  • When the 32-bit Wine loader isn't found, 32-bit applications are started in the new experimental "Windows-like" WoW64 mode (where 32-bit code runs inside a 64-bit host process). This mode can be enabled by building with the '--enable-archs' configure option. This is still under development and not yet recommended for general use. Since in case of configuration errors it is possible for it to be triggered inadvertently, applications started in this mode print the warning "starting in experimental wow64 mode".
  • Graphics
  • The "Light" theme is enabled in the default configuration, for a more modern look. Other themes can still be configured through WineCfg.
  • The graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) are converted to run on the Unix side of the syscall boundary, and interface with the Unix side of the Win32u library.
  • The Print Processor architecture is implemented. This will be used to avoid direct PE<->Unix calls in the printer driver.
  • Effects are supported in Direct2D, including description parsing and a number of core objects.
  • Command lists recording and playback are implemented in Direct2D.
  • The Vulkan driver supports up to version 1.3.237 of the Vulkan spec.
  • Direct3D
  • Many optimizations related to streaming map acceleration are implemented, in common code as well as in the GL renderer. Depending on the application, this may result in major performance improvements.
  • Adapter video memory budget change notifications are implemented.
  • The Vulkan renderer supports setting multiple viewports and scissor rectangles.
  • Several Direct3D 10 and 11 features, which were already implemented, are accurately reported through capability flags: - Per-format support for vertex and index buffers. - Per-format support for all capabilities via D3D11_FEATURE_FORMAT_SUPPORT. - No-overwrite maps on shader resources and constant buffers. - Partial range binding of constant buffers.
  • For convenience, a new WINE_D3D_CONFIG environment variable may be used instead of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The value is a comma- or semicolon-separated list of key-value pairs, e.g.: WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de" If an individual setting is specified in both the environment variable and the registry, the former takes precedence.
  • The Direct3D graphics card database recognizes more graphics cards.
  • The Vulkan renderer limits the maximum Direct3D feature level based on available Vulkan features.
  • Direct3D helper libraries
  • A new HLSL compiler is implemented using the vkd3d-shader library.
  • A new HLSL disassembler is implemented using the vkd3d-shader library.
  • The HLSL preprocessor is reimplemented using the vkd3d-shader HLSL preprocessor.
  • The D3DX 10 Thread Pump is implemented.
  • Many more expressions are supported in Direct3D 10 effects.
  • Cubemap projection is implemented in the D3DX 9 helper library.
  • Audio / Video
  • The MPEG-1 audio decoder filter for layers 1 and 2, and the separate filter for layer 3, are both implemented on top of GStreamer.
  • The ASF reader filter is implemented.
  • The OpenAL32.dll wrapper library is removed, in favor of the native OpenAL32 Source: Tweakers.net
  • Previous

    Next