Welcome, Guest!

Here are some links you may find helpful

Xbox build environment variables

Empyreal96

Member
Original poster
Registered
Jan 12, 2021
15
14
3
github.com
A bit late to the party as it's been floating around for ages..
The past few months I have been tinkering with the Xbox tree seeing how it works.. and much like my work with the NT 5 tree, Environment Variables will totally change a build.

I'm making this thread to list down what environment variables I know (most will already know this) as a reference for me and anyone interested.. Also citation on errors or misinformation is greatly welcomed, I won't be putting the standard "_NT386TREE" kind of ones..

Anything with a * I am unsure about.

These are related to targeting "Retail" and trigger quite a few changes during build.
• RETAILXM3=1
• OFFICIAL_BUILD=1*
or
• RETAILXM3P=1
• OFFICIAL_BUILD=1 *


This one caused a load of errors, I didnt look much into this one yet.
• COVERAGE_BUILD=1 *

For some reason this one was never set for the tree I work with, some postbuild scripts require this.
• _BUILDVER=4400

This one seems to affect more 'closer to production' build options, several postbuild scripts rely on this set.
• COMPUTERNAME=XBuilds

This one needs to be set before razzle gets to "ntuser.cmd" as it specifies build options.
• NTDEBUG=release
Causes:
• 'ltcg ~dm' to be added to %BUILD_OPTIONS%
• sets NTDEBUG=ntsdnodbg
• sets NODEVKIT=1

But setting to:
• NTDEBUG=free
Causes:
• 'ltcg profile' to be added to %BUILD_OPTIONS%
• NODEVKIT=1

These are related to Checked builds.
• BUILD_ALT_DIR=d
• CHECKED_ALT_DIR= *
• FREEBUILD=0 *

This one is presumably set on retail builds
• FREEBUILD=1 *

This one in theory enables some alternative textures and model placements for the dashboard, most likely used during testing.
• COOL_DASH=1 *

This one I am unsure about its purpose, it's referenced throughout the code..
• SILVER=

I will add more as I find them, if anyone else knows any worth noting please add!
 
Last edited:

stuntpenguin

Donator
Donator
Registered
Dec 6, 2020
Donations
£1,000.48
51
42
18
AGName
stuntpenguin
AG Join Date
2009
I wonder if this can't be standardized somehow. Maybe an instruction to grab service pack of whatever OS, then give a tool to set up toolkits. It would be wild to see this built with free tools. The ReactOS folks have accomplished greater feats. Of course, they are "ground up".

Whats to say we couldn't start at the bottom? Start at some entry point and work along. A docker that builds the xb kernel scares the M$. that's maybe the only thing. I hate external dependencies, but source can be pulled straight from archive.org. It wouldn't give a lot of opportunity to work on the kernel, but at least anyone could build it and blame is deferred to a 3rd party.
 

Make a donation