ReactOS 0.4.11 released

ReactOS related news

Moderator: Moderator Team

Colin Finck
Developer
Posts: 108
Joined: Thu Oct 13, 2005 1:14 pm
Location: Germany
Contact:

ReactOS 0.4.11 released

Post by Colin Finck » Mon Mar 04, 2019 1:11 pm

The ReactOS team is pleased to announce the release of version 0.4.11. This version has seen substantial work done to the kernel, helping improve overall system stability.

Kernel Improvements
While the term kernel is used as a sort of catch-all term, in truth the range of functionality that it encapsulates is quite wide. One case in point is the kernel’s responsibility for managing file I/O. A mistake here can cause subtle data corruption to more obvious hard crashes. Pierre Schweitzer’s fixes to the cache controller’s management of its data structures has removed at least one source of blue screens that occurred when attempting to backup a disk’s partition using the ODIN backup software.

Storage improvements were something of a theme in kernel improvements this time around, as work was also done on the filesystems ReactOS supports. While the fastfat driver is an inhouse filesystem driver, ReactOS has always relied on a third party driver for BTRFS support. This reliance however feeds back, as problems ReactOS discover in our usage of the driver can be sent back upstream to help improve it further. Such was the case with a major memory leak problem that Thomas Faber was able to track down.

And speaking of storage, the very interfaces that allows operating systems to talk with storage devices has undergone considerable change since the good old days of IDE and parallel connectors. These days most computers make use of SATA connections and the corresponding AHCI interface, support for which ReactOS relies upon the UniATA driver for. When the 6th generation of Intel’s Core processors (Skylake) was released, it was accompanied by a chipset platform whose AHCI SATA controllers proved incompatible with UniATA. This incompatibility has now been resolved by Alexander Telyatnikov, allowing users wishing to test ReactOS on more modern platforms to better make use of those platforms’ capabilities.

Application Start/Stop
When an application is run, it often depends upon other libraries in the form of DLLs. The loader (LDR) is responsible for finding and loading the respective dependent DLLs, and correctly iterating over these dependencies is fundamental to getting anything to run. One manner of specifying these dependencies is with the use of something called manifests, which was not properly supported in ReactOS. Considering that many modern applications make use of manifests, this was a very glaring hole. Mark Jansen’s work in the runup to 0.4.11 has however added sufficient support for manifests that the range of applications now able to start in ReactOS has significantly widened. Some examples of the newly enabled applications include Blender 2.57b, shown in the screenshot below, Bumptop, Evernote 5.8.3, Quicktime Player 7.7.9, and many others that users have the opportunity to discover for themselves.

Image
Blender 2.57b running within ReactOS

Stopping an application correctly is often just as important from a system stability perspective, as it is when a program is stopped that its previously allocated resources are freed up. For a long time ReactOS had particular difficulty when it came to dealing with the shutdown sequence for .NET 2.0 applications, often times not waiting long enough for these applications to properly exit. Work by Giannis Adamopoulos has however resolved this particular problem, adding further to ReactOS’ usefulness as a platform to run Windows compatible applications.

USETUP Improvements
While the community wishlist for quality of life improvements in ReactOS is quite lengthy, one especially longstanding one has been the ability to upgrade an existing installation of ReactOS. Achieving this has required substantial effort in the USETUP module, effort that Hermès Bélusca-Maïto put considerable time into. The importance of this is twofold. The obvious enhancement is the ability to perform the upgrade, but the more substantive point is what this functionality entails for the future. For ReactOS to be usable as an actual system OS, it needs the ability to update in-place without losing user data and configuration. While requiring the user to go through the system installation process is still far from the user friendliness of other modern operating systems, it is still a substantial step forward and lays the foundation for ReactOS’ maturation into an everyday driver of people’s computers.

Image
Screenshot of the ReactOS text mode setup with upgrade option

Win32
The Win32 subsystem responsible for graphical rendering in ReactOS is by itself a substantial beast. Improvements here often tend towards the most user visible of changes, since it is the engine through which the user will most interact with the operating system.

Those familiar with the NT family’s basic design will recall that prior to the NT6 line that began with Windows Vista, there was a substantial block of functionality implemented inside the kernel space of the operating system. This block is commonly referred to as win32k, and because of its wide ranging kernel level privileges, problems within win32k can hard crash the entire system. Even something as seemingly basic as menus is reliant on functionality inside win32k, and fixing that related functionality was the focus of much effort by several developers.

Basic robustness was the emphasis Thomas Faber focused on, running the menu code through a torture test that would see constant switching between different windows to make sure no resources or the like leaked across the different processes. One must recall that while in user mode applications are partitioned off, in kernel mode resources are effectively in a single space and the appropriate bookkeeping must be maintained to avoid crashes. Speaking of crashes, Mark Jansen also identified a problem with scrollbar initialization whose resolution has added yet another range of applications into ReactOS’ library of compatible programs. Case in point is the 32bit Civilization II Multiplayer Gold Edition version 1.3, as demonstrated in the screenshot below, and others like IceChat 7.63.

