-
Notifications
You must be signed in to change notification settings - Fork 49
[CONTENT] ReactOS 0.4.16 press release #144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,112 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| title: "Introducing ReactOS 0.4.16" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| author: "ReactOS Team" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| date: 2026-07-02 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tags: [ "release" ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| We are pleased to announce the release of ReactOS 0.4.16! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| After a year and a half of development, we’re excited to showcase the improvements we’ve made between a new graphical installer, a unified bootcd and livecd image, better driver support, networking and storage stack improvements, and third-party code syncs. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Graphical Installer and the All-in-One Boot CD | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Historically, ReactOS offered two images for download, a livecd which let you test ReactOS in a read-only environment, and a bootcd which let you install ReactOS to your hard disk using a text-based installer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Thanks to the efforts of Hermès BÉLUSCA - MAÏTO ([hbelusca](https://github.com/hbelusca)), ReactOS 0.4.16 has a new graphical installer and a combined bootcd and livecd. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Now you can test and install ReactOS using the same image. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would suggest linking to parts 2 and 3 of the blogs, that described the overhauling of the setup: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (insert a gallery of graphical installer here) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Video | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| During 0.4.15 development, core developer Hervé Poussineau ([hpoussin](https://github.com/hpoussin)) put in the ground work for multi-monitor support and falling back to a VGA driver when display drivers fail to load. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This foundation enabled us to continue pursuing better video driver compatibility in 0.4.16. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For years ReactOS has been plagued by different issues with all major video driver vendors. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nvidia GPUs in particular had been plagued by a slow down issue that many talented contributors and developers investigated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Eventually Justin Miller ([The_DarkFire_](https://github.com/darkfire01)) recognized that the kernel was running out of system page table entries (PTEs) when loading third party drivers. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This limitation was most apparent with graphics drivers, which allocate more memory than most other drivers. The_DarkFire_ changed the memory layout used by our memory manager to increase the amount of system PTEs. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This fixed the hard-to-debug slowdown bug with Nvidia graphics drivers. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| On AMD video drivers, the OpenGL window would end up blank. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This was resolved by rewriting ExtEscape inspired by a patch from the late core developer Jim Tabor ([jimtabor](https://github.com/jimtabor)). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| These improvements required an incredible amount of research and guidance from many of the contributors and developers. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ??? to improve stability, handle resource management of the new devices, and fix many edge case bugs in our win32k. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (What fixed the third major driver vendor here?) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Audio | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For a couple of years, ReactOS had unstable and very incomplete High Definition (HD) audio controllers support, which is represented by HD audio bus driver (hdaudbus.sys), required and widely used by a lot of 3rd party HD audio codecs (AMD, IDT, NVIDIA, Realtek, SigmaTel etc). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Its implementation written by Johannes Anderwald ([janderwald](https://github.com/janderwald)) in the far past, was mostly stubbed and non-working at all, causing blue screens each time when attempting to install any audio codec for an appropriate HD audio controller. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| But now, our core developer Oleg Dubinskiy ([oleg-dubinskiy](https://github.com/oleg-dubinskiy)) imported a new modern HD audio bus driver which was initially written for Windows 10, from the following repository: https://github.com/coolstar/sklhdaudbus (BSD-3-Clause license). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| And Justin Miller has imported a new functionality from (open source) Microsoft Kernel Mode Driver Framework (KMDF), which is used by that driver as well. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This allows to properly support a lot of HD audio controllers which are compatible with (and have a codec driver for) Windows XP and Windows Server 2003. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For example, Realtek High Definition (HD) audio codec R2.74 for Windows XP has been successfully tested and is confirmed to be working properly in ReactOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with Realtek ALC660 HD audio controller on Asus-F5R test notebook at least: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| https://private-user-images.githubusercontent.com/26385117/584169871-b6474c2c-160b-4eb8-992c-3608854c92f5.mp4?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNjY1MjAsIm5iZiI6MTc4MzA2NjIyMCwicGF0aCI6Ii8yNjM4NTExNy81ODQxNjk4NzEtYjY0NzRjMmMtMTYwYi00ZWI4LTk5MmMtMzYwODg1NGM5MmY1Lm1wND9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA4MTAyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE0YTk1NzZjMzk4Njk5ODVjOGQwYjI5M2VlOTJhNDY5NWViMzhiNzQ2Mzc4MmJjZmY2MTFiZTM4OWFlZjNkODAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT12aWRlbyUyRm1wNCJ9.FlnzOhDvwcJ-_Td4pbK12ZEQugwYisVGQqA0guMNi8Y | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ReactOS 0.4.16 also introduces other audio improvements and fixes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| In particular, Oleg also fixed improper volume control handling (audio volume level changing) from Control Panel -> Sound Properties (mmsys.cpl) and Audio Volume Mixer (sndvol32.exe). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| So now, the volume sliders are moving correctly, actually changing volume level and volume balance properly. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For an HD audio codecs, the volume level set by user is also properly saved and restored upon OS reboot. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Another fix he made, is fixing audio devices enumeration code, which allows to properly enumerate all audio devices and skip invalid/improperly detected ones, and hence fixes incorrectly detected audio input/output and non-working sound with some audio cards. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Networking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ReactOS 0.4.16 introduces asynchronous connection support. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This greatly improves networking performance by allowing applications to execute networking operations without stalling. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This also improves application compatibility as many programs assume that these asynchronous connection APIs are always present. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It definitely makes sense to mention recent audio improvements made during 0.4.16-dev in this place too (e. g., new HDAudBus bring-up (and KMDF required by it), audio volume control support improvements and fixes, audio devices enumeration fix which fixes non-working audio device detection with some sound cards (e. g., Realtek HD Audio) etc.).
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Newlines to be added and wording to be corrected in some places.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No worries, this is just the working draft. I wanted to get it out so people can start thinking about how they want to add onto it 🙂
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I'm sure there's a way to simplify that (also "private" on github may not be available to everyone -- I tested the link and I just get a black empty webbrowser page).
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Yeah, seems it needs to upload that video into Web-Content directly, to make able to play it on the page directly, as in the following example:
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, added some newlines now and corrected wording a little bit in my suggestion above.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ✅ OK, now re-formatted and improved the wording in my audio improvements suggestion much more.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now only GitHub's video URL is to be fixed I guess. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Storage | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Since 2009, ReactOS has been using the UniATA storage driver to add SATA, AHCI, and support for partitions greater than 8GB. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This was a huge help to ReactOS then, but today UniATA is responsible for slow boot times and failing to load on many devices; leading to the dreaded `INACCESSIBLE_BOOT_DEVICE` (`0x7B`) bug check. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ReactOS 0.4.16 introduces a new ATA driver developed by contributor Dmitry Borisov ([disean](https://github.com/disean)). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This new ATA driver allows ReactOS to boot in far more environments, including inside Hyper-V. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It makes sense to add a separate title for this section, since the following two items actually belong to standard applications ant tools, not to storage drivers.
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| In 2021 we imported and enabled the open-source Microsoft FastFAT driver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Unfortunately, this broke our ability to repair FAT partitions using chkdsk. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Core developer Doug Lyons ([Doug-Lyons](https://github.com/Doug-Lyons)) fixed our FAT chkdsk routines to work with the Microsoft FastFAT driver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Core developer Mark Jansen ([learn-more](https://github.com/learn-more)) added a disk cleanup utility in ReactOS 0.4.16. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The disk cleanup utility is compatible with extensions for the Windows disk cleanup utility, allowing third party programs to clean up disk usage as well as the operating system. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Third-Party Code Syncs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ReactOS utilizes several other open-source projects as part of its code base. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| One of the largest open-source projects we leverage is Wine, a re-implementation of several Windows APIs for Unix-like operating systems. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ReactOS uses a fork of Wine that interfaces directly with a Windows-like kernel instead of translating calls to a Unix-like one. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For many years, ReactOS was limited to Wine 2.x and 3.x due to compatibility concerns adopting APIs newer than those available to Windows Server 2003. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Towards the end of the 0.4.15 development cycle, we abandoned this strict adherence to Windows Server 2003 compatibility, which allowed us to slowly update our Wine fork to Wine 10.0. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This upgrade is still on going, but 0.4.16 has a significant amount of this work in it. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| We anticipate that updating to Wine 11.0 or later versions will be significantly easier thanks to this effort to bring it up to Wine 10.0. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| At this time, the ReactOS release image is still compiled with Windows Server 2003 exports only since there are several programs that expect all Windows Vista and newer exports available even if only some are exposed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If you’d like to experiment with Windows Vista and newer application support, build ReactOS using the `-DDLL_EXPORT_VERSION` flag. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Instructions on how to build ReactOS are available [here](https://reactos.org/wiki/Building_ReactOS). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For the first time, ReactOS release images will include WineVDM, which increases compatibility with 16-bit Windows applications. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WineVDM is a project by [otya128](https://github.com/otya128), available [here](https://github.com/otya128/winevdm). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Final Thoughts | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The mission for ReactOS is to “[Run] your favorite Windows applications and drivers in an open-source environment you can trust.” | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| With each release we come closer to fulfilling this goal. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| We look forward to sharing more developments and progress with you. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| We extend our deepest gratitude to our community, contributors and donors. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Without our contributors, we wouldn’t be able to make any development progress. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Without our donors, we couldn’t fund our testing and hosting infrastructure or development contracts to accelerate progress. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| And without our community, no one would know we exist. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Thank you for making ReactOS possible. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If you are interested in joining our community, contributing, or donating to the ReactOS project, check out our homepage to find our donation page, social media links, and our GitHub. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sincerely, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The ReactOS Team | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [Download ReactOS 0.4.16](https://reactos.org/download/) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Statistics | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Resolved Jira issues: 375 (REMOVE ME: as of 7/1/2026) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Commits: 2735 (REMOVE ME: as of 7/1/2026) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Oldest Jira issue resolved: [CORE-3804](https://jira.reactos.org/browse/CORE-3804) from February 3rd, 2009 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - [0.4.16 Resolved Issues](https://reactos.org/wiki/0.4.16_Resolved_Issues) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - [0.4.16 Commit History](https://reactos.org/wiki/0.4.16_Commit_History) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The [releases/0.4.16](https://github.com/reactos/reactos/tree/releases/0.4.16) branch was forked from [master](https://github.com/reactos/reactos) on April 28th, 2026 after commit [bac97c5](https://github.com/reactos/reactos/commit/bac97c58e25262ccf53dfd7d0de4bed638b65491) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we probably need to say hello to our followers first I guess:
or even better like this: