// HACKER NEWS — CYBERSECURITY
ReactOS 0.4.16
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; video, audio, networking, and storage stack improvements; a new installation type; and third-party code syncs.
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), 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.
You can read about Hermès’s work on this in his blog posts:
During 0.4.15 development, core developer Hervé Poussineau (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_) 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.
Justin 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 James Tabor (jimtabor).
These improvements enhanced stability, better handled resource management of the new devices, and fixed many edge case bugs in our win32k.sys driver.
We thank our contributors and developers for their time as these fixes needed an incredible amount of research.
Prior to 0.4.16, ReactOS had incomplete High Definition (HD) audio support.
HD audio drivers depend on a bus driver (hdaudbus.sys), including drivers from AMD, IDT, Nvidia, Realtek, and SigmaTel.
Our initial implementation was written long ago by Johannes Anderwald (janderwald).
This implementation was never finished, and was a frequent source of bugchecks when attempting to install HD audio controller drivers.
Core developer Oleg Dubinskiy (oleg-dubinskiy) imported sklhdaudbus, a new HD audio bus driver, to replace our old implementation.
HD audio controllers which are compatible with Windows XP and Windows Server 2003 should now work in ReactOS 0.4.16.
Here is a video showing a Realtek HD audio controller working on ReactOS 0.4.16:
The new HD audio bus driver depends on the Kernel Mode Driver Framework (KMDF).
Microsoft open sourced KMDF as part of the Windows-Driver-Frameworks repository.
Justin imported KMDF for the new HD audio bus driver, and now we can use KMDF to import or develop other drivers.
Oleg also fixed the volume and balance sliders in Sound Properties (mmsys.cpl) and Audio Volume Mixer (sndvol32.exe).
Now the volume and balance levels are saved and restored on reboot when using an HD audio codec.
In addition, Oleg updated the audio device enumeration code to support more sound cards.
On top of that, Oleg improved binary compatibility with the Windows audio stack thanks to some fixes he contributed to our Plug and Play (PnP) stack and SetupAPI.
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) bugcheck.
ReactOS 0.4.16 intro