[CONTENT] ReactOS 0.4.16 press release - #144
Conversation
|
Thanks for your contribution! |
230bff0 to
077f08a
Compare
077f08a to
15dca41
Compare
| During 0.4.16 development, core developer The_DarkFire_ 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 a hard-to-debug slowdown bug with Nvidia graphics drivers, increased the success rate of using AMD graphics drivers, and got Intel graphics drivers to load much further. |
There was a problem hiding this comment.
thiis like 5% of what actually happened here. I'll make a comment improving this section a lot in the next few days
There was a problem hiding this comment.
One correction I initially thought the PTE fixes solved the Nvidia slowdown bug partially due to regressions that made it difficult to determine the exact point it was solved.
julenuri and i verified it was the combination of P6CACHE enablement in both videoprt and ntoskrnl
discussion is in this jira report
https://jira.reactos.org/browse/CORE-20298
and the relevant fixes but note between Hervé Poussineau and Adam Słaboń fixes there is a videoprt regression that lead to the confusion.
https://git.reactos.org/?p=reactos.git;a=commit;h=59ae6b3e15d78df2d86efa7c55fc88fa08c9636b
https://git.reactos.org/?p=reactos.git;a=commit;h=afbadf5c4418ad3da09b7af4c819f2939d71f8e3
There was a problem hiding this comment.
There was a problem hiding this comment.
For 0.4.15 development, core developer hpoussin put in the ground work for multimonitor support and vga fallback when display drivers fail. The foundation put into 0.4.15 allowed us to continue striving for better video driver compatibility in 0.4.16. For years ReactOS has been plagued by different issues with all of the major video driver vendors.
NVIDIA GPUs in particular had been plagued by a slow down issue that many talented contributors and developers attempted to investigate. Eventually core developer The_DarkFire_ 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_ with guidance changed the memory layout used by our memory manager to increase the amount of system PTEs. This fixed a hard-to-debug slowdown bug with Nvidia graphics drivers. AMD was a different story where the OpenGL window would end up blank, this was resolved by rewriting ExtEscape inspired by the initial patch by late core developer Jimtabor. While these improvements stand out to get GPU drivers from all 3 vendors working, it involved 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.
| date: 2026-07-02 | ||
| tags: [ "release" ] | ||
| --- | ||
|
|
There was a problem hiding this comment.
Here we probably need to say hello to our followers first I guess:
| Hello ReactOS followers! |
or even better like this:
| Greetings ReactOS followers! |
| 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. | ||
|
|
There was a problem hiding this comment.
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.).
I can even write an initial article for that if you prefer (it might be improved/fixed later as well). 😉
Like this:
| ## HD audio support | |
| 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 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 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 | |
| ## Other audio enhancements | |
| 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. | |
There was a problem hiding this comment.
Newlines to be added and wording to be corrected in some places.
There was a problem hiding this comment.
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 🙂
There was a problem hiding this comment.
https://private-user-images.githubusercontent.com/<super_very_long_SUS_URL>
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).
There was a problem hiding this comment.
https://private-user-images.githubusercontent.com/<super_very_long_SUS_URL>
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).
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:
https://github.com/reactos/web-content/blob/master/content/blogs/newsletter-104.md#audio-improvements
(looking to the video file URL, it's actually inside Web-Content repository)
There was a problem hiding this comment.
OK, added some newlines now and corrected wording a little bit in my suggestion above.
There was a problem hiding this comment.
✅ OK, now re-formatted and improved the wording in my audio improvements suggestion much more.
There was a problem hiding this comment.
Now only GitHub's video URL is to be fixed I guess.
| ## 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 harddisk using a text-based installer. | ||
| With ReactOS 0.4.16, we are introducing a new graphical installer and a combined bootcd and livecd. | ||
| Now you can test and install ReactOS using the same image. |
There was a problem hiding this comment.
I would suggest linking to parts 2 and 3 of the blogs, that described the overhauling of the setup:
https://reactos.org/blogs/gui-setup-part2-partitioning/
https://reactos.org/blogs/gui-setup-part3-first-testing-problems/
(or maybe only the part 3 maybe??)
|
For reviewers: please have a look also at #138 . |
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
| 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 disean. | ||
| This new ATA driver allows ReactOS to boot in far more environments, including inside Hyper-V. | ||
|
|
There was a problem hiding this comment.
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.
| ## Utilities and applications |
|
|
||
| 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 fixed our FAT chkdsk routines to work with the Microsoft FastFAT driver. |
There was a problem hiding this comment.
Minor wording improvement.
| Core developer Doug Lyons fixed our FAT chkdsk routines to work with the Microsoft FastFAT driver. | |
| Core developer Doug Lyons fixed our FAT chkdsk routines to properly work with the Microsoft FastFAT driver. |
This is currently a draft