Wine

  • Logos
    Logo de macOS
  • Logos
    Logo des processeur PowerPC
  • Logos
    logo intel
  • Logos
    Logo Apple Silicon
  • Logos
    Logo 64 bits
Version
9.21
Mise à jour
Formule Homebrew
brew install  --cask --no-quarantine wine-stable

Il ne s'agit pas ici d'un véritable émulateur de PC.

Wine est une implémentation Open Source des API de Windows, ce qui permet en théorie d'utiliser sous Unix des logiciels conçus pour le système d'exploitation de Microsoft.

Nous vous proposons un dossier pour mieux comprendre son utilisation par ici.

Une petite équipe a longtemps porté un dérivé appelé Darwine pour Mac OS X et d'abord pour sa sous-couche, Darwin. Darwine est désormais arrêté et a laissé place à WineBottler, Kronenberg propose aussi des versions compilées de Wine pour OSX.

Le téléchargement de Darwine pour processeur PowerPC est par ici.

L'intérêt principal de ce projet par rapport à un émulateur PC classique pour utiliser des applications windows, c'est qu'il n'y a justement pas besoin d'installer Windows, on y gagne beaucoup en terme de performances. QEMU est l'émulateur X86 choisi par l'équipe de Darwine pour fonctionner.

Depuis l'arrivée des processeurs x86 sur Mac, le portage se rapproche de plus en plus de Wine. Le processeur n'est plus émulé et l'ont peut s'attendre à avoir des performances plus qu'acceptable sur cette pseudo émulation. À noter pour ceux ayant un PowerPC 32 bits, l'architecture n'est plus supportée depuis la version 5.11.

Changelog

Changelog

9.20

What's new in this release:

  • Bundled Capstone library for disassembly in WineDbg.
  • More formats supported in D3DX9.
  • Static analysis and JUnit test reports in Gitlab CI.
  • More support for network sessions in DirectPlay.
  • Various bug fixes.

The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.20.tar.xz

Binary packages for various distributions will be available from the respective download sites.

You will find documentation here.

Wine is available thanks to the work of many people. See the file AUTHORS for the complete list.

Bugs fixed in 9.20 (total 15):

  • #39848 Victoria 2 (Steam) fails to start with Wine-Mono
  • #50850 Just Cause crashes when starting new game (D3DXCreateTexture unsupported format, fallback format crashes)
  • #56372 musl based exp2() gives very inaccurate results on i686
  • #56645 unimplemented function httpapi.dll.HttpSendResponseEntityBody
  • #56973 Building wine with mingw/gcc 14.1.1 fails with error '-Wimplicit-function-declaration'
  • #57233 Multiple games show black screen/window on startup (BeamNG.drive, Wargaming.net games)
  • #57245 Can't recognize executables/scripts with a dot in the name...
  • #57250 Rhinoceros installers crash with bad_alloc
  • #57269 wine-9.19 build with ffmpeg fails in winedmo in Ubuntu 20.04
  • #57271 winetricks -q art2kmin shows several popups -- Unable to load dll
  • #57293 Helicon Focus 8.2.0 regression: open images hangs the application
  • #57294 Wine 9.13+ freezes in some applications using WMA Lossless audio
  • #57300 KnightOfKnights crashes once entering the game
  • #57302 In Notepad++ find window gets glitched after losing and regaining focus
  • #57311 Nikon NX Studio Overlay windows incorrectly shown.

9.19

What's new in this release:

  • Character tables updates to Unicode 16.0.0.
  • Better window positioning in the Wayland driver.
  • More support for network sessions in DirectPlay.
  • Support for plug&play device change notifications.
  • Various bug fixes.

The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.19.tar.xz

Binary packages for various distributions will be available from the respective download sites.

You will find documentation here.

Wine is available thanks to the work of many people. See the file AUTHORS for the complete list.

