Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • wine/wine
  • rbernon/wine
  • stefan/wine
  • FireBurn/wine
  • alesliehughes/wine
  • zhiyi/wine
  • huw/wine
  • jsikorski/wine
  • hmc/wine
  • dadangnh/wine
  • epo/wine
  • dlesho/wine
  • DarkShadow44/wine
  • iamahuman/wine
  • jacek/wine
  • mstorsjo/wine
  • gofman/wine
  • alexhenrie/wine
  • giomasce/wine
  • tclem/wine
  • besentv/wine
  • dlehman25/wine
  • aeikum/wine
  • cdavis5e/wine
  • sbaars/wine
  • baskanov/wine
  • pperdigao/wine
  • DavidHusicka/wine
  • DadSchoorse/wine
  • gverm/wine
  • bshanks/wine
  • gonzoMD/wine
  • Mystral/wine
  • tmatthies/wine
  • zlice/wine
  • AndreRH/wine
  • madewokherd/wine
  • zfigura/wine
  • fgouget/wine
  • nsivov/wine
  • ElementalWarrior/wine
  • piotr/wine
  • timozuccarello/wine
  • DavidCurtiss/wine
  • cmcadams/wine
  • davidebeatrici/wine
  • hans/wine
  • insn/wine
  • danrm/wine
  • jklemann/wine
  • saedo/wine
  • sgwaki/wine
  • puetzk/wine
  • bernhardu/wine
  • ReDress/wine
  • jlucfarias/wine
  • sloper42/wine
  • ivyl/wine
  • zhui/wine
  • julliard/wine
  • ClearlyClaire/wine
  • Alexander-Wilms/wine
  • rndtrash/wine
  • redmcg/wine
  • jkfloris/wine
  • maljaf/wine
  • Tuupertunut/wine
  • bsjeon/wine
  • tati/wine
  • whydoubt/wine
  • doitsujin/wine
  • shaunren/wine
  • szanni/wine
  • tobi.goergens/wine-cabinet-patch
  • winspool/wine
  • olivierfrdierick/wine
  • linkmauve/wine
  • jin-king1/wine
  • yeyeshun/wine
  • sulix/wine
  • bgc/wine
  • fanwenjie/wine
  • IncubusRK/wine
  • js6pak/wine
  • AurimasF/wine
  • etaash.mathamsetty/wine
  • hverbeet/wine
  • Fox2Code/wine
  • jhol/wine
  • jrueger/wine
  • afrantzis/wine
  • lauri.kentta/wine
  • ehoover/wine
  • cdenton/wine
  • jkloetzke/wine
  • baryluk/wine
  • restet/wine-personal
  • orudge/wine
  • Gcenx/wine
  • mstefani/wine
  • hibbsncc1701/wine
  • jchw/wine
  • moceap/wine
  • Skryptonyte/wine
  • marzent/wine
  • msmeissn/wine
  • learn-more/wine
  • logos128/wine
  • xe/wine
  • florian-kuebler/wine
  • eason329/wine
  • gang65/wine
  • binarymaster/wine
  • nbosio1001/wine
  • sh.owais95/wine
  • yaoyuan.0553/wine
  • AnthonyLaurienti/wine
  • mivanchev/wine
  • Hi-Angel/wine
  • vt/wine
  • wyrquill/wine
  • waynus/wine
  • wuliande/wine
  • yao.yuan.wn/wine
  • K1K1/wine
  • lukehutch1027/wine
  • etang-cw/wine
  • Josueblanco/wine
  • jplotz/wine
  • j20001970/wine
  • jsm174/wine
  • aricstewart/wine
  • uncoveryoureyestheresnosun/wine
  • VitorRamos/wine
  • 0e4ef622/wine
  • tj4048750/wine
  • xantares/wine
  • maxfigura/wine
  • sanane/wine
  • juniorjr9345/wine
  • lucaspereira1234/wine
  • gerald/wine
  • lepemiguel32/wine
  • caibb2018/wine
  • CNB_Kevin/wine
  • thc13/wine
  • jaihysc/wine
  • youngsecurity/wine
  • chendeqiang1024/wine
  • rhendric/wine
  • databoose/wine
  • memory-thrasher/wine
  • salman.tajik22/wine
  • CowFroggers/wine
  • kbdharun/wine
  • dreamer/wine
  • babyjoey711/wine
  • ripxorip/wine
  • PSzczepanski1996/wine
  • steveshe006/wine
  • joshua/wine
  • cmccarthy/wine
  • tomjansen/wine
  • sonyps5201314/wine
  • katelynnking4281/wine
  • dhary686/wine
  • mathematician/wine
  • rhabacker/wine
  • steveschnepp/wine
  • nekotekina/wine
  • Aaron1011/wine
  • catsout/wine
  • kasper93/wine
  • beef331/wine
  • ESD/wine
  • sarosib/wine
  • ghurmcardash/wine
  • AMZN-hgoffin/wine
  • gtmikw/wine
  • Keming/wine
  • dpjh747-gl/wine
  • tzluo/wine
  • rfz/wine
  • illia.a.polishchuk/wine
  • new_kleth/wine
  • serkan-maker/wine
  • w-flo/wine
  • mikayahlevi/wine
  • nulleve/wine
  • pgruebele/wine
  • athiele/wine
  • paparaha4/wine
  • novenary/wine
  • Plavil/wine
  • longjunyu/wine
  • chrisli/wine
  • samkottler/wine
  • danielzgtg/wine
  • twcassel/wine
  • guo/wine
  • didier31/wine
  • Zhaoyi/wine
  • twhitehead/wine
  • svyatpro/wine
  • infyquest/wine-iq-devel
  • sebres/wine
  • endrift/wine
  • zhengbl/wine
  • joelikeyan/wine
  • IsaacMarovitz/wine
  • LouiseTheGoldenGoddess/wine
  • SergeGautherie/wine
  • Klittiklatsch/wine
  • ldhacker/wine
  • dk1006498/wine
  • ishitatsuyuki/wine
  • h3c/wine
  • wincenty.bandyta41/wine
  • ayhankus482/wine
  • q4a/wine
  • mjgarton/wine
  • agusev/wine
  • vovams/wine
  • shardulsb08/wine
  • lylythechosenone/wine
  • artemist/wine
  • dropbear/wine
  • Cherser-s/wine
  • smayr/wine
  • loveptong/wine
  • chendeqiang/wine
  • gaber139/wine
  • shytzedaka/wine
  • ghkmufc/wine
  • TornadoCookie/wine
  • klownwolfman/wine
  • bylaws/wine
  • vitorhnn/wine
  • mide1337/wine
  • mewinkler/wine
  • firelzrd/wine
  • Samsuper/wine
  • kkartaltepe/wine
  • petravion/wine
  • Maaka00524/jacob-wine
  • petrathekat/wine
  • dj/wine
  • liam-middlebrook/wine
  • padolkarlucky/wine
  • maarten/wine
  • yhd986/wine
  • linkmecry/wine
  • tehrantoday/wine
  • xuxin12345/wine
  • dmjc/wine
  • sedwards/wine
  • hanslehnert/wine
  • 3ts75/wine
  • EkaterinePapava/wine
  • lav/wine
  • lygstate/wine
  • mxkrsv/wine
  • xutaxkamay/wine
  • cbialorucki/wine
  • yshui/wine
  • baikaishiuc/wine
  • HuwCampbell/wine
  • llde/wine
  • rockdrilla/wine
  • aidanhs/wine
  • SwimmingTiger/wine
  • fvalasiad/wine
  • zsoltiv/wine
  • mailnew4ster/wine
  • ake.rehnman/wine
  • IDocin/wine
  • dmitry/wine
  • Cthuflu/wine
  • corngood/wine
  • whindsaks/wine
  • telans/wine
  • DmitrySokolov/wine
  • Pospelove/wine
  • ellingtonsantos/wine
  • roro/wine
  • wurenny/wine
  • KokoseiJ/wine
  • amurzeau/wine
  • spazzymoto/wine
  • searchingin/wine
  • marler8997/wine
  • Alcaro/wine
  • aunali1/wine
  • snaccslocc420/wine
  • ajkhoury/wine
  • qsniyg/wine
  • Matheus-TestUser1/wine
  • adamrehn/wine
  • brobston/wine
  • aalyaev/wine
  • thongthai/wine
  • j.bayer1988/wine
  • skitt/wine
  • benben/wine
  • ahmouse15/wine
  • achurch/wine
  • mfaqiri2/wine
  • yseo/wine
  • kingjinni/wine
  • userid0x0/wine
  • titan/wine
  • Komoszek/wine
  • GamzeeRakoon/wine
  • joanluc/wine
  • Alan/wine
  • meshine/wine
  • EBADF/wine
  • vibhavp/wine
  • quininer/wine
  • pawelulita/wine
  • muek2211/wine
  • chenhaoyang/wine
  • nishiyama/wine
  • silviuxgaming/wine
  • nell/wine
  • 29jm/wine
  • arilou/wine
  • Mini-Gaunt/wine
  • DodoGTA/wine
  • davispuh/wine
  • mzent/wine
  • arakmar/wine
  • number201724/wine
  • yhd986/wine-up
  • rpisl/wine
  • zp1/wine-zp-cs-464
  • h0tc0d3/wine
  • Snowiiii/wine
  • gabrielb/wine
  • PureBulb/wine
  • OO/wine
  • Clara/wine
  • Saancreed/wine
  • enolp/wine
  • arthunix/wine
  • halfline/wine
  • carlo-bramini/wine
  • jfmu/wine
  • russelltg/wine
  • ntay/wine
  • YellowOnion/wine
  • niversesu/wine
  • gilvbp/wine
  • tingling0072/wine
  • DandD1517/wine
  • rastos/add-GetAnycastIpAddressTable
  • gnif/wine
  • gibsonpil/wine
  • antenabr2/wine
  • kvashis/wine
  • CKolle/wine
  • kubni/wine
  • ten0s/wine
  • Yvonne8873/wine
  • kurikaesu/wine
  • minggr/wine
  • JohnSebastienNadeau/wine
  • karshnicholas/wine
  • SamB/wine
  • apgrc/wine
  • Samiklom/wine
  • llyyr/wine
  • nberner/wine
  • katharinechui/wine
  • kirill.zhumarin/wine
  • vaxerski/wine
  • infiniteloop/wine
  • K0bin/wine
  • arethusa/wine
  • mrdeathjr28/wine
  • dank_meme/wine
  • dh/wine
  • tuomasjjrasanen/wine
  • mmcdonnell/wine
  • mxnny00/wine-manjaro-arch-compatibility
  • Joan/wine
  • g.mo.alcauter/wine
  • zhenbo_li/wine
  • tsmx/wine
  • xaqumin/wine
  • peterjc123/wine
  • ruslangaripov/wine
  • blyss/wine
  • xanathar/wine
  • michael.bond/wine
  • Quix0r/wine
  • sinisa.susnjar/wine
  • Rapid/wine
  • theli.ua/wine
  • shaun.din/wine
  • zhaohongxin/wine
  • dylan.eskew/wine
  • humbertoperezs991/wine
  • vaevi/wine
  • Riesi/wine
  • francisdb/wine
  • 1480c1/wine
  • trcrsired/wine
  • npatt/wine
  • muhammmadalli/wine9.0
  • Czahrien/wine
  • nilsen.jonas/wine
  • underdogest/wine
  • djordjem/wine
  • frubin/wine
  • LucasChollet/wine
  • lipengfei-loongson/wine
  • JacobCzekalla/wine-fork-jacob
  • omar_elantil/wine
  • lumarel/wine
  • principeagustin/wine
  • gotzl/wine
  • OneTester250376/wine
  • austin987/wine
  • unknown62627/wine
  • navi/wine
  • somedevfox/wine
  • notaz/wine
  • fcasas/wine
  • Asteroz/wine
  • MariusSchiffer/wine
  • kevinrmartinez/wine-devel
  • St1gven/wine
  • maarten256/wine
  • rcstarr87/wine
  • tinozzo123/wine
  • GermanAizek/wine
  • spencerwallace/wine
  • schloegl/wine
  • giuppococco/wine
  • shayan7878/wine
  • N080DY12/wine
  • ralf.habacker/wine
  • oh-ok/wine
  • johnporter/wine
  • Low-power/wine
  • thelande/wine
  • riyu12383/wine
  • kubapet/wine
  • Ivan_83/wine
  • SmithGoll/wine
  • gmesmer/wine
  • akarisu.de/wine
  • jwffrey9046/wine
  • anders/wine
  • markbhasawut/wine
  • dy-tea/wine
  • Benjamin_Loison/wine
  • frmdstryr/wine
  • zzam/wine
  • haydenhestad/wine
  • Deppy04/wine
  • osbre/wine
  • CharlottePabst/wine
  • SunlitTango/wine
  • ritalat/wine
  • AlexeyLushnikov/wine
  • mickdermack/wine
  • s1UMBa/wine
  • huangqinjin/wine
  • caseyr297/wine
  • d1saster/wine
  • ayufdh222/wine
  • janstrakowski/wine
  • petur/wine
  • matheus.venturini/wine-fix-ohm-sign
  • rayrapetyan/wine
  • xiaotong/wine
  • ovarley1/wine
  • dos1/wine
  • BZZZZ/wine
  • joesoroka/wine
  • toadking/wine
  • JoshuaBrest/wine
  • elias/wine
  • michele.dionisio/wine
  • garlett/wine-send-arp
  • eugenemcardle/wine
  • hugwijst/wine
  • whrvt/wine
  • loisgomez/wine
  • ramleejo/wine
  • self/wine
  • fr33z00/wine
  • JoeS209/wine
  • JacKeTUs/wine
  • nak.ak2015/wine
  • morgwai/wine
  • funfunctor/wine
  • donnyjoe/wine
  • sitter/wine
  • atticf/wine
  • xipster/wine
  • sebastian/wine
  • AlexanderWillner/wine
  • yaoyongjie/wine
  • wayne/wine
  • AMark/wine
  • zamaudio/wine
  • TomaszPakula/wine
  • Freakness109/wine
  • amorozov/wine
  • HP/wine
  • danlm/wine
  • rariema/wine
  • Biswa96/wine
  • rlippmann/wine
  • yangkun/wine
  • greyghoster/wine
519 results
Show changes
Commits on Source (9744)
[attr]generated gitlab-generated linguist-generated=true
# generated by autotools
configure generated
include/config.h.in generated
# generated by dlls/dsound/make_fir
dlls/dsound/fir.h generated
# generated by dlls/opencl/make_opencl
dlls/opencl/opencl.spec generated
dlls/opencl/opencl_types.h generated
dlls/opencl/pe_thunks.c generated
dlls/opencl/unix_thunks.c generated
dlls/opencl/unixlib.h generated
# generated by dlls/opengl32/make_opengl
dlls/opengl32/opengl32.spec generated
dlls/opengl32/thunks.c generated
dlls/opengl32/unix_thunks.c generated
dlls/opengl32/unixlib.h generated
include/wine/wgl.h generated
include/wine/wgl_driver.h generated
# generated by dlls/winevulkan/make_vulkan
dlls/vulkan-1/vulkan-1.spec generated
dlls/winevulkan/loader_thunks.c generated
dlls/winevulkan/loader_thunks.h generated
dlls/winevulkan/vulkan_thunks.c generated
dlls/winevulkan/vulkan_thunks.h generated
dlls/winevulkan/winevulkan.json generated
dlls/winevulkan/winevulkan.spec generated
include/wine/vulkan.h generated
include/wine/vulkan_driver.h generated
# generated by tools/make_requests
include/wine/server_protocol.h generated
server/request_handlers.h generated
server/request_trace.h generated
# generated by tools/make_specfiles
dlls/ntdll/ntsyscalls.h generated
dlls/win32u/win32syscalls.h generated
# generated by tools/make_unicode
dlls/dwrite/bracket.c generated
dlls/dwrite/direction.c generated
dlls/dwrite/linebreak.c generated
dlls/dwrite/mirror.c generated
dlls/dwrite/scripts.c generated
dlls/dwrite/scripts.h generated
dlls/dwrite/shapers/arabic_table.c generated
dlls/gdi32/uniscribe/bracket.c generated
dlls/gdi32/uniscribe/direction.c generated
dlls/gdi32/uniscribe/indicsyllable.c generated
dlls/gdi32/uniscribe/linebreak.c generated
dlls/gdi32/uniscribe/mirror.c generated
dlls/gdi32/uniscribe/shaping.c generated
dlls/kernelbase/kernelbase.rgs generated
dlls/tzres/tzres.rc generated
dlls/win32u/vertical.c generated
dlls/wineps.drv/direction.c generated
dlls/wineps.drv/vertical.c generated
nls/*.nls generated
...@@ -18,18 +18,21 @@ Charles Davis <cdavis@codeweavers.com> ...@@ -18,18 +18,21 @@ Charles Davis <cdavis@codeweavers.com>
Charles Davis <cdavis5x@gmail.com> Charles Davis <cdavis5x@gmail.com>
Christopher Gautier <krys@via.ecp.fr> Christopher Gautier <krys@via.ecp.fr>
David A. Cuthbert <dacut@ece.cmu.edu> David A. Cuthbert <dacut@ece.cmu.edu>
David Heidelberger <david@ixit.cz> David Heidelberg <david@ixit.cz>
Dennis Björklund <db@zigo.dhs.org> Dennis Björklund <db@zigo.dhs.org>
Dennis Björklund <dennisb@cs.chalmers.se> Dennis Björklund <dennisb@cs.chalmers.se>
Dimitrie O. Paun <dimi@bigfoot.com> Dimitrie O. Paun <dimi@bigfoot.com>
Dimitrie O. Paun <dimi@lattica.com> Dimitrie O. Paun <dimi@lattica.com>
EA Durbin <eadurbin@freebsd.org> EA Durbin <eadurbin@freebsd.org>
Eduardo García <eduardo.garcia@gmx.com> Eduardo García <eduardo.garcia@gmx.com>
Elizabeth Figura <z.figura12@gmail.com>
Elizabeth Figura <zfigura@codeweavers.com>
Erich Hoover <erich.e.hoover@gmail.com> Erich Hoover <erich.e.hoover@gmail.com>
Erich Hoover <erich.e.hoover@wine-staging.com> Erich Hoover <erich.e.hoover@wine-staging.com>
Erwin Wolff <erwinwolffnl@microformatica.com> Erwin Wolff <erwinwolffnl@microformatica.com>
Esme Povirk <vincent@codeweavers.com> Esme Povirk <vincent@codeweavers.com>
Evgeny Putin <evcalipt@etersoft.ru> Evgeny Putin <evcalipt@etersoft.ru>
Fan WenJie <fanwj@mail.ustc.edu.cn>
Fatih Aşıcı <fasici@linux-sevenler.org> Fatih Aşıcı <fasici@linux-sevenler.org>
Fernando Martins <fernando@cmartins.nl> Fernando Martins <fernando@cmartins.nl>
François Gouget <fgouget@codeweavers.com> François Gouget <fgouget@codeweavers.com>
......
This diff is collapsed.
The Wine team is proud to announce that the stable release Wine 10.0
is now available.
This release represents a year of development effort and over 6,000
individual changes. It contains a large number of improvements that
are listed below. The main highlights are the new ARM64EC
architecture and the high-DPI scaling support.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.0.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0/AUTHORS
## What's new in Wine 10.0
### ARM64
- The ARM64EC architecture is fully supported, with feature parity with the
ARM64 support.
- Hybrid ARM64X modules are fully supported. This allows mixing ARM64EC and
plain ARM64 code into a single binary. All of Wine can be built as ARM64X
by passing the `--enable-archs=arm64ec,aarch64` option to configure. This
still requires an experimental LLVM toolchain, but it is expected that the
upcoming LLVM 20 release will be able to build ARM64X Wine out of the box.
- The 64-bit x86 emulation interface is implemented. This takes advantage of
the ARM64EC support to run all of the Wine code as native, with only the
application's x86-64 code requiring emulation.
No emulation library is provided with Wine at this point, but an external
library that exports the emulation interface can be used, by specifying
its name in the `HKLM\Software\Microsoft\Wow64\amd64` registry key. The
[FEX emulator][4] implements this interface when built as ARM64EC.
- It should be noted that ARM64 support requires the system page size to be
4K, since that is what the Windows ABI specifies. Running on kernels with
16K or 64K pages is not supported at this point.
[4]: https://fex-emu.com
### Graphics
- High-DPI support is implemented more accurately, and non-DPI aware windows
are scaled automatically, instead of exposing high-DPI sizes to
applications that don't expect it.
- Compatibility flags are implemented to override high-DPI support, either
per-application or globally in the prefix.
- Vulkan child window rendering is supported with the X11 backend, for
applications that need 3D rendering on child windows. This was supported
with OpenGL already, and the Vulkan support is now on par.
- The Vulkan driver supports up to version 1.4.303 of the Vulkan spec. It
also supports the Vulkan Video extensions.
- Font linking is supported in GdiPlus.
### Desktop integration
- A new opt-in modesetting emulation mechanism is available. It is very
experimental still, but can be used to force display mode changes to be
fully emulated, instead of actually changing the display settings.
The windows are being padded and scaled if necessary to fit in the
physical display, as if the monitor resolution were changed, but no actual
modesetting is requested, improving user experience.
- A new Desktop Control Panel applet `desk.cpl` is provided, to inspect and
modify the display configuration. It can be used as well to change the
virtual desktop resolution, or to control the new emulated display
settings.
- Display settings are restored to the default if a process crashes without
restoring them properly.
- System tray icons can be completely disabled by setting `NoTrayItemsDisplay=1`
in the `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
key.
- Shell launchers can be disabled in desktop mode by setting `NoDesktop=1`
in the `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
key.
### Direct3D
- The GL renderer now requires GLSL 1.20, `EXT_framebuffer_object`, and
`ARB_texture_non_power_of_two`. The legacy ARB shader backend is no longer
available, and the `OffscreenRenderingMode` setting has been removed.
- Shader stencil export is implemented for the GL and Vulkan renderers.
- A HLSL-based fixed function pipeline for Direct3D 9 and earlier is
available, providing support for fixed function emulation for the Vulkan
renderer. It can also be used for the GL renderer, by setting the D3D
setting `ffp_hlsl` to a nonzero value using the registry or the
`WINE_D3D_CONFIG` environment variable.
- The Vulkan renderer uses several dynamic state extensions, if available,
with the goal of reducing stuttering in games.
- An alternative GLSL shader backend using vkd3d-shader is now available,
and can be selected by setting the D3D setting `shader_backend` to
`glsl-vkd3d`. Current vkd3d-shader GLSL support is incomplete relative to
the built-in GLSL shader backend, but is being actively developed.
### Direct3D helper libraries
- Initial support for compiling Direct3D effects is implemented using
vkd3d-shader.
- D3DX 9 supports many more bump-map and palettized formats.
- D3DX 9 supports saving palettized surfaces to DDS files.
- D3DX 9 supports mipmap generation when loading volume texture files.
- D3DX 9 supports reading 48-bit and 64-bit PNG files.
### Wayland driver
- The Wayland graphics driver is enabled by default, but the X11 driver
still takes precedence if both are available. To force using the Wayland
driver in that case, make sure that the `DISPLAY` environment variable is
unset.
- Popup windows should be positioned correctly in most cases.
- OpenGL is supported.
- Key auto-repeat is implemented.
### Multimedia
- A new opt-in FFmpeg-based backend is introduced, as an alternative to the
GStreamer backend. It is intended to improve compatibility with Media
Foundation pipelines. It is still in experimental stage though, and more
work will be needed, especially for D3D-aware playback. It can be enabled
by setting the value `DisableGstByteStreamHandler=1` in the
`HKCU\Software\Wine\MediaFoundation` registry key.
- Media Foundation multimedia pipelines are more accurately implemented, for
the many applications that depend on the individual demuxing and decoding
components to be exposed. Topology resolution with demuxer and decoder
creation and auto-plugging is improved.
- DirectMusic supports loading MIDI files.
### Input / HID devices
- Raw HID devices with multiple top-level collections are correctly parsed,
and exposed as individual devices to Windows application.
- Touchscreen input and events are supported with the X11 backend, and basic
multi-touch support through the `WM_POINTER` messages is
implemented. Mouse window messages such as `WM_LBUTTON*`, `WM_RBUTTON*`,
and `WM_MOUSEMOVE` are also generated from the primary touch events.
- A number of USER32 internal structures are stored in shared memory, to
improve performance and reduce Wine server load by avoiding server
round-trips.
- An initial version of a Bluetooth driver is implemented, with some basic
functionality.
- The Joystick Control Panel applet `joy.cpl` enables toggling some advanced
settings.
- The Dvorak keyboard layout is properly supported.
### Internationalization
- Locale data is generated from the Unicode CLDR database version 46. The
following additional locales are supported: `kaa-UZ`, `lld-IT`, `ltg-LV`,
and `mhn-IT`.
- Unicode character tables are based on version 16.0.0 of the Unicode
Standard.
- The timezone data is based on version 2024a of the IANA timezone database.
### Internet and networking
- The JavaScript engine supports a new object binding interface, used by
MSHTML to expose its objects in a standard-compliant mode. This eliminates
the distinction between JavaScript objects and host objects within the
engine, allowing scripts greater flexibility when interacting with MSHTML
objects.
- Built-in MSHTML functions are proper JavaScript function objects, and
other properties use accessor functions where appropriate.
- MSHTML supports prototype and constructor objects for its built-in
objects.
- Function objects in legacy MSHTML mode support the `call` and `apply`
methods.
- The JavaScript garbage collector operates globally across all script
contexts within a thread, improving its accuracy.
- JavaScript ArrayBuffer and DataView objects are supported.
### RPC / COM
- RPC/COM calls are fully supported on ARM platforms, including features
such as stubless proxies and the typelib marshaler.
- All generated COM proxies use the fully-interpreted marshaling mode on all
platforms.
### C runtime
- C++ exceptions and Run-Time Type Information (RTTI) are supported on ARM
platforms.
- The ANSI functions in the C runtime support the UTF-8 codepage.
### Kernel
- Process elevation is implemented, meaning that processes run as a normal
user by default but can be elevated to administrator access when required.
- Disk labels are retrieved from DBus when possible instead of accessing the
raw device.
- Mailslots are implemented directly in the Wine server instead of using a
socketpair, to allow supporting the full Windows semantics.
- Asynchronous waits for serial port events are reimplemented. The previous
implementation was broken by the PE separation work in Wine 9.0.
- The full processor XState is supported in thread contexts, enabling
support for newer vector extensions like AVX-512.
### macOS
- When building with Xcode >= 15.3 on macOS, the preloader is no longer
needed.
- Syscall emulation for applications doing direct NT syscalls is supported
on macOS Sonoma and later.
### Builtin applications
- The input parser of the Command Prompt tool `cmd` is rewritten, which
fixes a number of long-standing issues, particularly with variable
expansion, command chaining, and FOR loops.
- The Wine Debugger `winedbg` uses the Capstone library to enable
disassembly on all supported CPU types.
- The File Comparison tool `fc` supports comparing files with default
options.
- The `findstr` application supports regular expressions and case
insensitive search.
- The `regsvr32` and `rundll32` applications can register ARM64EC modules.
- The `sort` application is implemented.
- The `where` application supports searching files with default options.
- The `wmic` application supports an interactive mode.
### Miscellaneous
- The ODBC library supports loading Windows ODBC drivers, in addition to
Unix drivers that were already supported through libodbc.so.
- Optimal Asymmetric Encryption Padding (OAEP) is supported for RSA
encryption.
- Network sessions are supported in DirectPlay.
### Development tools
- The IDL compiler generates correct format strings in interpreted stubs
mode (`/Oicf` in midl.exe) on all platforms. Interpreted mode is now the
default, the old mixed-mode stub generation can be selected with `widl
-Os`.
- The IDL compiler can generate typelibs in the old SLTG format with the
`--oldtlb` command-line option.
- The `winegcc` and `winebuild` tools can create hybrid ARM64X modules with
the `-marm64x` option.
- The `winedump` tool supports dumping minidump tables, C++ exception data,
CLR tables, and typelib resources.
### Build infrastructure
- The `makedep` tool generates a standard-format `compile_commands.json`
file that can be used with various IDEs.
- Using `.def` files as import libraries with `winegcc` is no longer
supported, all import libraries need to be in the standard `.a` format. If
necessary, it is possible to convert a `.def` library to `.a` format using
`winebuild --implib -E libfoo.def -o libfoo.a`.
- Static analysis is supported using the Clang Static Analyzer. It can be
enabled by passing the `--enable-sast` option to configure. This is used
to present Code Quality reports with the Gitlab CI.
### Bundled libraries
- The Capstone library version 5.0.3 is bundled and used for disassembly
support in the Wine Debugger, to enable disassembly of ARM64 code. This
replaces the bundled Zydis library, which has been removed.
- Vkd3d is updated to the upstream release [1.14][5].
- Faudio is updated to the upstream release 24.10.
- FluidSynth is updated to the upstream release 2.4.0.
- LDAP is updated to the upstream release 2.5.18.
- LCMS2 is updated to the upstream release 2.16.
- LibJpeg is updated to the upstream release 9f.
- LibMPG123 is updated to the upstream release 1.32.9.
- LibPng is updated to the upstream release 1.6.44.
- LibTiff is updated to the upstream release 4.7.0.
- LibXml2 is updated to the upstream release 2.12.8.
- LibXslt is updated to the upstream release 1.1.42.
- Zlib is updated to the upstream release 1.3.1.
[5]: https://gitlab.winehq.org/wine/vkd3d/-/releases/vkd3d-1.14
### External dependencies
- The FFmpeg libraries are used to implement the new Media Foundation
backend.
- A PE cross-compiler is required for 32-bit ARM builds, pure ELF builds are
no longer supported (this was already the case for 64-bit ARM).
- Libunwind is no longer used on ARM platforms since they are built as
PE. It's only used on x86-64.
...@@ -18,6 +18,7 @@ Adam Gashlin ...@@ -18,6 +18,7 @@ Adam Gashlin
Adam Gundy Adam Gundy
Adam Martinson Adam Martinson
Adam Petaccia Adam Petaccia
Adam Rehn
Adam Sacarny Adam Sacarny
Adam Stachowicz Adam Stachowicz
Adam Stoelting Adam Stoelting
...@@ -25,11 +26,14 @@ Adrian Bunk ...@@ -25,11 +26,14 @@ Adrian Bunk
Adrian Harvey Adrian Harvey
Adrian Thiele Adrian Thiele
Adrian Thurston Adrian Thurston
Agustin Principe
Aida Jonikienė
Aidan Thornton Aidan Thornton
Ake Rehnman Ake Rehnman
Akihiro Sagawa Akihiro Sagawa
Akira Nakagawa Akira Nakagawa
Alam Arias Alam Arias
Alanas Tebuev
Alasdair Sinclair Alasdair Sinclair
Alastair Bridgewater Alastair Bridgewater
Alastair McKinstry Alastair McKinstry
...@@ -73,10 +77,12 @@ Alexandros Frantzis ...@@ -73,10 +77,12 @@ Alexandros Frantzis
Alexandru Balut Alexandru Balut
Alex Arazi Alex Arazi
Alex Busenius Alex Busenius
Alexey Lushnikov
Alexey Markachev Alexey Markachev
Alexey Prokhin Alexey Prokhin
Alexey Spiridonov Alexey Spiridonov
Alex Henrie Alex Henrie
Alexis Murzeau
Alex Korobka Alex Korobka
Alex Pasadyn Alex Pasadyn
Alex Priem Alex Priem
...@@ -85,6 +91,7 @@ Alex Villacís Lasso ...@@ -85,6 +91,7 @@ Alex Villacís Lasso
Alex Woods Alex Woods
Alex Zorach Alex Zorach
Alfons Hoogervorst Alfons Hoogervorst
Alfred Agrell
Alistair Leslie-Hughes Alistair Leslie-Hughes
Allan Tong Allan Tong
Ally Sommers Ally Sommers
...@@ -98,6 +105,7 @@ Anastasios Simeonidis ...@@ -98,6 +105,7 @@ Anastasios Simeonidis
Anatoly Lyutin Anatoly Lyutin
Anders Bergh Anders Bergh
Anders Jonsson Anders Jonsson
Anders Kjersem
Anderson Lizardo Anderson Lizardo
Andoni Morales Alastruey Andoni Morales Alastruey
András Kovács András Kovács
...@@ -119,6 +127,7 @@ Andre Malafaya Baptista ...@@ -119,6 +127,7 @@ Andre Malafaya Baptista
Andrew Bogott Andrew Bogott
Andrew Borodin Andrew Borodin
Andrew Boyarshin Andrew Boyarshin
Andrew Brobston
Andrew Bulhak Andrew Bulhak
Andrew Church Andrew Church
Andrew Cook Andrew Cook
...@@ -194,6 +203,7 @@ Benjamin Arai ...@@ -194,6 +203,7 @@ Benjamin Arai
Benjamin Cutler Benjamin Cutler
Benjamin Hodgetts Benjamin Hodgetts
Benjamin Kramer Benjamin Kramer
Benjamin Mayes
Ben Klein Ben Klein
Ben Mayhew Ben Mayhew
Ben Peddell Ben Peddell
...@@ -289,6 +299,7 @@ Charles M. Hannum ...@@ -289,6 +299,7 @@ Charles M. Hannum
Charles Suprin Charles Suprin
Charles Vaughn Charles Vaughn
Charles Welton Charles Welton
Charlotte Pabst
Cheer Xiao Cheer Xiao
Chen Yuan Chen Yuan
Chia-I Wu Chia-I Wu
...@@ -356,6 +367,7 @@ Dan Hipschman ...@@ -356,6 +367,7 @@ Dan Hipschman
Daniel Ansorregui Daniel Ansorregui
Daniel Beitler Daniel Beitler
Daniel Gudbjartsson Daniel Gudbjartsson
Daniel Hill
Daniel Jelinski Daniel Jelinski
Daniel Lehman Daniel Lehman
Daniel Lund Daniel Lund
...@@ -376,6 +388,7 @@ Dan Kegel ...@@ -376,6 +388,7 @@ Dan Kegel
Dan Langlois Dan Langlois
Dan Scott Dan Scott
Dan Wolf Dan Wolf
Danyil Blyschak
Darryl Dixon Darryl Dixon
Dave Belanger Dave Belanger
Dave Hawkes Dave Hawkes
...@@ -400,7 +413,7 @@ David Gow ...@@ -400,7 +413,7 @@ David Gow
David Grant David Grant
David Hammerton David Hammerton
David Hedberg David Hedberg
David Heidelberger David Heidelberg
David Hemmo David Hemmo
David Howells David Howells
David Kahurani David Kahurani
...@@ -415,6 +428,7 @@ David Lee Lambert ...@@ -415,6 +428,7 @@ David Lee Lambert
David Lichterman David Lichterman
David Luyer David Luyer
David McCullough David McCullough
David McFarland
David Metcalfe David Metcalfe
David Miller David Miller
David Moore David Moore
...@@ -426,6 +440,7 @@ David Welch ...@@ -426,6 +440,7 @@ David Welch
David White David White
David Woodhouse David Woodhouse
Davin McCall Davin McCall
Dāvis Mosāns
Dean M Greer Dean M Greer
Denil Verghese Denil Verghese
Denis Baranov Denis Baranov
...@@ -447,6 +462,7 @@ Dmitriy Anisimkov ...@@ -447,6 +462,7 @@ Dmitriy Anisimkov
Dmitry Kislyuk Dmitry Kislyuk
Dmitry Kozliuk Dmitry Kozliuk
Dmitry Potapov Dmitry Potapov
Dmitry Sokolov
Dmitry Timoshkov Dmitry Timoshkov
Dominik Strasser Dominik Strasser
Donat Enikeev Donat Enikeev
...@@ -454,6 +470,7 @@ Dongwan Kim ...@@ -454,6 +470,7 @@ Dongwan Kim
Don Kelly Don Kelly
Donna Whisnant Donna Whisnant
Donn Miller Donn Miller
Đorđe Mančić
Doug Kingston Doug Kingston
Douglas Ridgway Douglas Ridgway
Doug Lyons Doug Lyons
...@@ -466,6 +483,7 @@ Duncan C Thomson ...@@ -466,6 +483,7 @@ Duncan C Thomson
Dusan Lacko Dusan Lacko
Dustin Brody Dustin Brody
Dustin Navea Dustin Navea
Dylan Donnell
Dylan Smith Dylan Smith
Dylan Taft Dylan Taft
EA Durbin EA Durbin
...@@ -477,9 +495,12 @@ Ed Snow ...@@ -477,9 +495,12 @@ Ed Snow
Eduardo García Eduardo García
Eduard Permyakov Eduard Permyakov
EG Galano EG Galano
Ekaterine Papava
Elias Benali Elias Benali
Elias Norberg
Elias Ross Elias Ross
Elie Morisse Elie Morisse
Elizabeth Figura
Emilio Cobos Álvarez Emilio Cobos Álvarez
Emmanuel Maillard Emmanuel Maillard
Enol Puente Enol Puente
...@@ -532,6 +553,7 @@ Fatih Aşıcı ...@@ -532,6 +553,7 @@ Fatih Aşıcı
Federico Schwindt Federico Schwindt
Felix Hädicke Felix Hädicke
Felix Janda Felix Janda
Felix Münchhalfen
Felix Nawothnig Felix Nawothnig
Ferenc Wagner Ferenc Wagner
Fergal Daly Fergal Daly
...@@ -550,10 +572,12 @@ Florian Tobias Schandinat ...@@ -550,10 +572,12 @@ Florian Tobias Schandinat
Florian Will Florian Will
Floris Renaud Floris Renaud
Fons Botman Fons Botman
Fotios Valasiadis
Francesco Di Punzio Francesco Di Punzio
Francesco Noferi Francesco Noferi
Francis Beaudet Francis Beaudet
Francisco Casas Francisco Casas
Francis De Brabandere
Francois Boisvert Francois Boisvert
François Dorin François Dorin
François Gouget François Gouget
...@@ -566,6 +590,7 @@ Freddie Tilley ...@@ -566,6 +590,7 @@ Freddie Tilley
Frederic Boulanger Frederic Boulanger
Frédéric Delanoy Frédéric Delanoy
Frédéric Fauberteau Frédéric Fauberteau
Gabriel Brand
Gabriel Buades Rubio Gabriel Buades Rubio
Gabriele Giorgetti Gabriele Giorgetti
Gabriele Moabiti Gabriele Moabiti
...@@ -574,12 +599,14 @@ Gabriel Garcia ...@@ -574,12 +599,14 @@ Gabriel Garcia
Gabriel Ivăncescu Gabriel Ivăncescu
Gael de Chalendar Gael de Chalendar
Gal Topper Gal Topper
Garrett Mesmer
Gaurav Jain Gaurav Jain
Gautam Jain Gautam Jain
Gavriel State Gavriel State
Gediminas Jakutis Gediminas Jakutis
Geoff Clare Geoff Clare
Geoffrey Hausheer Geoffrey Hausheer
Geoffrey McRae
Geoff Thorpe Geoff Thorpe
Georg Beyerle Georg Beyerle
George Gov George Gov
...@@ -598,6 +625,7 @@ Giuseppe Bilotta ...@@ -598,6 +625,7 @@ Giuseppe Bilotta
Gleb Smirnoff Gleb Smirnoff
Glenn Schrader Glenn Schrader
Glenn Wurster Glenn Wurster
Gopal Prasad
Goran Thyni Goran Thyni
Gordon Chaffee Gordon Chaffee
G. Paul Ziemba G. Paul Ziemba
...@@ -638,6 +666,7 @@ Hann-huei Chiou ...@@ -638,6 +666,7 @@ Hann-huei Chiou
Hannu Valtonen Hannu Valtonen
Hans de Graaff Hans de Graaff
Hans-Kristian Arntzen Hans-Kristian Arntzen
Hans Lehnert
Hans Leidekker Hans Leidekker
Hao Peng Hao Peng
Haoyang Chen Haoyang Chen
...@@ -648,6 +677,7 @@ Harry McNally ...@@ -648,6 +677,7 @@ Harry McNally
Hartmut Birr Hartmut Birr
Hasan Kiran Hasan Kiran
Heiko Hund Heiko Hund
Helix Graziani
Henning Gerhardt Henning Gerhardt
Henning Hoffmann Henning Hoffmann
Henrik Olsen Henrik Olsen
...@@ -655,6 +685,7 @@ Henri Verbeet ...@@ -655,6 +685,7 @@ Henri Verbeet
Henry Goffin Henry Goffin
Henry Kroll III Henry Kroll III
Herbert Rosmanith Herbert Rosmanith
Herman Semenov
Hermès Bélusca-Maïto Hermès Bélusca-Maïto
Hernan Rajchert Hernan Rajchert
Hervé Chanal Hervé Chanal
...@@ -671,6 +702,7 @@ Hiroshi Miura ...@@ -671,6 +702,7 @@ Hiroshi Miura
Hiroshi Tanabe Hiroshi Tanabe
Hleb Valoska Hleb Valoska
Hongbo Ni Hongbo Ni
Hongxin Zhao
Howard Abrams Howard Abrams
Howell Tam Howell Tam
Hua Meng Hua Meng
...@@ -688,6 +720,7 @@ Igor Paliychuk ...@@ -688,6 +720,7 @@ Igor Paliychuk
Igor Stepin Igor Stepin
Igor Tarasov Igor Tarasov
Ihsan Akmal Ihsan Akmal
Ilia Docin
Ilia Mirkin Ilia Mirkin
Illia Polishchuk Illia Polishchuk
Ilya Basin Ilya Basin
...@@ -697,6 +730,7 @@ Ilya Shpigor ...@@ -697,6 +730,7 @@ Ilya Shpigor
Indrek Altpere Indrek Altpere
Ingmar Thiemann Ingmar Thiemann
Ingo Schneider Ingo Schneider
Isaac Marovitz
Isabella Bosia Isabella Bosia
Isira Seneviratne Isira Seneviratne
Ismael Barros Ismael Barros
...@@ -718,6 +752,7 @@ Jacek Caban ...@@ -718,6 +752,7 @@ Jacek Caban
Jacek Konieczny Jacek Konieczny
Jacob Czekalla Jacob Czekalla
Jacob Lifshay Jacob Lifshay
Jacob Pfeiffer
Jaco Greeff Jaco Greeff
Jactry Zeng Jactry Zeng
Jaekil Lee Jaekil Lee
...@@ -727,8 +762,10 @@ Jaka Kranjc ...@@ -727,8 +762,10 @@ Jaka Kranjc
Jake Hamby Jake Hamby
Jakob Eriksson Jakob Eriksson
Jakub Bartmiński Jakub Bartmiński
Jakub Petrzilka
Jakub Staroń Jakub Staroń
James Abbatiello James Abbatiello
James Beddek
James Courtier-Dutton James Courtier-Dutton
James Dean Anderson James Dean Anderson
James Eder James Eder
...@@ -958,6 +995,7 @@ Karl Lessard ...@@ -958,6 +995,7 @@ Karl Lessard
Karl Relton Karl Relton
Karol Herbst Karol Herbst
Karsten Elfenbein Karsten Elfenbein
Kartavya Vashishtha
Kasper Sandberg Kasper Sandberg
Katarzyna Caban Katarzyna Caban
K.B.Dharun Krishna K.B.Dharun Krishna
...@@ -986,6 +1024,7 @@ Kevin Puetz ...@@ -986,6 +1024,7 @@ Kevin Puetz
Kevin Schmidt Kevin Schmidt
Kieran Clancy Kieran Clancy
Kieran Duggan Kieran Duggan
Kieran Geary
Kim Geonwoo (김건우) Kim Geonwoo (김건우)
Kim Jung Eon Kim Jung Eon
Kim Lilliestierna Kim Lilliestierna
...@@ -995,6 +1034,7 @@ Kira Backes ...@@ -995,6 +1034,7 @@ Kira Backes
Kirill Erofeev Kirill Erofeev
Kirill K. Smirnov Kirill K. Smirnov
Kirill Smelkov Kirill Smelkov
Kirill Zhumarin
Kjell Rune Skaaraas Kjell Rune Skaaraas
Klaas van Gend Klaas van Gend
Klaus Layer Klaus Layer
...@@ -1019,11 +1059,14 @@ Kristian Nielsen ...@@ -1019,11 +1059,14 @@ Kristian Nielsen
Kristján Gerhardsson Kristján Gerhardsson
Kristofer Henriksson Kristofer Henriksson
Kristoffer Gleditsch Kristoffer Gleditsch
Krzysztof Bogacki
Krzysztof Foltman Krzysztof Foltman
Krzysztof Kotlenga Krzysztof Kotlenga
Krzysztof Nowicki Krzysztof Nowicki
Kurt Kartaltepe
Kusanagi Kouichi Kusanagi Kouichi
Kyle Luna Kyle Luna
Kyrylo Babikov
Lance Jackson Lance Jackson
Lars-Ake Fredlund Lars-Ake Fredlund
Lars Heete Lars Heete
...@@ -1063,6 +1106,7 @@ Louis Lenders ...@@ -1063,6 +1106,7 @@ Louis Lenders
Louis Philippe Gagnon Louis Philippe Gagnon
L. Rahyen L. Rahyen
Luca Bennati Luca Bennati
Lucas Chollet
Lucas Fialho Zawacki Lucas Fialho Zawacki
Lucian Poston Lucian Poston
Luc Tourangeau Luc Tourangeau
...@@ -1134,6 +1178,7 @@ Martin Fuchs ...@@ -1134,6 +1178,7 @@ Martin Fuchs
Martin Garton Martin Garton
Martin Jesper Low Madsen Martin Jesper Low Madsen
Martin Liska Martin Liska
Martino Fontana
Martin Payne Martin Payne
Martin Petricek Martin Petricek
Martin Pilka Martin Pilka
...@@ -1171,6 +1216,7 @@ Matthew Robertson ...@@ -1171,6 +1216,7 @@ Matthew Robertson
Matthew Tran Matthew Tran
Matthias Derer Matthias Derer
Matthias Fechner Matthias Fechner
Matthias Gorzellik
Matthias Kupfer Matthias Kupfer
Matt Jones Matt Jones
Matt Robinson Matt Robinson
...@@ -1178,6 +1224,7 @@ Mauro Carvalho Chehab ...@@ -1178,6 +1224,7 @@ Mauro Carvalho Chehab
Max Figura Max Figura
Maxime Bellengé Maxime Bellengé
Maxime Lombard Maxime Lombard
Maxim Karasev
Max Kellermann Max Kellermann
Max Qian Max Qian
Max TenEyck Woodbury Max TenEyck Woodbury
...@@ -1186,10 +1233,12 @@ Micah N Gorrell ...@@ -1186,10 +1233,12 @@ Micah N Gorrell
Michael Abbott Michael Abbott
Michael Abd-El-Malek Michael Abd-El-Malek
Michael Beach Michael Beach
Michael Bond
Michael Cardenas Michael Cardenas
Michael C. Maggio Michael C. Maggio
Michael Cronenworth Michael Cronenworth
Michael Curran Michael Curran
Michael Ehrenreich
Michael Fritscher Michael Fritscher
Michael Gardiner Michael Gardiner
Michael Geddes Michael Geddes
...@@ -1201,6 +1250,7 @@ Michael Jacobsen ...@@ -1201,6 +1250,7 @@ Michael Jacobsen
Michael Jung Michael Jung
Michael Karcher Michael Karcher
Michael Kaufmann Michael Kaufmann
Michael Lelli
Michael Lin Michael Lin
Michael Martin Michael Martin
Michael McCormack Michael McCormack
...@@ -1211,6 +1261,7 @@ Michael Patra ...@@ -1211,6 +1261,7 @@ Michael Patra
Michael Ploujnikov Michael Ploujnikov
Michael Poole Michael Poole
Michael Schlüter Michael Schlüter
Michael Skorokhodov
Michael Stefaniuc Michael Stefaniuc
Michael Veksler Michael Veksler
Michael Wetherell Michael Wetherell
...@@ -1269,11 +1320,13 @@ Nathan Zorich ...@@ -1269,11 +1320,13 @@ Nathan Zorich
Naveen Narayanan Naveen Narayanan
Neil Olver Neil Olver
Neil Skrypuch Neil Skrypuch
Nell Hardcastle
Nemeth Peter Nemeth Peter
Nerijus Baliunas Nerijus Baliunas
Nguyễn Chính Hữu Nguyễn Chính Hữu
Nicholas Fraser Nicholas Fraser
Nicholas Niro Nicholas Niro
Nicholas Tay
Nick Bowler Nick Bowler
Nick Burns Nick Burns
Nick Fox Nick Fox
...@@ -1289,6 +1342,7 @@ Niels Kristian Bech Jensen ...@@ -1289,6 +1342,7 @@ Niels Kristian Bech Jensen
Nigel Liang Nigel Liang
Nikita Morozkin Nikita Morozkin
Nikita V. Youshchenko Nikita V. Youshchenko
Nikola Kuburović
Nikola Pavlica Nikola Pavlica
Nikolas Zimmermann Nikolas Zimmermann
Nikolay Bogoychev Nikolay Bogoychev
...@@ -1296,6 +1350,7 @@ Nikolay Sivov ...@@ -1296,6 +1350,7 @@ Nikolay Sivov
Nikolay Stefanov Nikolay Stefanov
Nils Kuhnhenn Nils Kuhnhenn
Nix N. Nix Nix N. Nix
Noah Berner
Noel Borthwick Noel Borthwick
Noomen Hamza Noomen Hamza
Norman Stevens Norman Stevens
...@@ -1320,6 +1375,7 @@ Olli-Pekka Wallin ...@@ -1320,6 +1375,7 @@ Olli-Pekka Wallin
Ondrej Macek Ondrej Macek
Onno Hovers Onno Hovers
Orhan Kavrakoğlu Orhan Kavrakoğlu
Orin Varley
Orion Poplawski Orion Poplawski
Ori Pessach Ori Pessach
Ove Kåven Ove Kåven
...@@ -1363,9 +1419,11 @@ Paul van Schayck ...@@ -1363,9 +1419,11 @@ Paul van Schayck
Paul Vriens Paul Vriens
Pavel Borecki Pavel Borecki
Pavel Kankovsky Pavel Kankovsky
Pavel Ondračka
Pavel Roskin Pavel Roskin
Pavel Semerad Pavel Semerad
Pavel Troller Pavel Troller
Paweł Ulita
Pedro Araujo Chaves Jr Pedro Araujo Chaves Jr
Pedro Maia Pedro Maia
Pedro Perdigão Pedro Perdigão
...@@ -1391,6 +1449,7 @@ Peter Hawkins ...@@ -1391,6 +1449,7 @@ Peter Hawkins
Peter Hedlund Peter Hedlund
Peter Hunnisett Peter Hunnisett
Peter Ivanyi Peter Ivanyi
Peter Johnson
Peter Lemenkov Peter Lemenkov
Peter MacDonald Peter MacDonald
Peter Mladek Peter Mladek
...@@ -1404,12 +1463,14 @@ Peter Schlaile ...@@ -1404,12 +1463,14 @@ Peter Schlaile
Peter Urbanec Peter Urbanec
Peter Verthez Peter Verthez
Petr Dlouhý Petr Dlouhý
Petrichor Park
Petri Tuomola Petri Tuomola
Petr Kočandrle Petr Kočandrle
Petr Sumbera Petr Sumbera
Petr Tesarik Petr Tesarik
Petr Tomasek Petr Tomasek
Petter Reinholdtsen Petter Reinholdtsen
Pétur Runólfsson
Phil Cole Phil Cole
Phil Costin Phil Costin
Philip Allison Philip Allison
...@@ -1457,6 +1518,7 @@ Ralf S. Engelschall ...@@ -1457,6 +1518,7 @@ Ralf S. Engelschall
Ramon Garcia Ramon Garcia
Randy Weems Randy Weems
Raphael Junqueira Raphael Junqueira
Rastislav Stanik
Raul Dias Raul Dias
Raul Fernandes Raul Fernandes
Raul Metsma Raul Metsma
...@@ -1522,6 +1584,7 @@ Roger Koot ...@@ -1522,6 +1584,7 @@ Roger Koot
Roger Olson Roger Olson
Roger Zoellner Roger Zoellner
Rok Mandeljc Rok Mandeljc
Roland Häder
Rolf Kalbermatter Rolf Kalbermatter
Romain Iehl Romain Iehl
Roman Dadkov Roman Dadkov
...@@ -1538,11 +1601,13 @@ Ross Biro ...@@ -1538,11 +1601,13 @@ Ross Biro
Royal Chan Royal Chan
Royce Mitchell III Royce Mitchell III
Roy Shea Roy Shea
Rozhuk Ivan
Rudolf Kastl Rudolf Kastl
Rudolf Mayerhofer Rudolf Mayerhofer
Ruei-Yuan Lu Ruei-Yuan Lu
Ruslan Kabatsayev Ruslan Kabatsayev
Russ Andersson Russ Andersson
Russell Greene
Rustam Chernotkach Rustam Chernotkach
Ryan Cumming Ryan Cumming
Ryan Hendrickson Ryan Hendrickson
...@@ -1554,6 +1619,7 @@ Sam Edwards ...@@ -1554,6 +1619,7 @@ Sam Edwards
Sami Aario Sami Aario
Sami Nopanen Sami Nopanen
Samir Al-Battran Samir Al-Battran
Sam Joan Roque-Worcel
Samuele Guerrini Samuele Guerrini
Samuel Lidén Borell Samuel Lidén Borell
Sander van Leeuwen Sander van Leeuwen
...@@ -1575,13 +1641,16 @@ Sean Sube ...@@ -1575,13 +1641,16 @@ Sean Sube
Sean Young Sean Young
Sebastián Aedo Sebastián Aedo
Sebastian Gasiorek Sebastian Gasiorek
Sebastian Krzyszkowiak
Sebastian Lackner Sebastian Lackner
Sebastian Mayr Sebastian Mayr
Sébastien Ramage Sébastien Ramage
Semenov Herman (Семенов Герман)
Seong-ho Cho Seong-ho Cho
Serge Gautherie Serge Gautherie
Sergei Bolotov Sergei Bolotov
Sergei Butakov Sergei Butakov
Sergei Chernyadyev
Sergei Ivanov Sergei Ivanov
Sergei Trofimovich Sergei Trofimovich
Serge S. Spiridonoff Serge S. Spiridonoff
...@@ -1598,6 +1667,7 @@ Shanren Zhou ...@@ -1598,6 +1667,7 @@ Shanren Zhou
Shaun Morris Shaun Morris
Shaun Ren Shaun Ren
Shawn M. Chapla Shawn M. Chapla
Shengdun Wang
Sheri Steeves Sheri Steeves
Shi Quan He Shi Quan He
Shuai Meng Shuai Meng
...@@ -1615,6 +1685,7 @@ Sin-ta Hsiea ...@@ -1615,6 +1685,7 @@ Sin-ta Hsiea
Slava Monich Slava Monich
Slaven Rezic Slaven Rezic
Snorri Sturluson Snorri Sturluson
Spencer Wallace
Srivatsa Kanchi, R Srivatsa Kanchi, R
Stanislav Motylkov Stanislav Motylkov
Stas Cymbalov Stas Cymbalov
...@@ -1664,6 +1735,7 @@ Sveinar Søpler ...@@ -1664,6 +1735,7 @@ Sveinar Søpler
Sven Baars Sven Baars
Sven Hesse Sven Hesse
Sven Paschukat Sven Paschukat
Sven Püschel
Sven Verdoolaege Sven Verdoolaege
Sylvain Bouchard Sylvain Bouchard
Sylvain Petreolle Sylvain Petreolle
...@@ -1729,11 +1801,13 @@ Tomasz Nowiński ...@@ -1729,11 +1801,13 @@ Tomasz Nowiński
Tom Bech Tom Bech
Tom Brus Tom Brus
Tom Fogal Tom Fogal
Tom Helander
Tom Hughes Tom Hughes
Tommy Schultz Lassen Tommy Schultz Lassen
Tom Wickline Tom Wickline
Tony Lambregts Tony Lambregts
Tony Wasserka Tony Wasserka
Topi-Matti Ritala
Torbjörn Andersson Torbjörn Andersson
Torge Matthies Torge Matthies
Toshiaki Hirose Toshiaki Hirose
...@@ -1746,6 +1820,7 @@ Tristan Schmelcher ...@@ -1746,6 +1820,7 @@ Tristan Schmelcher
Tristan Tarrant Tristan Tarrant
Troy Rollo Troy Rollo
Trygve Vea Trygve Vea
Tuomas Räsänen
Tyson Whitehead Tyson Whitehead
Ulrich Czekalla Ulrich Czekalla
Ulrich Hecht Ulrich Hecht
...@@ -1761,7 +1836,9 @@ Valery Kartel ...@@ -1761,7 +1836,9 @@ Valery Kartel
Vasily I. Volchenko Vasily I. Volchenko
Vasudev Mulchandani Vasudev Mulchandani
Vedran Rodic Vedran Rodic
Vibhav Pant
Vicki Pfau Vicki Pfau
Victor Chiletto
Victor Hermann Chiletto Victor Hermann Chiletto
Victor Martinez Calvo Victor Martinez Calvo
Victor Pelt Victor Pelt
...@@ -1781,6 +1858,7 @@ Vitaly Budovski ...@@ -1781,6 +1858,7 @@ Vitaly Budovski
Vitaly Lipatov Vitaly Lipatov
Vitaly Perov Vitaly Perov
Vit Hrachovy Vit Hrachovy
Vitor Ramos
Vladdy Impaler Vladdy Impaler
Vladimir Bespalov Vladimir Bespalov
Vladimir Pankratov Vladimir Pankratov
...@@ -1804,6 +1882,7 @@ Wei Xie ...@@ -1804,6 +1882,7 @@ Wei Xie
Wesley Filardo Wesley Filardo
Wilbur N. Dale Wilbur N. Dale
Wilfried Pasquazzo Wilfried Pasquazzo
William Horvath
William Knop William Knop
William Lahti William Lahti
William Magro William Magro
...@@ -1824,6 +1903,7 @@ Wolfgang Schwotzer ...@@ -1824,6 +1903,7 @@ Wolfgang Schwotzer
Wolfgang Thaller Wolfgang Thaller
Wolfgang Walter Wolfgang Walter
Wolfram Sang Wolfram Sang
Wonjun Jung
Won Kyu Park Won Kyu Park
Xiang Li Xiang Li
Xiaoshan Sun Xiaoshan Sun
...@@ -1847,12 +1927,12 @@ Yuriy Kaminskiy ...@@ -1847,12 +1927,12 @@ Yuriy Kaminskiy
Yussur-Mustafa Oraji Yussur-Mustafa Oraji
Yuval Fledel Yuval Fledel
Yuxi Zhang Yuxi Zhang
Yuxuan Shui
Yvon Belleau Yvon Belleau
Zachary Brown Zachary Brown
Zach Goldberg Zach Goldberg
Zach Gorman Zach Gorman
Zach Smith Zach Smith
Zebediah Figura
Zhangrong Huang Zhangrong Huang
Zhang Shuai Zhang Shuai
Zhan Jianyu Zhan Jianyu
...@@ -1868,4 +1948,5 @@ Zixing Liu ...@@ -1868,4 +1948,5 @@ Zixing Liu
Zoltan Kovacs Zoltan Kovacs
Zoltan Nagy Zoltan Nagy
Zoran Dzelajlija Zoran Dzelajlija
Zsolt Vadasz
Zygo Blaxell Zygo Blaxell
Copyright (c) 1993-2023 the Wine project authors (see the file AUTHORS Copyright (c) 1993-2025 the Wine project authors (see the file AUTHORS
for a complete list) for a complete list)
Wine is free software; you can redistribute it and/or modify it under Wine is free software; you can redistribute it and/or modify it under
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
List of Wine subsection maintainers List of Wine subsection maintainers
When submitting patches to Wine, the guidelines at When submitting patches to Wine, the guidelines at
<https://wiki.winehq.org/SubmittingPatches> should be followed. This file <https://gitlab.winehq.org/wine/wine/-/wikis/Submitting-Patches>
contains a list of maintainers for subsections of Wine. If you have should be followed. This file contains a list of maintainers for
questions about your work in an area of Wine, you may find a list of subsections of Wine. If you have questions about your work in an area
knowledgeable people here. of Wine, you may find a list of knowledgeable people here.
Many areas of Wine don't have a specific maintainer, although there may Many areas of Wine don't have a specific maintainer, although there may
be people with knowledge of those areas. If an area is not listed here be people with knowledge of those areas. If an area is not listed here
...@@ -37,7 +37,6 @@ F: dlls/ntdll/signal_arm* ...@@ -37,7 +37,6 @@ F: dlls/ntdll/signal_arm*
F: programs/winedbg/be_arm* F: programs/winedbg/be_arm*
Audio I/O Audio I/O
P: Andrew Eikum <coldpie@fastmail.com>
P: Huw Davies <huw@codeweavers.com> P: Huw Davies <huw@codeweavers.com>
F: dlls/dsound/ F: dlls/dsound/
F: dlls/mmdevapi/ F: dlls/mmdevapi/
...@@ -50,6 +49,11 @@ F: dlls/x3daudio*/ ...@@ -50,6 +49,11 @@ F: dlls/x3daudio*/
F: dlls/xapofx*/ F: dlls/xapofx*/
F: dlls/xaudio*/ F: dlls/xaudio*/
Bluetooth support
M: Vibhav Pant <vibhavp@gmail.com>
F: dlls/winebth.sys/
F: dlls/bluetoothapis/sdp.c
Common Controls Library Common Controls Library
P: Nikolay Sivov <nsivov@codeweavers.com> P: Nikolay Sivov <nsivov@codeweavers.com>
P: Zhiyi Zhang <zzhang@codeweavers.com> P: Zhiyi Zhang <zzhang@codeweavers.com>
...@@ -66,7 +70,7 @@ P: Henri Verbeet <hverbeet@codeweavers.com> ...@@ -66,7 +70,7 @@ P: Henri Verbeet <hverbeet@codeweavers.com>
F: dlls/d2d*/ F: dlls/d2d*/
Direct3D Direct3D
M: Zebediah Figura <z.figura12@gmail.com> M: Elizabeth Figura <zfigura@codeweavers.com>
M: Jan Sikorski <jsikorski@codeweavers.com> M: Jan Sikorski <jsikorski@codeweavers.com>
P: Henri Verbeet <hverbeet@codeweavers.com> P: Henri Verbeet <hverbeet@codeweavers.com>
P: Stefan Dösinger <stefan@codeweavers.com> P: Stefan Dösinger <stefan@codeweavers.com>
...@@ -106,7 +110,7 @@ F: dlls/dpnet/ ...@@ -106,7 +110,7 @@ F: dlls/dpnet/
F: dlls/dpwsockx/ F: dlls/dpwsockx/
DirectShow DirectShow
M: Zebediah Figura <z.figura12@gmail.com> M: Elizabeth Figura <zfigura@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com> P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/amstream/ F: dlls/amstream/
F: dlls/devenum/ F: dlls/devenum/
...@@ -159,7 +163,7 @@ M: Marcus Meissner <marcus@jet.franken.de> ...@@ -159,7 +163,7 @@ M: Marcus Meissner <marcus@jet.franken.de>
F: dlls/gphoto2.ds/ F: dlls/gphoto2.ds/
GStreamer multimedia backend GStreamer multimedia backend
M: Zebediah Figura <z.figura12@gmail.com> P: Elizabeth Figura <zfigura@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com> P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/winegstreamer/ F: dlls/winegstreamer/
...@@ -169,10 +173,11 @@ P: Aric Stewart <aric@codeweavers.com> ...@@ -169,10 +173,11 @@ P: Aric Stewart <aric@codeweavers.com>
F: dlls/hid/ F: dlls/hid/
F: dlls/hidclass.sys/ F: dlls/hidclass.sys/
F: dlls/hidparse.sys/ F: dlls/hidparse.sys/
F: dlls/mouhid.sys/
F: dlls/winehid.sys/ F: dlls/winehid.sys/
HTTP server HTTP server
M: Zebediah Figura <z.figura12@gmail.com> M: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/httpapi/ F: dlls/httpapi/
F: dlls/http.sys/ F: dlls/http.sys/
...@@ -205,29 +210,6 @@ F: dlls/winexinput.sys/ ...@@ -205,29 +210,6 @@ F: dlls/winexinput.sys/
F: dlls/winmm/joystick.c F: dlls/winmm/joystick.c
F: dlls/xinput*/ F: dlls/xinput*/
Media format conversion
P: Andrew Eikum <coldpie@fastmail.com>
F: dlls/*.acm/
F: dlls/msacm32/
Media Foundation GStreamer backend
M: Rémi Bernon <rbernon@codeweavers.com>
P: Nikolay Sivov <nsivov@codeweavers.com>
P: Zebediah Figura <z.figura12@gmail.com>
F: dlls/mf/tests/transform.c
F: dlls/winegstreamer/aac_decoder.c
F: dlls/winegstreamer/color_convert.c
F: dlls/winegstreamer/h264_decoder.c
F: dlls/winegstreamer/media_source.c
F: dlls/winegstreamer/mfplat.c
F: dlls/winegstreamer/resampler.c
F: dlls/winegstreamer/video_decoder.c
F: dlls/winegstreamer/video_processor.c
F: dlls/winegstreamer/wg_sample.c
F: dlls/winegstreamer/wg_transform.c
F: dlls/winegstreamer/wma_decoder.c
F: dlls/winegstreamer/wmv_decoder.c
Microsoft C Runtime Microsoft C Runtime
M: Piotr Caban <piotr@codeweavers.com> M: Piotr Caban <piotr@codeweavers.com>
F: dlls/concrt140/ F: dlls/concrt140/
...@@ -238,7 +220,7 @@ F: dlls/vcruntime140_1/ ...@@ -238,7 +220,7 @@ F: dlls/vcruntime140_1/
MSI installers MSI installers
M: Hans Leidekker <hans@codeweavers.com> M: Hans Leidekker <hans@codeweavers.com>
P: Zebediah Figura <z.figura12@gmail.com> P: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/msi/ F: dlls/msi/
Netstat Netstat
...@@ -288,7 +270,7 @@ P: Huw Davies <huw@codeweavers.com> ...@@ -288,7 +270,7 @@ P: Huw Davies <huw@codeweavers.com>
F: dlls/oleaut32/typelib.c F: dlls/oleaut32/typelib.c
Plug and Play Plug and Play
P: Zebediah Figura <z.figura12@gmail.com> P: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/newdev/ F: dlls/newdev/
F: dlls/ntoskrnl.exe/pnp.c F: dlls/ntoskrnl.exe/pnp.c
F: dlls/setupapi/devinst.c F: dlls/setupapi/devinst.c
...@@ -310,7 +292,7 @@ F: dlls/riched20/ ...@@ -310,7 +292,7 @@ F: dlls/riched20/
RPC Runtime RPC Runtime
P: Huw Davies <huw@codeweavers.com> P: Huw Davies <huw@codeweavers.com>
P: Zebediah Figura <z.figura12@gmail.com> P: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/rpcrt4/ F: dlls/rpcrt4/
Theming Theming
...@@ -344,12 +326,11 @@ WebBrowser control ...@@ -344,12 +326,11 @@ WebBrowser control
M: Jacek Caban <jacek@codeweavers.com> M: Jacek Caban <jacek@codeweavers.com>
F: dlls/ieframe/ F: dlls/ieframe/
F: dlls/mshtml/ F: dlls/mshtml/
F: dlls/shdocvw/
WIDL WIDL
P: Huw Davies <huw@codeweavers.com> P: Huw Davies <huw@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com> P: Rémi Bernon <rbernon@codeweavers.com>
P: Zebediah Figura <z.figura12@gmail.com> P: Elizabeth Figura <zfigura@codeweavers.com>
F: tools/widl/ F: tools/widl/
Windows Imaging Component Windows Imaging Component
...@@ -365,7 +346,7 @@ F: dlls/wbemprox/ ...@@ -365,7 +346,7 @@ F: dlls/wbemprox/
F: dlls/wmiutils/ F: dlls/wmiutils/
Windows Media Format Windows Media Format
M: Zebediah Figura <z.figura12@gmail.com> M: Elizabeth Figura <zfigura@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com> P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/wmp/ F: dlls/wmp/
F: dlls/wmvcore/ F: dlls/wmvcore/
...@@ -373,6 +354,7 @@ F: dlls/wmvcore/ ...@@ -373,6 +354,7 @@ F: dlls/wmvcore/
Windows Media Foundation Windows Media Foundation
M: Nikolay Sivov <nsivov@codeweavers.com> M: Nikolay Sivov <nsivov@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com> P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/evr/
F: dlls/mf/ F: dlls/mf/
F: dlls/mferror/ F: dlls/mferror/
F: dlls/mfmediaengine/ F: dlls/mfmediaengine/
...@@ -426,11 +408,11 @@ F: */ ...@@ -426,11 +408,11 @@ F: */
Stable Branch Stable Branch
M: Michael Stefaniuc <mstefani@winehq.org> M: Michael Stefaniuc <mstefani@winehq.org>
W: https://wiki.winehq.org/StableRules W: https://gitlab.winehq.org/wine/wine/-/wikis/Stable-Rules
Staging Branch Staging Branch
M: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> M: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
P: Zebediah Figura <z.figura12@gmail.com> P: Elizabeth Figura <zfigura@codeweavers.com>
P: Paul Gofman <gofmanp@gmail.com> P: Paul Gofman <gofmanp@gmail.com>
P: Erich E. Hoover <erich.e.hoover@wine-staging.com> P: Erich E. Hoover <erich.e.hoover@wine-staging.com>
W: https://wine-staging.com/ W: https://wine-staging.com/
1. INTRODUCTION ## INTRODUCTION
Wine is a program which allows running Microsoft Windows programs Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x, Win32, and Win64 executables) on Unix. (including DOS, Windows 3.x, Win32, and Win64 executables) on Unix.
...@@ -11,158 +11,161 @@ Wine is free software, released under the GNU LGPL; see the file ...@@ -11,158 +11,161 @@ Wine is free software, released under the GNU LGPL; see the file
LICENSE for the details. LICENSE for the details.
2. QUICK START ## QUICK START
From the top-level directory of the Wine source (which contains this file), From the top-level directory of the Wine source (which contains this file),
run: run:
```
./configure ./configure
make make
```
Then either install Wine: Then either install Wine:
```
make install make install
```
Or run Wine directly from the build directory: Or run Wine directly from the build directory:
```
./wine notepad ./wine notepad
```
Run programs as "wine program". For more information and problem Run programs as `wine program`. For more information and problem
resolution, read the rest of this file, the Wine man page, and resolution, read the rest of this file, the Wine man page, and
especially the wealth of information found at https://www.winehq.org. especially the wealth of information found at https://www.winehq.org.
3. REQUIREMENTS ## REQUIREMENTS
To compile and run Wine, you must have one of the following: To compile and run Wine, you must have one of the following:
Linux version 2.0.36 or later - Linux version 2.6.22 or later
FreeBSD 8.0 or later - FreeBSD 12.4 or later
Solaris x86 9 or later - Solaris x86 9 or later
NetBSD-current - NetBSD-current
Mac OS X 10.8 or later - Mac OS X 10.12 or later
As Wine requires kernel-level thread support to run, only the operating As Wine requires kernel-level thread support to run, only the operating
systems mentioned above are supported. Other operating systems which systems mentioned above are supported. Other operating systems which
support kernel threads may be supported in the future. support kernel threads may be supported in the future.
FreeBSD info: **FreeBSD info**:
Wine will generally not work properly on versions before FreeBSD 8.0.
See https://wiki.freebsd.org/Wine for more information. See https://wiki.freebsd.org/Wine for more information.
Solaris info: **Solaris info**:
You will most likely need to build Wine with the GNU toolchain You will most likely need to build Wine with the GNU toolchain
(gcc, gas, etc.). Warning : installing gas does *not* ensure that it (gcc, gas, etc.). Warning : installing gas does *not* ensure that it
will be used by gcc. Recompiling gcc after installing gas or will be used by gcc. Recompiling gcc after installing gas or
symlinking cc, as and ld to the gnu tools is said to be necessary. symlinking cc, as and ld to the gnu tools is said to be necessary.
NetBSD info: **NetBSD info**:
Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
turned on in your kernel. turned on in your kernel.
Mac OS X info: **Mac OS X info**:
You need Xcode/Xcode Command Line Tools or Apple cctools. The You need Xcode/Xcode Command Line Tools or Apple cctools. The
minimum requirements for compiling Wine are clang 3.8 with the minimum requirements for compiling Wine are clang 3.8 with the
MacOSX10.10.sdk and mingw-w64 v8. The MacOSX10.14.sdk and later can MacOSX10.10.sdk and mingw-w64 v8. The MacOSX10.14.sdk and later can
only build wine64. only build wine64.
**Supported file systems**:
Supported file systems:
Wine should run on most file systems. A few compatibility problems Wine should run on most file systems. A few compatibility problems
have also been reported using files accessed through Samba. Also, have also been reported using files accessed through Samba. Also,
NTFS does not provide all the file system features needed by some NTFS does not provide all the file system features needed by some
applications. Using a native Unix file system is recommended. applications. Using a native Unix file system is recommended.
Basic requirements: **Basic requirements**:
You need to have the X11 development include files installed You need to have the X11 development include files installed
(called xorg-dev in Debian and libX11-devel in Red Hat). (called xorg-dev in Debian and libX11-devel in Red Hat).
Of course you also need make (most likely GNU make).
Of course you also need "make" (most likely GNU make).
You also need flex version 2.5.33 or later and bison. You also need flex version 2.5.33 or later and bison.
Optional support libraries: **Optional support libraries**:
Configure will display notices when optional libraries are not found Configure will display notices when optional libraries are not found
on your system. See https://wiki.winehq.org/Recommended_Packages for on your system. See https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine
hints about the packages you should install. On 64-bit platforms, for hints about the packages you should install. On 64-bit
you have to make sure to install the 32-bit versions of these platforms, you have to make sure to install the 32-bit versions of
libraries. these libraries.
4. COMPILATION ## COMPILATION
To build Wine, do: To build Wine, do:
```
./configure ./configure
make make
```
This will build the program "wine" and numerous support libraries/binaries. This will build the program "wine" and numerous support libraries/binaries.
The program "wine" will load and run Windows executables. The program "wine" will load and run Windows executables.
The library "libwine" ("Winelib") can be used to compile and link The library "libwine" ("Winelib") can be used to compile and link
Windows source code under Unix. Windows source code under Unix.
To see compile configuration options, do ./configure --help. To see compile configuration options, do `./configure --help`.
For more information, see https://wiki.winehq.org/Building_Wine For more information, see https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine
5. SETUP ## SETUP
Once Wine has been built correctly, you can do "make install"; this Once Wine has been built correctly, you can do `make install`; this
will install the wine executable and libraries, the Wine man page, and will install the wine executable and libraries, the Wine man page, and
other needed files. other needed files.
Don't forget to uninstall any conflicting previous Wine installation Don't forget to uninstall any conflicting previous Wine installation
first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall" first. Try either `dpkg -r wine` or `rpm -e wine` or `make uninstall`
before installing. before installing.
Once installed, you can run the "winecfg" configuration tool. See the Once installed, you can run the `winecfg` configuration tool. See the
Support area at https://www.winehq.org/ for configuration hints. Support area at https://www.winehq.org/ for configuration hints.
6. RUNNING PROGRAMS ## RUNNING PROGRAMS
When invoking Wine, you may specify the entire path to the executable, When invoking Wine, you may specify the entire path to the executable,
or a filename only. or a filename only.
For example: to run Notepad: For example, to run Notepad:
wine notepad (using the search Path as specified in ```
wine notepad.exe the registry to locate the file) wine notepad (using the search Path as specified in
wine notepad.exe the registry to locate the file)
wine c:\\windows\\notepad.exe (using DOS filename syntax) wine c:\\windows\\notepad.exe (using DOS filename syntax)
wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax) wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax)
wine notepad.exe readme.txt (calling program with parameters) wine notepad.exe readme.txt (calling program with parameters)
```
Wine is not perfect, so some programs may crash. If that happens you Wine is not perfect, so some programs may crash. If that happens you
will get a crash log that you should attach to your report when filing will get a crash log that you should attach to your report when filing
a bug. a bug.
7. GETTING MORE INFORMATION ## GETTING MORE INFORMATION
WWW: A great deal of information about Wine is available from WineHQ at - **WWW**: A great deal of information about Wine is available from WineHQ at
https://www.winehq.org/ : various Wine Guides, application database, https://www.winehq.org/ : various Wine Guides, application database,
bug tracking. This is probably the best starting point. bug tracking. This is probably the best starting point.
FAQ: The Wine FAQ is located at https://www.winehq.org/FAQ - **FAQ**: The Wine FAQ is located at https://gitlab.winehq.org/wine/wine/-/wikis/FAQ
Wiki: The Wine Wiki is located at https://wiki.winehq.org - **Wiki**: The Wine Wiki is located at https://gitlab.winehq.org/wine/wine/-/wikis/
Gitlab: Wine development is hosted at https://gitlab.winehq.org - **Gitlab**: Wine development is hosted at https://gitlab.winehq.org
Mailing lists: - **Mailing lists**:
There are several mailing lists for Wine users and developers; There are several mailing lists for Wine users and developers; see
see https://www.winehq.org/forums for more information. https://gitlab.winehq.org/wine/wine/-/wikis/Forums for more
information.
Bugs: Report bugs to Wine Bugzilla at https://bugs.winehq.org - **Bugs**: Report bugs to Wine Bugzilla at https://bugs.winehq.org
Please search the bugzilla database to check whether your Please search the bugzilla database to check whether your
problem is already known or fixed before posting a bug report. problem is already known or fixed before posting a bug report.
IRC: Online help is available at channel #WineHQ on irc.libera.chat. - **IRC**: Online help is available at channel `#WineHQ` on irc.libera.chat.
--
Alexandre Julliard
julliard@winehq.org
Wine version 8.12 Wine version 10.0
...@@ -35,22 +35,6 @@ AS_VAR_IF([ac_cv_prog_$1],[], ...@@ -35,22 +35,6 @@ AS_VAR_IF([ac_cv_prog_$1],[],
AC_CHECK_PROG([$1],[$2],[$2],[$3],[$4])])], AC_CHECK_PROG([$1],[$2],[$2],[$3],[$4])])],
[AS_VAR_COPY([$1],[ac_cv_prog_$1])])]) [AS_VAR_COPY([$1],[ac_cv_prog_$1])])])
dnl WINE_HEADER_MAJOR()
dnl
dnl Same as AC_HEADER_MAJOR but fixed to handle the glibc 2.25 sys/types.h breakage
dnl
AC_DEFUN([WINE_HEADER_MAJOR],
[AC_CHECK_HEADER(sys/mkdev.h,
[AC_DEFINE(MAJOR_IN_MKDEV, 1,
[Define to 1 if `major', `minor', and `makedev' are
declared in <mkdev.h>.])])
if test $ac_cv_header_sys_mkdev_h = no; then
AC_CHECK_HEADER(sys/sysmacros.h,
[AC_DEFINE(MAJOR_IN_SYSMACROS, 1,
[Define to 1 if `major', `minor', and `makedev'
are declared in <sysmacros.h>.])])
fi])
dnl **** Initialize the programs used by other checks **** dnl **** Initialize the programs used by other checks ****
dnl dnl
dnl Usage: WINE_PATH_SONAME_TOOLS dnl Usage: WINE_PATH_SONAME_TOOLS
...@@ -65,12 +49,9 @@ AC_DEFUN([WINE_PATH_PKG_CONFIG], ...@@ -65,12 +49,9 @@ AC_DEFUN([WINE_PATH_PKG_CONFIG],
[WINE_CHECK_HOST_TOOL(PKG_CONFIG,[pkg-config])]) [WINE_CHECK_HOST_TOOL(PKG_CONFIG,[pkg-config])])
AC_DEFUN([WINE_PATH_MINGW_PKG_CONFIG], AC_DEFUN([WINE_PATH_MINGW_PKG_CONFIG],
[case "$host_cpu" in [AS_VAR_IF([HOST_ARCH],[i386],
i[[3456789]]86*) [ac_prefix_list="m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-w64-mingw32-pkg-config ])"],
ac_prefix_list="m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-w64-mingw32-pkg-config ])" ;; [ac_prefix_list="$host_cpu-w64-mingw32-pkg-config"])
*)
ac_prefix_list="$host_cpu-w64-mingw32-pkg-config" ;;
esac
AC_CHECK_PROGS(MINGW_PKG_CONFIG,[$ac_prefix_list],false)]) AC_CHECK_PROGS(MINGW_PKG_CONFIG,[$ac_prefix_list],false)])
dnl **** Extract the soname of a library **** dnl **** Extract the soname of a library ****
...@@ -216,11 +197,16 @@ AC_CACHE_CHECK([whether $CC supports $1], ac_var, ...@@ -216,11 +197,16 @@ AC_CACHE_CHECK([whether $CC supports $1], ac_var,
ac_wine_try_cflags_saved_exeext=$ac_exeext ac_wine_try_cflags_saved_exeext=$ac_exeext
CFLAGS="$CFLAGS -nostdlib -nodefaultlibs $1" CFLAGS="$CFLAGS -nostdlib -nodefaultlibs $1"
ac_exeext=".exe" ac_exeext=".exe"
AC_LINK_IFELSE([AC_LANG_SOURCE([[int __cdecl mainCRTStartup(void) { return 0; }]])], AC_LINK_IFELSE([AC_LANG_SOURCE([[void *__os_arm64x_dispatch_ret = 0;
const unsigned int _load_config_used[0x50] = { sizeof(_load_config_used) };
#if defined(__clang_major__) && defined(MIN_CLANG_VERSION) && __clang_major__ < MIN_CLANG_VERSION
#error Too old clang version
#endif
int __cdecl mainCRTStartup(void) { return 0; }]])],
[AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)]) [AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
CFLAGS=$ac_wine_try_cflags_saved CFLAGS=$ac_wine_try_cflags_saved
ac_exeext=$ac_wine_try_cflags_saved_exeext]) ac_exeext=$ac_wine_try_cflags_saved_exeext])
AS_VAR_IF([ac_var],[yes],[m4_default([$2], [AS_VAR_APPEND([${wine_arch}_EXTRACFLAGS],[" $1"])], [$3])])dnl AS_VAR_IF([ac_var],[yes],[m4_default([$2], [AS_VAR_APPEND([${wine_arch}_EXTRACFLAGS],[" $1"])])], [$3])dnl
AS_VAR_POPDEF([ac_var]) }]) AS_VAR_POPDEF([ac_var]) }])
dnl **** Check whether the given MinGW header is available **** dnl **** Check whether the given MinGW header is available ****
...@@ -261,20 +247,6 @@ LIBS=$ac_wine_check_headers_saved_libs]) ...@@ -261,20 +247,6 @@ LIBS=$ac_wine_check_headers_saved_libs])
AS_VAR_IF([ac_var],[yes],[$3],[$4])dnl AS_VAR_IF([ac_var],[yes],[$3],[$4])dnl
AS_VAR_POPDEF([ac_var])]) AS_VAR_POPDEF([ac_var])])
dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
dnl
dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
dnl
AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
[AS_VAR_PUSHDEF([ac_var], ac_cv_cflags_[[$1]])dnl
ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS $1"
AC_LINK_IFELSE([AC_LANG_SOURCE([[void myfunc() {}]])],
[AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
CFLAGS=$ac_wine_try_cflags_saved
AS_VAR_IF([ac_var],[yes], [$2], [$3])dnl
AS_VAR_POPDEF([ac_var])])
dnl **** Check whether we need to define a symbol on the compiler command line **** dnl **** Check whether we need to define a symbol on the compiler command line ****
dnl dnl
dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]]) dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
...@@ -282,13 +254,10 @@ dnl ...@@ -282,13 +254,10 @@ dnl
AC_DEFUN([WINE_CHECK_DEFINE], AC_DEFUN([WINE_CHECK_DEFINE],
[AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
AC_CACHE_CHECK([whether we need to define $1],ac_var, AC_CACHE_CHECK([whether we need to define $1],ac_var,
AC_EGREP_CPP(yes,[#ifndef $1 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#ifdef $1
yes #error no
#endif], #endif])],[AS_VAR_SET([ac_var],[yes])],[AS_VAR_SET([ac_var],[no])]))
[AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)])) AS_VAR_IF([ac_var],[yes],[EXTRACFLAGS="$EXTRACFLAGS -D$1"])dnl
AS_VAR_IF([ac_var],[yes],
[CFLAGS="$CFLAGS -D$1"
LINTFLAGS="$LINTFLAGS -D$1"])dnl
AS_VAR_POPDEF([ac_var])]) AS_VAR_POPDEF([ac_var])])
dnl **** Check for functions with some extra libraries **** dnl **** Check for functions with some extra libraries ****
...@@ -317,6 +286,7 @@ wine_fn_config_makefile () ...@@ -317,6 +286,7 @@ wine_fn_config_makefile ()
AS_VAR_COPY([enable],[$[2]]) AS_VAR_COPY([enable],[$[2]])
case "$enable" in case "$enable" in
no) AS_VAR_APPEND([DISABLED_SUBDIRS],[" $[1]"]) ;; no) AS_VAR_APPEND([DISABLED_SUBDIRS],[" $[1]"]) ;;
yes) ;;
*aarch64*|*arm*|*i386*|*x86_64*) *aarch64*|*arm*|*i386*|*x86_64*)
if test -n "$PE_ARCHS" if test -n "$PE_ARCHS"
then then
...@@ -326,7 +296,11 @@ wine_fn_config_makefile () ...@@ -326,7 +296,11 @@ wine_fn_config_makefile ()
done done
else else
test $(expr ",$enable," : ".*,$HOST_ARCH,") -gt 0 || AS_VAR_APPEND([DISABLED_SUBDIRS],[" $[1]"]) test $(expr ",$enable," : ".*,$HOST_ARCH,") -gt 0 || AS_VAR_APPEND([DISABLED_SUBDIRS],[" $[1]"])
fi;; fi ;;
"")
case "$[1], $PE_ARCHS " in
programs/*,*\ arm64ec\ *) AS_VAR_APPEND([arm64ec_DISABLED_SUBDIRS],[" $[1]"]) ;;
esac ;;
esac esac
} }
......
This diff is collapsed.
This diff is collapsed.
...@@ -2,5 +2,5 @@ MODULE = acledit.dll ...@@ -2,5 +2,5 @@ MODULE = acledit.dll
EXTRADLLFLAGS = -Wb,--prefer-native EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \ SOURCES = \
main.c main.c
...@@ -4,6 +4,6 @@ IMPORTS = comctl32 user32 advapi32 gdi32 ...@@ -4,6 +4,6 @@ IMPORTS = comctl32 user32 advapi32 gdi32
EXTRADLLFLAGS = -Wb,--prefer-native EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = aclui_main.c SOURCES = \
aclui.rc \
RC_SRCS = aclui.rc aclui_main.c
...@@ -2,4 +2,5 @@ MODULE = activeds.tlb ...@@ -2,4 +2,5 @@ MODULE = activeds.tlb
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
IDL_SRCS = activeds_tlb.idl SOURCES = \
activeds_tlb.idl
# no exported entry points
...@@ -4,9 +4,7 @@ IMPORTS = advapi32 ole32 oleaut32 uuid ...@@ -4,9 +4,7 @@ IMPORTS = advapi32 ole32 oleaut32 uuid
EXTRADLLFLAGS = -Wb,--prefer-native EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \ SOURCES = \
activeds.idl \
activeds_main.c \ activeds_main.c \
pathname.c pathname.c
IDL_SRCS = \
activeds.idl
...@@ -233,7 +233,7 @@ HRESULT WINAPI ADsGetLastError(LPDWORD perror, LPWSTR errorbuf, DWORD errorbufle ...@@ -233,7 +233,7 @@ HRESULT WINAPI ADsGetLastError(LPDWORD perror, LPWSTR errorbuf, DWORD errorbufle
*/ */
LPVOID WINAPI AllocADsMem(DWORD cb) LPVOID WINAPI AllocADsMem(DWORD cb)
{ {
return HeapAlloc(GetProcessHeap(), 0, cb); return malloc(cb);
} }
/***************************************************** /*****************************************************
...@@ -241,7 +241,8 @@ LPVOID WINAPI AllocADsMem(DWORD cb) ...@@ -241,7 +241,8 @@ LPVOID WINAPI AllocADsMem(DWORD cb)
*/ */
BOOL WINAPI FreeADsMem(LPVOID pMem) BOOL WINAPI FreeADsMem(LPVOID pMem)
{ {
return HeapFree(GetProcessHeap(), 0, pMem); free(pMem);
return TRUE;
} }
/***************************************************** /*****************************************************
...@@ -249,7 +250,7 @@ BOOL WINAPI FreeADsMem(LPVOID pMem) ...@@ -249,7 +250,7 @@ BOOL WINAPI FreeADsMem(LPVOID pMem)
*/ */
LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew) LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew)
{ {
return HeapReAlloc(GetProcessHeap(), 0, pOldMem, cbNew); return realloc(pOldMem, cbNew);
} }
/***************************************************** /*****************************************************
...@@ -257,18 +258,8 @@ LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew) ...@@ -257,18 +258,8 @@ LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew)
*/ */
LPWSTR WINAPI AllocADsStr(LPWSTR pStr) LPWSTR WINAPI AllocADsStr(LPWSTR pStr)
{ {
LPWSTR ret;
SIZE_T len;
TRACE("(%p)\n", pStr); TRACE("(%p)\n", pStr);
return wcsdup(pStr);
if (!pStr) return NULL;
len = (wcslen(pStr) + 1) * sizeof(WCHAR);
ret = AllocADsMem(len);
if (ret) memcpy(ret, pStr, len);
return ret;
} }
/***************************************************** /*****************************************************
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "iads.h" #include "iads.h"
#include "adserr.h" #include "adserr.h"
#include "wine/heap.h"
#include "wine/debug.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(activeds); WINE_DEFAULT_DEBUG_CHANNEL(activeds);
...@@ -84,7 +83,7 @@ static ULONG WINAPI path_Release(IADsPathname *iface) ...@@ -84,7 +83,7 @@ static ULONG WINAPI path_Release(IADsPathname *iface)
SysFreeString(path->provider); SysFreeString(path->provider);
SysFreeString(path->server); SysFreeString(path->server);
SysFreeString(path->dn); SysFreeString(path->dn);
heap_free(path); free(path);
} }
return ref; return ref;
...@@ -416,7 +415,7 @@ static HRESULT Pathname_create(REFIID riid, void **obj) ...@@ -416,7 +415,7 @@ static HRESULT Pathname_create(REFIID riid, void **obj)
Pathname *path; Pathname *path;
HRESULT hr; HRESULT hr;
path = heap_alloc(sizeof(*path)); path = malloc(sizeof(*path));
if (!path) return E_OUTOFMEMORY; if (!path) return E_OUTOFMEMORY;
path->IADsPathname_iface.lpVtbl = &IADsPathname_vtbl; path->IADsPathname_iface.lpVtbl = &IADsPathname_vtbl;
...@@ -489,7 +488,7 @@ static ULONG WINAPI factory_Release(IClassFactory *iface) ...@@ -489,7 +488,7 @@ static ULONG WINAPI factory_Release(IClassFactory *iface)
TRACE("(%p) ref %lu\n", iface, ref); TRACE("(%p) ref %lu\n", iface, ref);
if (!ref) if (!ref)
heap_free(factory); free(factory);
return ref; return ref;
} }
...@@ -528,7 +527,7 @@ static HRESULT factory_constructor(const struct class_info *info, REFIID riid, v ...@@ -528,7 +527,7 @@ static HRESULT factory_constructor(const struct class_info *info, REFIID riid, v
class_factory *factory; class_factory *factory;
HRESULT hr; HRESULT hr;
factory = heap_alloc(sizeof(*factory)); factory = malloc(sizeof(*factory));
if (!factory) return E_OUTOFMEMORY; if (!factory) return E_OUTOFMEMORY;
factory->IClassFactory_iface.lpVtbl = &factory_vtbl; factory->IClassFactory_iface.lpVtbl = &factory_vtbl;
......
TESTDLL = activeds.dll TESTDLL = activeds.dll
IMPORTS = ole32 oleaut32 activeds IMPORTS = ole32 oleaut32 activeds
C_SRCS = \ SOURCES = \
activeds.c activeds.c