20 KiB
What is Wine Staging?
Warning: Do not report bugs at bugs.winehq.org when using this version! Please take a look here for more information about how to report bugs.
Wine Staging (formerly wine-compholio) is a special wine version containing bug fixes and features that are not yet available in regular wine versions. The idea behind Wine Staging is to provide new features faster to end users and to give developers the possibility to discuss and improve their patches before they are sent upstream. We also intend to create a community of wine developers to share experience and to make it easier for beginners to start hacking on wine.
Although we are reviewing all patches before adding them, you may encounter additional bugs, which are not present in regular wine. Make sure to report such issues in our bug tracker instead of winehq.org so that we can try to solve them in future versions. Thanks!
How to install and use Wine Staging
Ready-to-use packages for Wine Staging are available for a variety of different Linux distributions directly for download. Just follow the instructions available on the Wiki.
When using Wine Staging there are a few differences compared to regular
Wine. The main difference is that it is not sufficient to type wine
to
run it, but instead you will have to type /opt/wine-staging/bin/wine
.
Besides that there are also some other differences, for example additional
configuration options to tweak performance, which are not available in regular
Wine. All those differences are also documented on the
Wiki.
Included bug fixes and improvements
Bugfixes and features included in the next upcoming release [18]:
- Add semi-stub for GetFileVersionInfoExA/W (Wine Bug #38098)
- Add semi-stub for GetFileVersionInfoSizeExA/W (Wine Bug #38090)
- Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
- Add stub for ntoskrnl.ExDeleteResourceLite
- Add stub for ntoskrnl.ExReleaseResourceForThread
- Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages
- Avoid race-conditions in NtReadFile() operations with write watches.
- Avoid race-conditions with write watches in WS2_async_accept.
- Basic handling of write watches triggered while we're on the signal stack.
- Do not access stack below ESP when restoring thread context.
- Ignore unsupported alpha channels in TIFF decoder (Wine Bug #38027)
- Implement D3DXGetShaderOutputSemantics
- Implement ntoskrnl.KeInitializeMutex
- Improve stubs for AEV_{Get,Set}MasterVolumeLevel
- Improve stubs for AEV_{Get,Set}Mute
- Support for H264 DXVA2 GPU video decoding through vaapi
- Support for MPEG2 DXVA2 GPU video decoding through vaapi
- Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests (Wine Bug #38062)
Bugs fixed in Wine Staging 1.7.36 [167]:
- Add Dynamic DST exceptions for Israel Standard Time (Wine Bug #36374)
- Add default ACLs for user shell folders
- Add implementation for CreateThreadpool (Wine Bug #35192)
- Add library override instead of closing winecfg when pressing ENTER over the combobox (Wine Bug #12804)
- Add nvapi stubs required for GPU PhysX support
- Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 (Wine Bug #33661)
- Add stub for D3DXComputeNormalMap
- Add stub for D3DXComputeTangentFrameEx (Wine Bug #31984)
- Add stub for D3DXIntersect
- Add stub for NtSetLdtEntries/ZwSetLdtEntries (Wine Bug #26268)
- Add stub for ntoskrnl.KeWaitForMultipleObjects
- Add stubs for D3DXCreateAnimationController interface
- Add support for GetPropValue to PulseAudio backend
- Adobe Reader needs ITextSelection_fnGetDuplicate implementation
- Allow selection of audio device for PulseAudio backend
- Allow special characters in pipe names (Wine Bug #28995)
- Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW (Wine Bug #37916)
- Audio stuttering and performance drops in multiple applications (Wine Bug #30639)
- Avoid crashing when broken app tries to release surface although refcount is zero (Wine Bug #18477)
- Avoid race-conditions of async WSARecv() operations with write watches.
- Avseq crashes when multisampling is enabled (Wine Bug #31998)
- Basic support for CUDA
- Black & White needs DXTn software decoding support (Wine Bug #14939)
- Call DriverUnload function when unloading a device driver.
- Child of Light expects FindConnectionPoint to succeed and increase the refcount (Wine Bug #36408)
- CreateProcess does not prioritize the working directory over the system search path (Wine Bug #23934)
- D3DCompileShader should filter specific warning messages (Wine Bug #33770)
- Do not append duplicate NULL characters when importing keys with regedit (Wine Bug #37575)
- Do not fail when a used context is passed to wglShareLists (Wine Bug #11436)
- Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 (Wine Bug #33849)
- Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages (Wine Bug #33162)
- Ensure X11 input events are handled even without explicit message loop (Wine Bug #8854)
- Exception during start of fr-043 caused by missing DXTn support (Wine Bug #37391)
- Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
- FEAR 1 installer expects basic_string_wchar_dtor to return NULL (Wine Bug #37358)
- Fix NULL dereference in ICSeqCompressFrameStart (Wine Bug #27595)
- Fix access violation when calling GetStringTypeW with NULL src. (Wine Bug #37759)
- Fix arguments for OSMesaMakeCurrent when using 16 bit formats
- Fix black screen on startup introduced by pixelformat changes. (Wine Bug #35950)
- Fix check for end_frame in RtlUnwindEx on x86_64. (Wine Bug #34254)
- Fix comparison of punctuation characters in lstrcmp (Wine Bug #10767)
- Fix condition mask handling in RtlVerifyVersionInfo (Wine Bug #36143)
- Fix crash in Space Rangers2 caused by missing DXTn support (Wine Bug #24983)
- Fix crash of Trine Demo on start (Wine Bug #19231)
- Fix crash of winedevice when relocation entry crosses page boundary (Wine Bug #28254)
- Fix cursor clip regression / broken raw input in multiple games (Wine Bug #33479)
- Fix flickering introduced by pixelformat changes. (Wine Bug #35718)
- Fix for ConnectNamedPort return value in overlapped mode (Wine Bug #16550)
- Fix for programs leaking wndproc slots (Wine Bug #32451)
- Fix graphical corruption in FarCry 3 with NVIDIA drivers (Wine Bug #35062)
- Fix gray screen on startup introduced by pixelformat changes. (Wine Bug #35975)
- Fix handling of empty section and key name for profile files. (Wine Bug #8036)
- Fix handling of invert_y in DrawTextExW (Wine Bug #22109)
- Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED (Wine Bug #37876)
- Fix init of LONGLONG variable with a negative value in TGA decoder
- Fix issues with dragging layers between images in Adobe Photoshop 7.0 (Wine Bug #12007)
- Fix missing video introduced by pixelformat changes. (Wine Bug #36900)
- Fix mouse jittering in Planetside 2 (Wine Bug #32913)
- Fix parameters for ConvertToIndexedBlendedMesh stub (Wine Bug #36449)
- Fix possible segfault in pulse_rd_loop of PulseAudio backend
- Fix return value of ScrollWindowEx for invisible windows (Wine Bug #37706)
- Fix texture corruption in CSI: Fatal Conspiracy (Wine Bug #33768)
- Fix unintentional leaks with ntdll internals
- Fix wined3d performance drop introduced by pixelformat changes. (Wine Bug #35655)
- Fix wrong colors in Wolfenstein (2009) (Wine Bug #34692)
- Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
- Games For Windows Live 1.x expects a valid linker version in the PE header (Wine Bug #28768)
- GetMonitorInfo returns the same name for all monitors (Wine Bug #37709)
- GetSecurityInfo returns NULL DACL for process object (Wine Bug #15980)
- Graphical issues in Inquisitor (Wine Bug #32490)
- Hearthstone fails to start (Wine Bug #36216)
- IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests (Wine Bug #37767)
- Ignore unsupported flags for CoInternetSetFeatureEnabled (Wine Bug #35197)
- Implement ID3DXEffect::FindNextValidTechnique (Wine Bug #34101)
- Implement IDXGIOutput::GetDesc
- Implement a Microsoft Yahei replacement font (Wine Bug #13829)
- Implement additional stubs for vcomp dlls (Wine Bug #31640)
- Implement an Arial replacement font (Wine Bug #32323)
- Implement exclusive mode in PulseAudio backend (Wine Bug #37042)
- Implement ntoskrnl driver testing framework.
Implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes(Wine Bug #29238)- Implement stub for ntoskrnl.IoGetAttachedDeviceReference
- Implement stub for ntoskrnl.KeDelayExecutionThread.
- Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
- Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
- Implement threadpool timers (Wine Bug #37306)
- Implement threadpool wait objects
- Implement threadpool work items (Wine Bug #32531)
- Improve stub for AEV_GetVolumeRange (Wine Bug #35658)
- Improvement for heap allocation performance
- Jedi Knight: Dark Forces II crashes with winmm set to native (Wine Bug #37983)
- Lego Stunt Rally requires DXTn software de/encoding support (Wine Bug #25486)
- Limit cross thread access to ImmSet* functions (Wine Bug #35361)
- Lockfree algorithm for filedescriptor cache (improves file access speed)
- MSVCRT crashes when NULL is passed as string to atof or strtod (Wine Bug #32550)
- Make it possible to change media center / tablet pc status (Wine Bug #18732)
- MediaCoder needs CUDA for video encoding (Wine Bug #37664)
- Multiple applications need EnumDisplayDevicesW implementation (Wine Bug #34978)
- Multiple applications start wrong executable if whitespace present in name (Wine Bug #19666)
- Need for Speed 3 installer requires devices in HKEY_DYN_DATA (Wine Bug #7115)
- Other Pipelight-specific enhancements
- Port Royale doesn't display ocean correctly (Wine Bug #17913)
- Prevent window managers from grouping all wine programs together (Wine Bug #32699)
- Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
- Return an error when trying to open a terminated process (Wine Bug #37087)
- Return correct IMediaSeeking stream positions in quartz (Wine Bug #23174)
- Return correct values for GetThreadTimes function (Wine Bug #20230)
- Return more context attributes in schan_InitializeSecurityContextW (Wine Bug #37527)
- SO_CONNECT_TIME returns the appropriate time
- Scrolling causes mouse and screen to lock in Call to Power II (Wine Bug #34559)
- Send WM_PAINT event during dialog creation (Wine Bug #35652)
- Set last error when GetRawInputDeviceList fails (Wine Bug #37667)
- Silverlight needs support for file ACLs (Wine Bug #31858)
- Super Mario 3: Mario Forever fails to load keyboard mapping from profile files. (Wine Bug #18099)
- Support for AllocateAndGetTcpExTableFromStack (Wine Bug #34372)
- Support for BindImageEx (Wine Bug #3591)
- Support for CSMT (command stream) to increase graphic performance (Wine Bug #11674)
- Support for CUDA GPU video decoding
- Support for D3DXComputeNormals (Wine Bug #26379)
- Support for D3DXGetShaderInputSemantics (Wine Bug #22682)
- Support for DDS file format in D3DXSaveTextureToFileInMemory (Wine Bug #26898)
- Support for DOS hidden/system file attributes (Wine Bug #9158)
- Support for Dynamic DST (daylight saving time) information in registry
- Support for GdipCreateRegionRgnData (Wine Bug #34843)
- Support for GetFinalPathNameByHandle (Wine Bug #36073)
- Support for GetSystemTimes (Wine Bug #19813)
- Support for GetVolumePathName
- Support for ID3DXFont::DrawTextA/W (Wine Bug #24754)
- Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh (Wine Bug #32572)
- Support for ITextDocument_fnRange function (Wine Bug #12458)
- Support for ITextRange, ITextFont and ITextPara (Wine Bug #18303)
- Support for Junction Points (Wine Bug #12401)
- Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath (Wine Bug #30385)
- Support for LoadIconMetric (Wine Bug #35375)
- Support for NVIDIA video encoder library (nvencodeapi)
- Support for NtQuerySection (Wine Bug #37338)
- Support for NtSetInformationFile class FileDispositionInformation (Wine Bug #30397)
- Support for PulseAudio backend for audio (Wine Bug #10495)
- Support for RtlDecompressBuffer (Wine Bug #37449)
- Support for SHCreateSessionKey (Wine Bug #35630)
- Support for SLGetWindowsInformationDWORD (Wine Bug #36709)
- Support for TOOLTIPS_GetTipText edge cases (Wine Bug #30648)
- Support for TransmitFile (Wine Bug #5048)
Support for UTF7 encoding/decoding(Wine Bug #27388)- Support for WTSEnumerateProcessesW (Wine Bug #29903)
- Support for extra large and jumbo icon lists in shell32 (Wine Bug #24721)
- Support for inherited file ACLs (Wine Bug #34406)
Support for interface change notifications(Wine Bug #32328)- Support for loader dll redirections
- Support for named pipe message mode (Linux only) (Wine Bug #17195)
- Support for pasting HTML from Unix applications (Wine Bug #7372)
- Support for process ACLs (Wine Bug #22006)
- Support for setcap on wine-preloader (Wine Bug #26256)
- Support for stored file ACLs (Wine Bug #33576)
- Try harder to get the host name address in getaddrinfo() (Wine Bug #29609)
- Tumblebugs 2 requires DXTn software encoding support (Wine Bug #29586)
- Update a XIM candidate position when cursor location changes (Wine Bug #30938)
- Use actual program name if available to describe PulseAudio streams
- Use manual relay for RunDLL_CallEntry16 in shell32 (Wine Bug #23033)
- Voobly expects correct handling of WRITECOPY memory protection (Wine Bug #29384)
- Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk (Wine Bug #20465)
- Workaround for shlwapi URLs with relative paths
- XEMBED support for embedding Wine windows inside Linux applications
- eRacer Demo doesn't correctly display text (Wine Bug #29598)
- ntdll is missing WinSqm[Start|End]Session implementation (Wine Bug #31971)
- wglDescribePixelFormat should return max index for NULL descriptor (Wine Bug #6176)
- wininet should allow Accept-Encoding header for HTTP/1.0 (Wine Bug #37046)