Bugs fixed in 9.19 (total 11):

  • #41268 Songr 1 installation fails
  • #52208 Malus crashes on unimplemented function WS2_32.dll.WSCGetApplicationCategory
  • #56875 WordSmith 9.0 shows error message on start
  • #56975 Death to Spies: black screen during video playback
  • #57079 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.?getline@std@@YAAAV?basic_istream@DU?char_traits@D@std@@@1@AAV21@AAV?basic_string@DU?char_traits@D@std@@V?$allocator@D@2@@1@@Z
  • #57139 SET changes errorlevel in .bat files
  • #57147 exit /B doesn't break for loop
  • #57205 FL Studio - ALL RECENT VERSIONS - After Wine 9.17 I cannot drag and drop audio files from file manager into the app, and then file manager crashes
  • #57215 cnc-ddraw OpenGL renderer is broken again in 9.18
  • #57240 Wine 9.18 - Regression - FL Studio (and probably other apps) don't export correct file formats anymore
  • #57242 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.??0?basic_ofstream@DU?char_traits@D@std@@@std@@QAE@PBDH@Z

9.18

  • New Media Foundation backend using FFMpeg.
  • Initial support for network sessions in DirectPlay.
  • New Desktop Control Panel applet.
  • Various bug fixes.

9.17

  • Window surface scaling on High DPI displays.
  • Bundled vkd3d upgraded to version 1.13.
  • Mono engine updated to version 9.3.0
  • Improved CPU detection on ARM64.
  • Various bug fixes.

9.16

  • Initial Driver Store implementation.
  • Pbuffer support in the Wayland driver.
  • More prototype objects in MSHTML.
  • Various bug fixes.

9.15

  • Prototype and constructor objects in MSHTML.
  • More support for ODBC Windows drivers.
  • Various bug fixes.

9.14

  • Mailslots reimplemented using server-side I/O.
  • More support for ODBC Windows drivers.
  • Still more user32 data structures in shared memory.
  • Various bug fixes.

9.13

What's new in this release:

  • Support for loading ODBC Windows drivers.
  • More user32 data structures in shared memory.
  • More rewriting of the CMD.EXE engine.
  • Various bug fixes.

9.21

What's new in this release:

More support for network sessions in DirectPlay.
Header fixes for C++ compilation.
I/O completion fixes.
More formats supported in D3DX9.
Various bug fixes.


Bugs fixed in 9.21 (total 16):


#27933  Implement sort.exe command

#47776  Multiple games crash on unimplemented function D3DXOptimizeVertices (Timeshift, Call of Duty 2 modding tools, Rise of Nations: Rise of Legends 2010)

#48235  Multiple applications need 'ntdll.NtWow64QueryInformationProcess64' (IP Camera Viewer 4.x)

#48796  Saints Row 2 needs GUID_WICPixelFormat48bppRGB

#52078  MusicBee: exception when attempting to drag tabs (  (QueryInterface for the interface with IID '{83E07D0D-0C5F-4163-BF1A-60B274051E40}' gives Exception E_NOINTERFACE))

#54295  Touhou Puppet Dance Performance: Shard of Dreams Can't Locate Base Game Data After Installation

#54623  MediRoutes crashes on unimplemented function websocket.dll.WebSocketCreateClientHandle

#56219  Paint Shop Pro 9.01, printing function doesn't work

#57164  Can't start RtlpWaitForCriticalSection

#57183  9.17-devel: Drag and Drop no longer works on Ubuntu 24.04 Noble

#57275  Black screen when using full-screen mode from version 9.18

#57292  unimplemented function apphelp.dll.SdbSetPermLayerKeys

#57296  WineHQ-devel-9.19: Renders Distorted Radio Buttons on WinXP Solitaire

#57314  Metal Gear Solid V gametrainer needs wmi Win32_Process executablepath property

#57355  Window-resize won't refresh controls on mainform

#57392  AnyRail msi crashes


Changes since 9.20:

Alex Henrie (2):
     ntdll: Implement NtWow64QueryInformationProcess64.
     include: Annotate PFN_CMSG_ALLOC with __WINE_ALLOC_SIZE.

Alexandre Julliard (22):
     winetest: Remove strmake() len argument for consistency with other modules.
     winetest: Get default tag and URL from Gitlab CI variables.
     capstone: Allow callers to specify their memory allocators.
     capstone: Comment out error printfs.
     opengl32: Cache downloaded files in make_opengl.
     opencl: Cache downloaded files in make_opencl.
     winevulkan: Cache downloaded files in make_vulkan.
     include: Use __attribute__ in preference to __declspec.
     wow64: Fix handle conversion in NtWow64QueryInformationProcess64.
     wow64: Move NtWow64QueryInformationProcess64 to process.c.
     user32: Add some new entry points and ordinals.
     gdi32: Add some new entry points and ordinals.
     win32u: Add some new stub entry points.
     ntdll/tests: Skip the syscall relocation test if the file on disk is not updated.
     kernel32/tests: Search the current directory for newly-created dlls.
     netstat: Use wide character string literals.
     notepad: Use wide character string literals.
     oleview: Use wide character string literals.
     services: Use wide character string literals.
     taskmgr: Use wide character string literals.
     winefile: Use wide character string literals.
     wordpad: Use wide character string literals.

Alexey Prokhin (1):
     kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed.

Alistair Leslie-Hughes (11):
     include: Add rstscr.idl.
     include: Add rstxsc.idl.
     include: Add rstfnd.idl.
     include: Add rstidn.idl.
     include: Add DBGUID_DBSQL define.
     include: Add DB_S_ROWLIMITEXCEEDED define.
     include: Dbs.idl: Added DBVECTOR/DB_VARNUMERIC types.
     include: Move ISAXXMLFilter interface to after base ISAXXMLReader.
     dplayx: Use a single reference count for IDirectPlay interfaces.
     dplayx: Remove numIfaces variable in IDirectPlayLobby.
     dplayx: Use default DllCanUnloadNow implementation.

Anton Baskanov (31):
     dplayx: Inline logic from CreatePlayer() functions into DP_IF_CreatePlayer().
     dplayx: Allow storing group SP data.
     dpwsockx: Get player address from SP header and use it in SendEx().
     dpwsockx: Add partial SendToGroupEx() implementation.
     dplayx: Send CREATEPLAYER instead of ADDFORWARDREQUEST in CreatePlayer().
     dplayx: Queue DPSYS_CREATEPLAYERORGROUP on player creation.
     dplayx: Remove received message from the queue.
     dplayx: Set message sender and receiver IDs in Receive().
     dplayx: Make a deep copy of the message.
     dplayx: Set message data size in Receive().
     dplayx: Set flags correctly in CreatePlayer().
     dplayx: Always set the data size in GetPlayerData().
     dplayx/tests: Test that player from CREATEPLAYER is added to the session.
     dplay: Handle CREATEPLAYER and add player to the session.
     dplayx/tests: Use the correct system player ID in sendSuperEnumPlayersReply().
     dplayx/tests: Test client side of Send() separately.
     dplayx: Queue the message for local players in SendEx().
     dplayx: Remove the separate branch for DPID_ALLPLAYERS in SendEx().
     dplayx: Send the message in SendEx().
     dplayx/tests: Test client side of Receive() separately.
     dplayx: Handle game messages.
     dplayx: Check the buffer size in Receive().
     dplayx: Return DPERR_BUFFERTOOSMALL from Receive() if data is NULL.
     dplayx: Handle DPRECEIVE_TOPLAYER and DPRECEIVE_FROMPLAYER in Receive().
     dplayx: Enter the critical section in DP_IF_Receive().
     dplayx/tests: Test non-guaranteed Send().
     dpwsockx: Support non-guaranteed delivery.
     dplayx/tests: Test receiving UDP messages.
     dpwsockx: Receive UDP messages.
     dplayx/tests: Test that PINGREPLY is sent in reply to PING.
     dplayx: Handle PING and send PINGREPLY.

Aurimas Fišeras (1):
     po: Update Lithuanian translation.

Bartosz Kosiorek (2):
     gdiplus: Add GdipGetEffectParameterSize stub and fix GdipDeleteEffect.
     gdiplus/tests: Add GdipGetEffectParameterSize test.

Biswapriyo Nath (2):
     include: Add new property keys in propkey.h.
     include: Add windows.applicationmodel.datatransfer.idl.

Brendan Shanks (2):
     ntdll/tests: Add test for direct syscalls on x86_64.
     ntdll: Add SIGSYS handler to support syscall emulation on macOS Sonoma and later.

Christian Costa (1):
     d3dx9: Add semi-stub for D3DXOptimizeVertices().

Connor McAdams (10):
     d3dx9: Introduce d3dx_pixel_format_id enumeration.
     d3dx9: Use the d3dx_pixel_format_id enumeration inside of the d3dx_image structure.
     d3dx9: Use the d3dx_pixel_format_id enumeration inside of the DDS pixel format lookup structure.
     d3dx9: Use the d3dx_pixel_format_id enumeration inside of the WIC pixel format lookup structure.
     d3dx9/tests: Add more tests for handling JPG/PNG files.
     d3dx9: Report 24bpp RGB as 32bpp XRGB for JPG and PNG files.
     d3dx9: Add support for decoding 64bpp RGBA PNG files.
     d3dx9: Add support for decoding 48bpp RGB PNG files.
     d3dx9: Add support for loading surfaces from 48bpp RGB PNG files.
     d3dx9: Add support for loading volumes from 48bpp RGB PNG files.

Elizabeth Figura (7):
     win32u: Normalize inverted rectangles in dibdrv_RoundRect().
     win32u: Correctly handle transforms which flip in get_arc_points().
     win32u: Do not convert back to integer before finding intersections.
     win32u: Forward to Rectangle() if the ellipse width or height is zero.
     wmilib.sys: Add stub DLL.
     ntoskrnl: Stub PoRequestPowerIrp().
     ntdll: Do not queue completion for a synchronous file.

Eric Pouech (2):
     midiseq: Reduce race window when closing sequencer.
     kernelbase: Add undocumented EXTENDED_FLAGS to process attribute list.

Fabian Maurer (13):
     comdlg32/tests: Fix compilation for gcc 4.7.
     mf/tests: Fix compilation for gcc 4.7.
     wbemprox/tests: Add test for Win32_Process querying "ExecutablePath" propery.
     wbemprox: Add property "ExecutablePath" to Win32_Process.
     userenv/tests: Add another test for GetProfilesDirectoryA.
     ntdll/tests: Add more tests for RtlExpandEnvironmentStrings/_U.
     kernel32/tests: Add tests for ExpandEnvironmentStringsW.
     kernel32/tests: Add more tests for ExpandEnvironmentStringsA.
     kernel32/tests: Add ExpandEnvironmentStringsA tests for japanese.
     ntdll: Rework RtlExpandEnvironmentStrings/_U to account for corner cases.
     kernel32: Rework ExpandEnvironmentStringsW error handling.
     kernel32: Rework ExpandEnvironmentStringsA to return ansi size and fix corner cases.
     userenv: Fix GetProfilesDirectoryA return value.

Hans Leidekker (2):
     fc: Support /c option.
     wintypes/tests: Add tests for RoResolveNamespace().

Jacek Caban (2):
     winecrt0: Use version 2 of CHPE metadata.
     winegcc: Skip --no-default-config in find_libgcc.

Jactry Zeng (11):
     msvcrt/tests: Test tolower() with DBCS.
     msvcrt: Improve DBCS support for _tolower_l().
     msvcrt/tests: Test _tolower_l() with DBCS.
     msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
     msvcrt/tests: Test _stricmp() with multiple bytes characters.
     include: Add _strnicmp_l() declaration.
     msvcrt/tests: Add tests of _strnicmp_l().
     msvcrt/tests: Test toupper() with DBCS.
     msvcrt: Improve DBCS support for _toupper_l().
     msvcrt/tests: Add tests for locale information.
     msvcrt: Try to generate CTYPE data according to the given codepage.

Jinoh Kang (2):
     server: Allow creating named pipes using \Device\NamedPipe\ as RootDirectory.
     server: Implement more FSCTLs on \Device\NamedPipe and \Device\NamedPipe\.

Matteo Bruni (2):
     d3dx9/tests: Disable test sometimes crashing on Windows.
     winegstreamer: Split large WMA samples.

Maxim Karasev (1):
     klist: Migrate to KerbQueryTicketCacheExMessage.

Michael Lelli (1):
     ntdll: Use __wine_unix_spawnvp() to invoke unmount command.

Paul Gofman (7):
     ntdll: Introduce a separate per-thread object for internal completion waits.
     ntdll: Assign completion to thread when wait for completion is satisfied.
     ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx().
     server: Signal completion port waits on handle close.
     ntdll/tests: Add tests for completion port signaling.
     server: Sync cursor position on window position change.
     mountmgr.sys: Stub StorageDeviceSeekPenaltyProperty query.

Piotr Caban (1):
     kernelbase: Support backslashes when parsing relative URL in UrlCombine.

Rémi Bernon (59):
     win32u: Do not adjust old valid rect when moving child window bits.
     winex11: Introduce a new struct host_window for host-only windows.
     winex11: Create host windows recursively up to root_window.
     winex11: Keep track of the host window children of interest.
     winex11: Keep track of the host windows relative rects.
     winex11: Keep track of the host windows children window rects.
     winex11: Use the new host windows to register foreign window events.
     winex11: Generate relative ConfigureNotify on parent ConfigureNotify events.
     winex11: Get rid of the now unnecessary foreign windows.
     windows.gaming.input: Invoke event handlers outside of the critical section.
     windows.devices.enumeration: Invoke event handlers outside of the critical section.
     windows.media.speech: Invoke event handlers outside of the critical section.
     winex11: Avoid processing RRNotify events in xrandr14_get_id.
     winemac: Merge DND structures and rename constants / functions.
     winemac: Introduce a new QUERY_DRAG_DROP_ENTER query.
     winemac: Use the new win32u drag'n'drop interface.
     winex11: Set configure_serial when resizing on display mode change.
     winex11: Rename read_net_wm_state to get_window_net_wm_state.
     winex11: Move ConfigureNotify checks after computing visible rect.
     winex11: Move embedded check in update_net_wm_states / sync_window_style.
     winex11: Register PropertyChangeMask for unmanaged windows.
     win32u: Clear display device before refreshing the registry cache.
     win32u: Allocate device manager context gpu dynamically.
     win32u: Keep the source registry key on the source struct.
     win32u: Allocate device manager context source dynamically.
     win32u: Allocate device manager context monitors dynamically.
     winex11: Track WM_STATE window property requests and updates.
     winex11: Track _XEMBED_INFO window property changes.
     winex11: Introduce a new window_set_wm_state helper.
     winex11: Introduce a new window_set_net_wm_state helper.
     winex11: Track _NET_WM_STATE window property requests and updates.
     winex11: Introduce a new window_set_config helper.
     winex11: Track window config requests and updates.
     win32u: Introduce a NTGDI_RGN_MONITOR_DPI flag for NtGdiGetRandomRgn.
     winex11: Compute absolute rect using the window data window rects.
     winex11: Use the toplevel window drawable to create DCs.
     winex11: Remove now unused child_window_from_point helper.
     win32u: Compute the owner window hint on behalf of the drivers.
     include: Add __pctype_func declaration.
     include: Add some localized ctype.h function declarations.
     include: Add some struct timespec definitions.
     include: Add some ___mb_cur_max_func declarations.
     include: Add some __sys_nerr declaration.
     include: Fix _strtod_l/strtold/_strtold_l declarations.
     include: Remove non-existing _atold definition.
     include: Add math.h _(l|f)dtest function declarations.
     include: Add wcscat_s C++ wrapper definitions.
     include: Add abs C++ wrapper definitions.
     include: Add atan2l inline definition.
     include: Add max_align_t definition.
     include: Add CaptureStackBackTrace macro definition.
     include: Add SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag.
     include: Fix IMAGE_IMPORT_BY_NAME declaration.
     win32u: Implement get_win_monitor_dpi.
     win32u: Use MDT_RAW_DPI monitor DPI type in the drivers.
     win32u: Move some monitor info getter code around.
     win32u: Inform wineserver about the winstation monitors.
     server: Use the monitor infos to compute the virtual screen rect.
     winex11: Skip faking ConfigureNotify if state/config change is expected.