Image
Screenshot of Civilization II Multiplayer Gold Edition 1.3 running on ReactOS

The visual correctness of menu elements is also important, as misaligned elements can produce graphically jarring displays. As such while subtle, Katayama Hirofumi’s correction of the y-coordinate calculation for menu items adds a touch of detail that is the difference between a polished graphical experience and one that is just good enough.

Menus can also extend to more than just the menu bar we often see at the top of applications. There are also pop-up menus like when one right-clicks on an item, as in the case of icons in the taskbar’s system tray. Mark was again responsible for this fix, which resolved the issue of incorrectly selected options when one tried to use the systray. Users can be thankful that one more source of frustration has now been squashed.

Finally, one must recall that not the entire world uses the left-to-right display standard to English and other Latin based languages. Many, such as Hebrew and Arabic, use a right-to-left orientation. ReactOS’ support for this type of text rendering was first officially exposed in 0.4.10, but the effort remains a work in progress. That progress took a substantive leap with work done by Baruch Rutman to adapt the USP10 library and Bidirectional support code from Wine to ReactOS. More work of course remains to be done, but it is the nature of open source development to take an iterative approach, building improvements one upon another.

Image
Bidirectional text support in ReactOS

Networking
While end user improvements are often the most visible, quality of life improvements for power users, administrators, and developers have a certain multiplicative effect as well. To that end, the enablement of various network debugging and diagnosis programs by Pierre’s work in TCP and UDP connection enumeration is important in a more subtle way. While debugging network applications is a far from common use case for the average user, it is a crucial ability for people that work in IT or general software development. In this manner ReactOS is becoming useful as not just a platform for running applications, but also to debug them. And as history has shown, the ease of development and administration is a key feature in adoption by the wider tech industry.

Image
Observing the network connections via the netstat tool while running mIRC

Stability and Testing
As ReactOS continues to grow in stability and maturity, the breadth and depth of testing necessary also increases, if only because there are more candidate applications to test. To this end Joachim Henze has with his usual dedication and perseverance worked to ensure the right balance was struck for this release in terms of stability and new/improved features. While it is always tempting to bring forward changes and fixes in the latest and greatest, one must recall that every such change brings with it a certain degree of risk. The ability to weigh that risk with the likely benefits is what makes quality assurance personnel like Joachim invaluable to any fast moving project.

In light of ReactOS’ expansive improvements, and to help prospective users better understand the state of the OS and its supported applications, Joachim has also restructured the test results page to better encapsulate the relevant information. There one can now see not only the overall conclusion of the test, but also details such as track what drove a particular conclusion as well as any workarounds that they might themselves attempt. A marked step forward from the binary of works/fails, since a workaround suggests at least a starting point for a permanent solution to be found.

Third Party Syncs
The current third party sources that ReactOS syncs with have been brought to the following versions by their respective minders.
  • ACPICA version 20181003, by Thomas Faber
  • PCI hardware ID database 2018-11-21, by Hermès Bélusca-Maïto
  • Wine Staging 3.17, by Amine Khaldi
Statistics
JIRA Issues fixed (this includes both bugs and improvements) - 135
Number of commits - 984
The oldest bug fixed for 0.4.11 - CORE-3579

0.4.11-release branch was forked from master on 2018-12-09 after 0.4.11-dev-948-gde7c959

mrmajik45
Posts: 342
Joined: Sun Sep 24, 2017 1:21 am
Location: USA, Indiana
Contact:

Re: ReactOS 0.4.11 released

Post by mrmajik45 » Mon Mar 04, 2019 3:19 pm

(Item upgraded! ReactOS 0.4.10 -> 0.4.11)
ReactOS Donator ~ $5.00 | Linux Mint Donator ~ $1.00 in BTC

karlexceed
Posts: 459
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS 0.4.11 released

Post by karlexceed » Mon Mar 04, 2019 5:38 pm

Woohoo!

Here's a link to the related Phoronix article: https://www.phoronix.com/scan.php?page= ... 1-Released

And Liliputing: https://liliputing.com/2019/03/reactos- ... clone.html

andreas.dahl
Posts: 3
Joined: Fri Mar 15, 2019 2:43 pm

Re: ReactOS 0.4.11 released

Post by andreas.dahl » Fri Mar 15, 2019 2:51 pm

Hi,

I have just read through the Release-notes. Sounds fantastic. In the eager of getting Reactos installed on my equipmrent i am still unsuccessful.

Obviously there is abasic problem with installing via th USB Interface?
I have two different Laptops, A Thibkpad x201 and a Acer Travelmate available. Both of them only have the opportunity to connect the DVD/CD-Drive via an USB interface. Alternatively install from a USB stick.

