Project Stellar - Firmware Update 1.6.0

Project Stellar - Firmware Update 1.6.0

Hello everyone!

We're excited to share the release of firmware version 1.6.0 for Project Stellar. This update enables streaming game ISOs over the network! 

This is also our most significant update thus far, so make sure to stick around until the end.

Network Streaming over SMB2 (NetISO) Support

Project Stellar firmware 1.6.0 adds the ability to play all of your favorite games from external SMB servers by mounting the network share as a virtual drive. 

  • Unlimited Storage: Network streaming bypasses all drive size limits and has been tested with network shares larger than 100TB. No longer are you bound by the physical constraints of internal or external drives; your entire library can now live on a centralized server, accessible with just a few clicks.
  • Simple Setup: Setting up an SMB2 server is incredibly straightforward across various platforms like Windows, macOS, Linux, and RetroNAS. Best of all, it requires no custom or homebrew server applications. If you already have a network share configured, you're halfway there.
  • Broad Image Support: Whether you’re using ISO, XISO, CSO, or REDUMP images, NetISO handles them all seamlessly. This versatility ensures that whatever format your game backups are in, they’ll work without a hitch.
  • No More Splitting: Splitting large ISO images is no longer required. Enjoy the ease of playing your games as they were meant to be, without the tedious task of dividing files into smaller parts.

In addition to all of this, you can quickly and easily navigate your network shares from inside of StellarOS. This interface allows you to browse your entire network library effortlessly, select your desired game, and launch it directly. 

StellarOS - File Manager

Firmware 1.6.0 introduces a built-in file manager to StellarOS, making it easier than ever to manage and launch your games. With this new feature, you can directly launch both XBEs and ISO images without the need for a custom dashboard installed.

The file manager provides a streamlined interface that allows you to browse your game library and start playing with just a few clicks.

NetISO - Legacy Support

In addition to being able to launch ISO images directly from StellarOS, users can also launch ISO images from any legacy software without any patches necessary. This is made possible by our updated open-source tool, stellar-attach. With stellar-attach, you can easily integrate NetISO support into any homebrew dashboard, giving you the flexibility to use the tools and interfaces you're already comfortable with.

The stellar-attach tool bridges the gap between modern advancements and legacy software, ensuring that no matter which dashboard or application you prefer, you can still take full advantage of the powerful features offered by Project Stellar. Whether you're using UnleashX, XBMC, or any other homebrew software, stellar-attach makes launching your network-stored games as simple as ever.

Xbox Boot Animation Decompilation

When we first started Project Stellar, one of our main goals was to fully reimplement the Xbox kernel. At that time, we made a conscious decision not to focus on the boot animation, instead relying on users to supply a BIOS image to retain the original Xbox startup experience.  

With firmware 1.6.0, we are proud to announce that we have achieved a working decompilation of the Xbox boot animation. This was a massive undertaking that required identifying and reverse engineering every aspect of how the animation functions.

The decompilation was essential not just for authenticity but to ensure that StellarOS could operate alongside the original boot process without any issues.

The result? We've resolved all the issues related to StellarOS, including a major problem where the OS would freeze if left running for extended periods. Moreover, the native integration of the boot animation has significantly improved overall performance within StellarOS, ensuring that the system remains stable and responsive, even during prolonged use.

Xbox Network Driver Rewrite

It's no secret that Project Stellar has had issues with the Xbox network driver since its launch. These issues have frequently surfaced during firmware updates over the network, often resulting in a frustrating "shasum" error due to data corruption. This problem was a significant pain point for our users and one we were determined to resolve.

For firmware 1.6.0, we've gone back and reverse-engineered every version of the network library used in Xbox software to gain a deeper understanding of how the Nvidia network hardware functions. This effort was not undertaken lightly; it involved meticulous analysis and debugging to pinpoint the root causes of the issues.

During this process, we worked closely with the nxdk team, and together, we identified several problems that were impacting not just performance but also the integrity of data packets.

As a result of this work, we’re releasing our modified network driver today alongside the firmware 1.6.0 update. This driver addresses the packet integrity issues and significantly improves overall network performance.

Additionally, we will continue our collaboration with the nxdk team to integrate these changes into the homebrew SDK, ensuring that the entire Xbox development community benefits from these improvements.

Open Source Contributions

MakeMHz/stellar-attach 

Code cleanup and refactoring

Implement support for embedded slice paths

Implement attach.ini config support

MakeMHz/stellar-nxdk-public

nvnet: Use interrupt-driven queue for tx packets

nvnet: Avoid double mailbox for rx packets

nvnet: Restore IP_REASS_MAXAGE to a sane value

 

sahlberg/libsmb2

Fix EAGAIN check in smb2_read_data

XboxDev/nxdk

cxbe: Fix broken XBE sections sizes

llvm/llvm-project

Crash targeting i386-elf-win32 with debugging information

Incorrect stack assignment when targeting i386-pc-win32-elf

Changelog

1.6.0

  • Enabled NetISO support.
  • Optimized boot animation.
  • Optimized StellarOS performance.
  • Improved StellarOS controller navigation.
  • Fixed memory fragmentation issue in StellarOS leading to system freezing.
  • Added built-in file manager and launcher to StellarOS.
  • Improved boot times.
  • Fixed firmware update failing with a shasum error.
  • Fixed rare FTP corruption issue.
  • Moved FTP server to dedicated tool inside StellarOS for performance.
  • Improved no-DVD logic.
  • Improved compressed ISO performance.
  • Complete build system rewrite.
  • Implemented kernel level dynamic memory relocation and loading.
  • Rewrite of nxdk lwIP network driver.
  • Boot animation decompilation.
     

Conclusion

This firmware update marks the most significant milestone in Project Stellar's journey so far. With over 600 commits, more than 150,000 lines of code added, and over 60,000 lines of code removed, it reflects the immense effort and countless hours our team has invested to bring you the best possible experience.

While we acknowledge that the release of NetISO support took longer than initially anticipated, this update demonstrates our unwavering commitment to delivering top-quality features. We are constantly striving to improve our processes and timelines, ensuring that future updates will continue to meet the high standards our community expects.

Firmware 1.6.0 is a testament to the hard work our team has put in, and it sets the stage for even more exciting developments just around the corner. We're thrilled to continue this journey with you and look forward to sharing what’s next for Project Stellar.