Sebastian Krzyszkowiak (1):
     mciseq: Don't seek to the end of the root chunk in RMID files.

Semenov Herman (Семенов Герман) (1):
     ole32: Fixed copy paste error with OFFSET_PS_MTIMEHIGH in UpdateRawDirEntry.

Vijay Kiran Kamuju (11):
     gdiplus: Add GdipCreateEffect implementation.
     gdiplus: Partial implementation of GdipGetEffectParameterSize.
     apphelp: Add stub SdbSetPermLayerKeys().
     apphelp: Add stub SdbGetPermLayerKeys().
     apphelp: Add stub SetPermLayerState().
     include: Add missing defines and enums for IDragSourceHelper2.
     websocket: Add stub for WebCreateClientHandle.
     websocket: Add stub for WebSocketAbortHandle.
     websocket: Add stub for WebSocketDeleteHandle.
     taskschd: Implement IDailyTrigger_put_EndBoundary.
     taskschd: Implement IDailyTrigger_get_EndBoundary.

Zhiyi Zhang (30):
     include: Add Windows.Foundation.PropertyValue runtime class.
     wintypes: Use DEFINE_IINSPECTABLE.
     wintypes: Add IPropertyValueStatics stub.
     wintypes: Support IPropertyValue primitive objects.
     wintypes: Support IPropertyValue primitive array objects.
     wintypes: Implement IReference<boolean>.
     wintypes: Implement IReference<HSTRING>.
     wintypes: Implement IReference<DOUBLE>.
     wintypes: Add IPropertyValueStatics tests.
     include: Add windows.applicationmodel.datatransfer.dragdrop.idl.
     include: Add windows.applicationmodel.datatransfer.dragdrop.core.idl.
     include: Add dragdropinterop.idl.
     dataexchange: Add initial dll.
     dataexchange: Add ICoreDragDropManagerStatics stub.
     dataexchange: Add IDragDropManagerInterop stub.
     dataexchange: Implement dragdrop_manager_interop_GetForWindow().
     dataexchange/tests: Add ICoreDragDropManagerStatics tests.
     dataexchange/tests: Add ICoreDragDropManager tests.
     dataexchange: Make core_dragdrop_manager_add_TargetRequested() return S_OK.
     iertutil: Add IUriRuntimeClassFactory stub.
     iertutil: Implement uri_factory_CreateUri().
     iertutil: Implement uri_RawUri().
     iertutil: Add uri_AbsoluteUri() semi-stub.
     iertutil/tests: Add IUriRuntimeClassFactory tests.
     iertutil/tests: Add IUriRuntimeClass tests.
     user32: Add EnableMouseInPointerForThread() stub.
     user32: Add RegisterTouchPadCapable() stub.
     include: Add IAgileReference and INoMarshal.
     combase: Implement RoGetAgileReference().
     combase/tests: Add RoGetAgileReference() tests.

Auteur(s)

Auteur
Jim White, Sanjay Connare et Pierre d'Herbemont.

Autres émulateurs de la catégorie

  • Crossover

    Dernière mise à jour:
    Version 24.0.5
  • iDOS

    Dernière mise à jour:
    Version 2.1
  • Clock Signal (CLK)

    Dernière mise à jour:
    Version 2024-10-19
  • MAME

    Dernière mise à jour:
    Version 0.271
  • UTM

    Dernière mise à jour:
    Version 4.5.4
  • 86Box

    Dernière mise à jour:
    Version 4.2.1
  • DOSBox-X

    Dernière mise à jour:
    Version 2024.10.01
  • QEMU

    Dernière mise à jour:
    Version 9.1
  • RetroArch

    Dernière mise à jour:
    Version 1.19.1