IN all cases the installation halts after having loaded the NT-Kernel.

I have also tried the last update: "bootcd-0.4.12-dev-861-g7611832-x86-gcc-lin-dbg"

Any Solutions? - or maybe schedule for sorting out this?

Thanks
Andreas

karlexceed
Posts: 459
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS 0.4.11 released

Post by karlexceed » Fri Mar 15, 2019 4:12 pm

andreas.dahl wrote:
Fri Mar 15, 2019 2:51 pm
problem with installing via th USB Interface?
Yes, this is thoroughly discussed in this forum. You could try searching for others with the same problem and may find a solution that works for you.

Also, I'd recommend that if you need assistance, you should create a new topic in the Support section of this forum, rather than replying to a release announcement: https://www.reactos.org/forum/viewforum.php?f=4

davidknibb
Posts: 4
Joined: Fri Jul 01, 2011 12:27 pm

Re: ReactOS 0.4.11 released

Post by davidknibb » Sat Mar 23, 2019 5:54 pm

Release 4.11 is still alpha, even though each 4.xx relase has shown substation progress towards a properly useable system.

What do the developers think needs doing before a beta release can be made ?? Is it relatively small, or do they think that there is a huge amount to be done ??

I'd be interested to know what they think their progress is and what they think are important issues before they can declare a beta product.

Thanks


binarymaster
Posts: 271
Joined: Sun Nov 16, 2014 7:05 pm
Location: Russia, Moscow
Contact:

Re: ReactOS 0.4.11 released

Post by binarymaster » Sat Mar 23, 2019 9:04 pm

davidknibb wrote:
Sat Mar 23, 2019 5:54 pm
I'd be interested to know what they think their progress is and what they think are important issues before they can declare a beta product.
https://reactos.org/project-news/novemb ... ng-minutes (see ReactOS 0.5 Planning)
https://reactos.org/wiki/0.5.0

andreas.dahl
Posts: 3
Joined: Fri Mar 15, 2019 2:43 pm

Re: ReactOS 0.4.11 released

Post by andreas.dahl » Sun Mar 24, 2019 12:37 pm

Hi,

What plans do you have to implement a functional USB-Support for ReactOS?

As nearly all of the modern Laptops and Notepads only have this interface for external CD/DVD-Drives and USB-Sticks I beleive ist of cruciual importance to get experiencies from using Laptops/Noteboos with ReactOS.

Any qualified statements (maybe with a "USB-development Plan"?) to this topic would be very appreciated.

Thanks

Andreas

EmuandCo
Developer
Posts: 4323
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld
Contact:

Re: ReactOS 0.4.11 released

Post by EmuandCo » Sun Mar 24, 2019 10:50 pm

https://git.reactos.org/?p=reactos.git; ... rivers/usb
Check usbehci_new, usbhub_new, usbohci_new, usbstor_new and usbuhci_new
Image
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

onestop_mid
Posts: 37
Joined: Fri Nov 09, 2018 5:05 am

Re: ReactOS 0.4.11 released

Post by onestop_mid » Fri Mar 29, 2019 9:04 pm

EmuandCo wrote:
Sun Mar 24, 2019 10:50 pm
https://git.reactos.org/?p=reactos.git; ... rivers/usb
Check usbehci_new, usbhub_new, usbohci_new, usbstor_new and usbuhci_new
Do you have any idea when those will be merged into ReactOS?

karlexceed
Posts: 459
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS 0.4.11 released

Post by karlexceed » Fri Mar 29, 2019 11:57 pm

onestop_mid wrote:
Fri Mar 29, 2019 9:04 pm
Do you have any idea when those will be merged into ReactOS?
Nope! :D

Sand
Posts: 135
Joined: Sat Mar 12, 2005 3:23 pm

Re: ReactOS 0.4.11 released

Post by Sand » Thu May 23, 2019 9:13 am

When they will fix the appearance of the X button?

hbelusca
Developer
Posts: 1128
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: ReactOS 0.4.11 released

Post by hbelusca » Thu May 23, 2019 5:13 pm

Sand wrote:
Thu May 23, 2019 9:13 am
When they will fix the appearance of the X button?
If you are talking about the Close-window button, its appearance will be fixed when (truetype) font hinting will work and that our Marlett font will have font hints in it.

powerplayer
Posts: 13
Joined: Fri Apr 10, 2015 12:39 pm

Re: ReactOS 0.4.11 released

Post by powerplayer » Fri Aug 30, 2019 6:24 am

Virtualbox gives me bsod this is a sideffect of fireing kernel developer Alex Ionescu from reactos team 0.3.9 is still getting a first boot while 0.4.1 is basically a bsod game. It feels like this song is about this : https://www.youtube.com/watch?v=eTFc_OPMGKE . Who did Alex Ionescu get replaced by?

Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests