diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml
index e4d0f3aa52..d60882ca1f 100644
--- a/.github/workflows/build_viewer.yml
+++ b/.github/workflows/build_viewer.yml
@@ -242,11 +242,17 @@ jobs:
if: env.FS_RELEASE_TYPE == 'Nightly'
run: |
echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}} --testbuild=14" >> $GITHUB_ENV
+ shell: bash
- name: make Alpha builds expire after 28 days
if: env.FS_RELEASE_TYPE == 'Alpha'
run: |
echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}} --testbuild=28" >> $GITHUB_ENV
-
+ shell: bash
+ - name: make Beta builds expire after 28 days
+ if: env.FS_RELEASE_TYPE == 'Beta'
+ run: |
+ echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}} --testbuild=60" >> $GITHUB_ENV
+ shell: bash
- name: Clean up packages to give more space
run: rm *${{ env.fallback_platform }}*bz2
shell: bash
diff --git a/README.md b/README.md
index c1265843cf..64993294bf 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,4 @@
-
-
-
+
**[Firestorm](https://www.firestormviewer.org/) is a free client for 3D virtual worlds such as Second Life and various OpenSim worlds where users can create, connect and chat with others from around the world.** This repository contains the official source code for the Firestorm viewer.
@@ -14,11 +12,11 @@ Pre-built versions of the viewer releases for Windows, Mac and Linux can be down
## Build Instructions
-Build instructions for each operating system can be found in the official [wiki](https://wiki.firestormviewer.org/).
+Build instructions for each operating system can be found using the links below and in the official [wiki](https://wiki.firestormviewer.org/).
-- [Windows](https://wiki.firestormviewer.org/fs_compiling_firestorm_windows)
-- [Mac](https://wiki.firestormviewer.org/fs_compiling_firestorm_macos)
-- [Linux](https://wiki.firestormviewer.org/fs_compiling_firestorm_linux)
+- [Windows](doc/building_windows.md)
+- [Mac](doc/building_macos.md)
+- [Linux](doc/building_linux.md)
> [!NOTE]
> We do not provide support for compiling the viewer or issues resulting from using a self-compiled viewer. However, there is a self-compilers group within Second Life that can be joined to ask questions related to compiling the viewer: [Firestorm Self Compilers](https://tinyurl.com/firestorm-self-compilers)
diff --git a/README_BUILD_FIRESTORM_LINUX.txt b/README_BUILD_FIRESTORM_LINUX.txt
deleted file mode 100755
index 3aa979da25..0000000000
--- a/README_BUILD_FIRESTORM_LINUX.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-First, make sure gcc-7.5.0 and g++-7.5.0 are installed.
-
-If you want to use licensed FMOD or KDU build libraries (they are optional) you have to provision these yourself.
-If you're licensing these with Phoenix/Firestorm, ask for the libraries for fmod and kdu. Put them into:
- /opt/firestorm
-
-If you're a community builder, you'll need to build these libraries yourself, then change your autobuild.xml file to
-point to your own versions, or create a different autobuild.xml with your customizations, and use this with autobuild
-instead of our default autobuild.xml There are some examples of how to build FMOD on the LL Wiki and opensource-dev
-mailing list. We've created a non-KDU build target to make this easier. Everywhere you see "ReleaseFS" below, use
-"ReleaseFS_open" instead. This will perform the same build, using openjpeg instead of KDU.
-
-Available premade firestorm-specific build targets:
- ReleaseFS (includes KDU, FMODSTUDIO)
- ReleaseFS_open (no KDU, no FMODSTUDIO)
- RelWithDebInfoFS_open (no KDU, no FMODSTUDIO)
-
-To build firestorm:
- autobuild build -A64 -c ReleaseFS
-
-Other examples:
- autobuild configure -A64 -c ReleaseFS # basic configuration step, don't build, just configure
- autobuild configure -A64 -c ReleaseFS -- --clean # clean the output area first, then configure
- autobuild configure -A64 -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
-
- autobuild build -A64 -c ReleaseFS --no-configure # default quick rebuild
- autobuild build -A64 -c ReleaseFS --no-configure -- --clean # Clean rebuild
- autobuild build -A64 -c ReleaseFS -- --package # Complete a build and package it into a tarball
-
-When using the --package switch you can set the XZ_DEFAULTS variable to -T0 to use all available CPU cores
-to create the .tar.xz file. This can significantly reduce the time needed to create the archive, but it will
-use a lot more memory. For example:
- export XZ_DEFAULTS="-T0"
- autobuild build -A64 -c ReleaseFS_open -- --package
-
-If you want to build with clang you can call autobuild like this:
- CC=clang CXX=clang++ autobuild configure -A64 -c ReleaseFS
-
-Any of the configure options can also be used (and do the same thing) with the build options.
-Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are
-already doing.
-
-
-Logs:
- Look for logs in build-linux-x86_64/logs
-
-Output:
- Look for output in build-linux-x86_64/newview/Release
diff --git a/README_BUILD_FIRESTORM_MACOSX.txt b/README_BUILD_FIRESTORM_MACOSX.txt
deleted file mode 100755
index c44631128e..0000000000
--- a/README_BUILD_FIRESTORM_MACOSX.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-Make sure Xcode is installed, it's a (sometimes) free download from Apple.
-Make sure cmake is installed, use at least a 2.8.x version.
-
-If you are using OSX 10.5 or 10.6, Xcode 3 will be used. Output will work on
-all 10.5 systems and higher.
-
-If you are using OSX 10.7 (ie, Lion), the build will use Xcode 4 and your
-output will only work on OSX 10.6 and higher unless you install the OS X
-10.5 SDK. You can copy that from an Xcode 3 installation; you need the
-directory /Developer/SDKs/MacOSX10.5.sdk and its contents. If you do this,
-then the output will work on 10.5.
-
-Ensure you can build a stock viewer-development tree as described in the SL
-wiki. Before asking for any help compiling Firestorm, make sure you can
-build viewer-development first. If you try and skip this step, you may
-receive much less help.
-http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Mac_OS_X)
-
-If you want to use licensed FMOD or KDU build libraries (they are optional)
-you have to provision these yourself. If you're licensing these with
-Phoenix/Firestorm, ask for the libraries for fmod and kdu. Put them into:
- /opt/firestorm
-
-If you're a community builder, you'll need to build these libraries
-yourself, then change your autobuild.xml file to point to your own versions,
-or create a different autobuild.xml with your customizations, and use this
-with autobuild instead of our default autobuild.xml There are some examples
-of how to build FMOD on the LL Wiki and opensource-dev mailing list. We've
-created a non-KDU build target to make this easier. Everywhere you see
-"ReleaseFS" below, use "ReleaseFS_open" instead. This will perform the same
-build, using openjpeg instead of KDU.
-
-Available premade firestorm-specific build targets:
-
- ReleaseFS (includes KDU, FMOD)
- ReleaseFS_open (no KDU, no FMOD)
- RelWithDebInfo_open (no KDU, no FMOD)
-
-To build firestorm:
-
- autobuild build -c ReleaseFS
-
-Other examples:
- autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
- autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
- autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
-
- autobuild build -c ReleaseFS --no-configure # default quick rebuild
- autobuild build -c ReleaseFS --no-configure -- --clean # Clean rebuild
-
-Any of the configure options can also be used (and do the same thing) with
-the build options. Typical LL autobuild configure options should also work,
-as long as they don't duplicate configuration we are already doing.
-
-
-Logs:
-
- Look for logs in build-darwin-i386/logs
-
-Output:
- Look for output in build-darwin-i386/newview/Release
-
-
-
diff --git a/README_BUILD_FIRESTORM_WINDOWS.txt b/README_BUILD_FIRESTORM_WINDOWS.txt
deleted file mode 100755
index bc7909e9f0..0000000000
--- a/README_BUILD_FIRESTORM_WINDOWS.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-Before you start configuring your Windows build system, be aware of our tested configurations:
- Memory: You will need at least 2GB RAM, 4GB strongly recommended.
- CPU: Multiple CPUs are strongly recommended.
- A build can take over an hour.
- Visual Studio 2017/2022 Community Edition.
-
-Ensure you can build a stock viewer-development try as described in the SL wiki. Before asking for any help
-compiling Firestorm, make sure you can build the Second Life viewer first. If you try and skip this step, you may
-receive much less help. https://wiki.secondlife.com/wiki/Build_the_Viewer_on_Windows
-
-If you want to use licensed FMOD or KDU build libraries (they are optional) you have to provision these yourself.
-If you're licensing these with Phoenix/Firestorm, ask for the libraries for fmod and kdu. Put them into:
-
- c:\cygwin\opt\firestorm
-
-If you're a community builder, you'll need to build these libraries yourself, then change your autobuild.xml file to
-point to your own versions, or create a different autobuild.xml with your customizations, and use this with autobuild
-instead of our default autobuild.xml There are some examples of how to build FMOD on the LL Wiki and opensource-dev
-mailing list. We've created a non-KDU build target to make this easier. Everywhere you see "ReleaseFS" below, use
-"ReleaseFS_open" instead. This will perform the same build, using OpenJpeg instead of KDU.
-
-
-To build Firestorm - a more detailed instruction can be found at https://wiki.firestormviewer.org/fs_compiling_firestorm_windows:
-
-Open a CMD shell and navigating to your firestorm code repo:
-
- autobuild build -A 64 -c ReleaseFS
-
-Other build targets you may use are:
-
- ReleaseFS (includes KDU, FMOD)
- ReleaseFS_open (no KDU, no FMOD)
- RelWithDebInfoFS_open (no KDU, no FMOD)
-
-Other examples:
- autobuild configure -A 64 -c ReleaseFS # basic configuration step, don't build, just configure
- autobuild configure -A 64 -c ReleaseFS -- --clean # clean the output area first, then configure
- autobuild configure -A 64 -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
-
- autobuild build -A 64 -c ReleaseFS --no-configure # default quick rebuild
-
-If you want to set custom configuration, do this in the configure step separately from build, then run "autobuild
-build -A 64 -c ReleaseFS --no-configure" as a secondary step.
-
-
-Logs:
- Look for logs in build-vc1x0-64/logs
-
-Output:
- Look for output in build-vc1x0-32/newview/Release
diff --git a/autobuild.xml b/autobuild.xml
index 700ceba684..74e25f19d5 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -996,11 +996,11 @@
archivenamedarwin64
@@ -1010,11 +1010,11 @@
archivenamelinux64
diff --git a/doc/building_linux.md b/doc/building_linux.md
new file mode 100644
index 0000000000..7455f36feb
--- /dev/null
+++ b/doc/building_linux.md
@@ -0,0 +1,285 @@
+# Build instructions for Linux
+
+> [!WARNING]
+> Please note that we do not give support for compiling the viewer on your own. However, there is a self-compilers group in Second Life that can be joined to ask questions related to compiling the viewer: [Firestorm Self Compilers](https://tinyurl.com/firestorm-self-compilers)
+
+> [!NOTE]
+> These instructions only apply to Firestorm versions with AlexIvy code.
+
+This procedure is based on discussions with the Firestorm Linux development team and is the only one recommended for Firestorm for Linux. System requirements are:
+- Ubuntu 20.04 x64 fully upgraded
+- 16GB or more RAM ([Low Memory Caution](#common-issuesbugsglitches-and-solutions))
+- 64GB hard drive space
+- 4 or more core CPU (you could get by with 2 cores, but the process will take much longer)
+
+Due to the age of the build OS, it is recommended that you use a virtual machine, ensuring the guest can meet the hardware requirements.
+
+This procedure may or may not work on other Linux distributions.
+
+## Establish your programming environment
+
+This only needs to be done once.
+
+### Create your source tree
+
+Typically, Linux source code is stored in a src directory in your home directory. So: `mkdir ~/src`
+
+### Install required packages
+
+A few packages must be installed on the build system. Some may already be installed:
+
+| | | | | | |
+| --------------- | ---------------- | ------------- | ------------------ | ---------------- | ------ |
+| libgl1-mesa-dev | libglu1-mesa-dev | libpulse-dev | build-essential | python3-pip | git |
+| libssl-dev | libxinerama-dev | libxrandr-dev | libfontconfig1-dev | libfreetype6-dev | gcc-10 |
+| | | | | | |
+
+```
+sudo apt install libgl1-mesa-dev libglu1-mesa-dev libpulse-dev build-essential python3-pip git libssl-dev libxinerama-dev libxrandr-dev libfontconfig1-dev libfreetype6-dev gcc-10
+```
+
+### CMake
+
+CMake version 3.18 is required but not available in Ubuntu's repositories, we have to build it from source
+
+```
+wget https://github.com/Kitware/CMake/releases/download/v3.18.0/cmake-3.18.0.tar.gz
+tar xvf cmake-3.18.0.tar.gz
+cd cmake-3.18.0
+./bootstrap --parallel=$(nproc) --prefix=/usr && make -j $(nproc) && sudo make install
+```
+
+### Install Autobuild
+
+Autobuild is a Linden Lab resource that does all the hard work.
+
+```
+sudo pip3 install --upgrade pip
+sudo pip3 install git+https://github.com/secondlife/autobuild.git#egg=autobuild
+```
+
+Check Autobuild version to be "autobuild 3.8" or higher: `autobuild --version`
+
+## Download the source code
+
+There are two required repositories, the viewer itself and the build variables. An optional third repository is used to configure and package FMOD Studio.
+
+### Clone the viewer
+
+```
+cd ~/src
+git clone https://github.com/FirestormViewer/phoenix-firestorm.git
+```
+
+This will create a folder called phoenix-firestorm and add all the source files. If you desire, you can choose a different folder name by adding the name to the end of the command:
+
+```
+git clone https://github.com/FirestormViewer/phoenix-firestorm.git NewDestinationDirectory
+```
+
+The rest of this document will assume the default directory, `phoenix-firestorm`
+
+### Clone the Autobuild build variables
+
+Autobuild 3.0 uses a separate file to control compiler options, switches, and the like for different configurations.
+
+```
+cd ~/src
+git clone https://github.com/FirestormViewer/fs-build-variables.git
+```
+
+### Create FMOD Studio package (optional)
+
+Although not required, including FMOD Studio in your build will improve your audio-based experience.
+
+```
+cd ~/src
+git clone https://github.com/FirestormViewer/3p-fmodstudio.git
+cd ~/src/3p-fmodstudio
+```
+
+Open the file called `build-cmd.sh` and look at the fifth line down, it begins with `FMOD_VERSION`. This is the version of the API you need to download.
+
+The FMOD Studio API can be downloaded [here](https://www.fmod.com) (requires creating a free account to access the download section).
+
+Click the button representing the version you're after, then click the Download link for the Linux file.
+
+> [!IMPORTANT]
+> Make sure to download the FMOD Studio API and not the FMOD Studio Tool!
+
+Copy that file to the `~/src/3p-fmodstudio` directory.
+
+```
+export AUTOBUILD_VARIABLES_FILE=$HOME/src/fs-build-variables/variables
+autobuild build -A 64 --all
+autobuild package -A 64 --results-file result.txt
+```
+
+Near the end of the output you will see the package name written, similar to:
+
+```
+wrote !/home/username/src/3p-fmodstudio/fmodstudio-2.01.02-linux64-202161533.tar.bz2
+```
+
+Additionally, a file `result.txt` has been created containing the md5 hash value of the package file, which you will need in the next steps.
+
+```
+cd ~/src/phoenix-firestorm
+```
+
+Copy the FMOD Studio path and md5 value from the package process into this command:
+
+```
+autobuild installables edit fmodstudio platform=linux64 hash= url=file:///
+```
+
+For example:
+
+```
+autobuild installables edit fmodstudio platform=linux64 hash=c3f696412ef74f1559c6d023efe3a087 url=file:///!/src/3p-fmodstudio/fmodstudio-2.00.07-linux64-200912220.tar.bz2
+```
+
+> [!NOTE]
+> Having modified autobuild.xml would require it be restored before trying to fetch any new commits or more especially if you push a commit. This can be done with `git reset --hard && git remote update`
+
+## Configure and build
+
+### Configuring the viewer
+
+Start by initializing the variables
+
+```
+export AUTOBUILD_VARIABLES_FILE=$HOME/src/fs-build-variables/variables
+```
+
+You can add that to `~/.bashrc` or `~/.profile` so they execute automatically, or execute them before you run autobuild.
+
+```
+cd ~/src/phoenix-firestorm
+autobuild configure -A 64 -c ReleaseFS_open
+```
+
+This will set up to compile with all defaults and without non-default libraries. It will fetch any additional necessary libraries.
+
+Available premade firestorm-specific build targets:
+
+```
+ReleaseFS (includes KDU, FMOD)
+ReleaseFS_open (no KDU, no FMOD)
+RelWithDebInfo_open (no KDU, no FMOD)
+```
+
+### Configuration Switches
+
+There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.
+
+- **LL_TESTS** (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
+- **clean** will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
+- **package** will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use **-DPACKAGE:BOOL=Off** to disable it
+- **chan** will set a unique channel (and the name) for the viewer, appending whatever is defined to "Firestorm-". By default, the channel is "private" followed by your computer's name.
+- **fmodstudio** will tell autobuiild to use the FmodStudio package when compiling.
+
+Most switches start with a double-dash (\--). And if you use any switches you must enclose them with a double-dash at the start and an optional double-dash at the end.
+
+> [!TIP]
+> **OFF** and **NO** are the same as **FALSE**; anything else is considered to be **TRUE**
+
+Examples:
+
+```
+autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE
+autobuild configure -A 64 -c ReleaseFS_open -- --clean
+autobuild configure -A 64 -c ReleaseFS_open -- --fmodstudio
+autobuild configure -A 64 -c ReleaseFS_open -- --chan="MyBuild"
+```
+
+In the last example, the channel and resulting viewer name would be "Firestorm-MyBuild".
+
+The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outside the viewer development itself. And if you use the `--clean` switch, you will re-download them all.
+
+## Compiling the viewer
+
+```
+autobuild build -A 64 -c ReleaseFS_open
+```
+
+Be sure to use the fmodstudio and chan switches again.
+
+Compiling can take quite a bit of time depending on your computer's processing power.
+
+> [!NOTE]
+> It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (`autobuild build -A 64 -c ReleaseFS_open -- --clean [more switches]`). For clarity, they are mentioned separately.
+
+> [!TIP]
+> When using the --package switch you can set the XZ_DEFAULTS variable to -T0 to use all available CPU cores to create the .tar.xz file. This can significantly reduce the time needed to create the archive, but it will use a lot more memory. For example:
+> ```
+> export XZ_DEFAULTS="-T0"
+> autobuild build -A64 -c ReleaseFS_open -- --package
+> ```
+
+### Copy out of the guest
+
+If you build the viewer using a virtual machine (guest), you will need to copy the viewer files over to your host or to a different machine in order to use the viewer. Your guest may not have sufficient resources to run the viewer. The rsync program can make copying easy and accurate. And if you build the viewer again, the options included in the command example will cause rsync to only copy the new files, cutting down on the time needed to copy.
+
+The build process created a ready-to-use viewer as well as a compressed archive. The archive can be copied or moved to any shared filesystem, such as a flash or cloud drive, and it could be installed or extracted in the same manner as is the official release.
+
+```
+cp ~/src/phoenix-firestorm/build-linux-x86_64/newview/Phoenix*.tar.* /path/to/shared/drive
+```
+
+or
+```
+mv ~/src/phoenix-firestorm/build-linux-x86_64/newview/Phoenix*.tar.* /path/to/shared/drive
+```
+
+When copying the ready-to-run folders and files, use
+
+```
+rsync -rptgoDLK --update --progress ~/src/phoenix-firestorm/build-linux-x86_64/newview/packaged/* /path/to/destination
+```
+
+Using rsync has the advantage of updating the destination, replacing only those files that changed or are missing, which takes much less time than copying and replacing every file.
+
+## Running your newly built viewer
+
+### Running from a menu item
+
+Create the desktop launcher after copying to the destination machine
+
+```
+cd /path/to/firestorm
+etc/refresh_desktop_app_entry.sh
+```
+
+Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.
+
+### Running from command line or file browser
+
+```
+cd /path/to/firestorm
+./firestorm
+```
+
+## Troubleshooting
+
+### Handling problems
+
+If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.
+
+- **Firestorm Self-Compilers group:** [Firestorm Self Compilers](https://tinyurl.com/firestorm-self-compilers) is free to join, fellow self-compilers may be able to offer assistance.
+- **Jira:** [JIRA](https://jira.firestormviewer.org) may contain resolved issues related to the error you're seeing. Search using the error you encountered. Or create a new issue to report an error in this document, or if a code change causes a build process to fail.
+
+### Common issues/bugs/glitches and solutions
+
+- **Virtual memory exhausted, c++ fatal error, or similar out-of-memory issues** may occur if you are building the viewer for the first time, or re-building after a very large set of changes were added. Sometimes restarting the build command will let you recover, sometimes you have to restart the build system. To avoid that from happening, add ram to your virtual environment, or add swap space, something on the order of 10GB or more. As well, reducing the number of CPU cores assigned, down to 4 or less, will lower ram usage.
+- **Missing libraries/applications/packages:** This may occur if you did not or could not install the packages shown above, or are attempting to use this procedure with a different Linux OS, or are attempting to build a 32-bit viewer. Start over, making sure you are using the right OS, reinstall all packages as listed, and do not attempt to make a 32-bit viewer.
+- **SDL2:** Currently the SDL2 install/update process has a problem if the SDL2 files already exist. The workaround is to delete those files:
+```
+rm -rf ../build-linux-x86_64/packages/include/SDL2/
+rm -rf ../build-linux-x86_64/packages/docs/SDL/
+rm ../build-linux-x86_64/packages/LICENSES/SDL.txt
+rm ../build-linux-x86_64/packages/lib/release/*SDL*
+```
+- **Delayed sounds:** Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet. Compiling with FModStudio may resolve this issue.
+- **No sounds:** The viewer will try to use whatever sound service you have running, but might need a little coaxing. Read through the firestorm script inside the program directlry, you will find various commented options. Uncommenting one or more may help restore sound, as can compiling with FModStudio. Refer also to the README.Linux.txt and README-linux-voice.txt files in the program directory.
+- **Voice won't connect:** Refer to **[this link](https://wiki.firestormviewer.org/fs_voice#linux)** or the relevant link on **[this page](https://wiki.firestormviewer.org/linux)** to make needed adjustments to your computer and/or the SLVoice files.
diff --git a/doc/building_macos.md b/doc/building_macos.md
new file mode 100644
index 0000000000..f5ad4ea481
--- /dev/null
+++ b/doc/building_macos.md
@@ -0,0 +1,249 @@
+# Build instructions for macOS
+
+The viewer and its libraries are built with the current version of Xcode and Cmake, as well as the standard version of Autobuild from Linden Lab.
+
+> [!WARNING]
+> Please note that we do not give support for compiling the viewer on your own. However, there is a self-compilers group in Second Life that can be joined to ask questions related to compiling the viewer: [Firestorm Self Compilers](https://tinyurl.com/firestorm-self-compilers)
+
+## Obtaining a shell to work with
+
+The steps listed below are expected to be run from a shell prompt. Simply copy and paste the commands, or type them out if you wish, into a shell prompt when told to. If you do not know how to acquire a shell prompt, open up the Applications folder, go to Utilities, then open Terminal. This will open a shell prompt. If you are a power user and know what a shell prompt is, open one now using your preferred method and program, then continue on to the next section. Leave this window open throughout the guide. You don't need to close it and re-open it after every command.
+
+## Getting development tools
+
+You will need to install the following tools:
+
+### Xcode
+- Xcode, It's a free download from Apple, but the latest version (12.x) is too new, so you will need to get an older version.
+- To download a version that will work (11.7 in this case), go [here](https://developer.apple.com/download) and log in with an apple ID.
+- Either find the 11.7 download in the list or use this [direct link](https://download.developer.apple.com/Developer_Tools/Xcode_11.7/Xcode_11.7.xip) (will prompt you to log in if you skipped the above step.)
+- Open the downloaded file and copy the Xcode application to the Applications folder.
+- Open Xcode at least once to set up everything to compile the viewer later on.
+- Test by running `clang --version` from the terminal window.
+- It should report version 11 something (Apple clang version 11.0.3 (clang-1103.0.32.62) for example.)
+- If it reports version 12, something is messed up and you installed Xcode 12.
+
+### CMake
+- Download [CMake](http://www.cmake.org/download) version 3.16.0 or higher
+- Open the downloaded file and copy CMake to the Applications folder.
+- You will need to install the command line links manually. To do this, run from the terminal: `sudo /Applications/CMake.app/Contents/MacOS/CMake --install`
+- Again, test by running: `cmake --version` from the terminal window.
+
+### Pip
+The pip Python package installation tool is required for the next step. To install it, run from terminal:
+```
+curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
+sudo python3 get-pip.py
+```
+
+### Autobuild
+The Linden Lab [Autobuild](https://github.com/secondlife/autobuild) tool.
+- Use the following command to install it on your machine:
+```
+pip3 install --user git+https://bitbucket.org/lindenlab/autobuild.git#egg=autobuild
+```
+
+- Add it to your PATH environment variable so it can be found by the shell. The macOS-approved way to do this is to issue the following command (This change will not take effect until the next time you open a Terminal window.):
+```
+echo '~/Library/Python/3.7/bin/' | sudo tee /etc/paths.d/99-autobuild
+```
+
+- If you do not want to close and re-open your terminal, type the following to add it your PATH (otherwise if you did close it down, re-open it as shown above [here](#obtaining-a-shell-to-work-with)):
+```
+export PATH=$PATH:~/Library/Python/3.7/bin/
+```
+
+- Check Autobuild version to be "autobuild 3.8" or higher: `autobuild --version`
+
+### Additional third party libraries
+If you want to use licensed FMOD Studio API or KDU build libraries (they are optional) you have to provide these yourself. If you're building Firestorm as part of the project team, ask for the libraries for fmodstudio and kdu. Put them into `/opt/firestorm`.
+
+If you're a community builder, you'll need to build these libraries yourself, then change your autobuild.xml file to point to your own versions, or create a different autobuild.xml with your customizations, and use this with autobuild instead of our default autobuild.xml. There are some examples of how to build FMOD Studio on the LL Wiki and opensource-dev mailing list.
+
+We've created a non-KDU build target to make this easier. Everywhere you see "ReleaseFS" below, use "ReleaseFS_open" instead. This will perform the same build, using openjpeg instead of KDU and omitting FMOD Studio.
+
+Available premade firestorm-specific build targets:
+
+```
+ReleaseFS (includes KDU, FMOD)
+ReleaseFS_open (no KDU, no FMOD)
+RelWithDebInfo_open (no KDU, no FMOD)
+```
+
+To build firestorm:
+
+```
+autobuild build -c ReleaseFS
+```
+
+Other examples:
+
+```
+autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
+autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
+autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
+
+autobuild build -c ReleaseFS --no-configure # default quick rebuild
+autobuild build -c ReleaseFS --no-configure -- --clean # Clean rebuild
+
+autobuild configure -c ReleaseFS_open -- # configure with no third-party libraries
+autobuild configure -c ReleaseFS_open -- --fmodstudio # configure with FMOD Studio but no KDU
+```
+
+Any of the configure options can also be used (and do the same thing) with the build options. Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are already doing.
+
+Logs: Look for logs in `build-darwin-x86_64/logs`.
+
+Output: Look for output in `build-darwin-x86_64/newview/Release`.
+
+## Set up your source code tree
+
+Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, we will assume $HOME/firestorm.
+
+```
+mkdir ~/firestorm
+cd ~/firestorm
+git clone https://github.com/FirestormViewer/phoenix-firestorm.git
+```
+
+This can take a while. It's a rather large download.
+
+You will also need to download the build variables used for building the viewer. Like the viewer source, these are downloaded from the Firestorm git repository. Assuming you are still in your ~/firestorm directory (or wherever else you chose), issue the following commands:
+
+```
+git clone https://github.com/FirestormViewer/fs-build-variables.git
+```
+
+You will then need to add this line to your ~/.zshrc file (assuming you are on Catalina or later):
+```
+echo 'AUTOBUILD_VARIABLES_FILE=~/firestorm/fs-build-variables/variables' | sudo tee ~/.zshrc
+```
+
+Again, if you do not wish to restart your terminal:
+```
+export AUTOBUILD_VARIABLES_FILE=~/firestorm/fs-build-variables/variables
+```
+
+## Prepare third party libraries
+
+Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open).
+
+### FMOD Studio using autobuild
+
+- Get the FMOD Studio API disk image installer for the Mac from the [FMOD site](https://www.fmod.com) (requires creating an account to access the download section).
+
+> [!IMPORTANT]
+> Make sure to download the FMOD Studio API and not the FMOD Studio Tool!
+
+- Enter these commands into the terminal window:
+
+```
+git clone https://github.com/FirestormViewer/3p-fmodstudio.git
+cd 3p-fmodstudio
+```
+
+- Place the installer disk image (.dmg) file you downloaded into the current directory.
+- Issue the following commands:
+```
+autobuild build
+autobuild package --results-file result.txt
+```
+
+Near the top of the output you will see the package name written:
+
+```
+wrote /Users/yourname/3p-fmodstudio/fmodstudio-2.01.05-darwin-202981448.tar.bz2
+```
+
+Additionally, a file `result.txt` has been created containing the md5 hash value of the package file, which you will need in the next step.
+
+- Next, update Firestorms autobuild.xml file to use your FMOD Studio.
+
+```
+cd ~/firestorm/phoenix-firestorm
+cp autobuild.xml my_autobuild.xml
+export AUTOBUILD_CONFIG_FILE=my_autobuild.xml
+```
+
+- Copy the fmodstudio path and md5 value from the package process into this command:
+
+```
+autobuild installables edit fmodstudio platform=darwin64 hash= url=file:///
+```
+
+For example:
+```
+autobuild installables edit fmodstudio platform=darwin64 hash=3b0d38f2a17ff1b73c8ab6dffbd661eb url=file:///Users/yourname/3p-fmodstudio/https://fmodstudio-2.01.05-darwin-202981448.tar.bz2
+```
+> [!NOTE]
+> Having to copy autobuild.xml and modify the copy from within a cloned repository is a lot of work for every repository you make, but this is the only way to guarantee you pick up upstream changes to autobuild.xml and do not send up a modified autobuild.xml when you do a git push.
+
+## Configuring the Viewer
+
+The following is all still done from within the terminal window:
+```
+cd ~/firestorm/phoenix-firestorm
+autobuild configure -A 64 -c ReleaseFS_open
+```
+
+This will configure the viewer for compiling with all defaults and without third party libraries.
+
+### Configuration Switches
+
+There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.
+
+- FMODSTUDIO (bool) controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in [FMOD Studio using autobuild](#fmod-studio-using-autobuild) for this to work. This is the switch the --fmodstudio build argument sets.
+- LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
+
+> [!TIP]
+> OFF and NO are the same as FALSE; anything else is considered to be TRUE
+
+Example:
+
+```
+autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE -DFMODSTUDIO:BOOL=TRUE
+```
+```
+autobuild configure -A 64 -c ReleaseFS_open
+```
+
+> [!IMPORTANT]
+> You must specify the -A 64 switch to autobuild whenever you configure or build. This tells autobuild to build a 64-bit viewer; this is the only architecture supported on macOS.
+
+## Compiling the Viewer
+
+To compile the code into an app that can be used on your computer, run the following in the terminal window:
+
+```
+cd ~/firestorm/phoenix-firestorm
+autobuild build -A 64 -c ReleaseFS_open --no-configure
+```
+
+Compiling may take quite a bit of time, depending on how fast your machine is and how much else you're doing.
+
+> [!NOTE]
+> It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (`autobuild build -A 64 -c ReleaseFS[_open] [-- config options]`). Some find it is clearer if these steps are done separately, but can save a bit of time if done together.
+
+## Launching the viewer
+
+Now that the viewer has been compiled, it can be found in `build-darwin-x86_64/newview/Release`. Enter the following into the terminal to open Finder:
+
+```
+open build-darwin-x86_64/newview/Release
+```
+
+From here you can run it directly or copy it to the Applications folder for ease of finding and running later.
+
+## Updating the viewer
+
+If you want to update your self-compiled viewer, you don't have to go through this entire page again. Follow these steps to pull down any new code and re-compile.
+
+- First you need to change to the directory where you built the viewer before. Assuming you followed the steps above and used the same names, run the following in the terminal window: `cd ~/firestorm/phoenix-firestorm`
+- Next, decide if you are going to remove the already compiled files and perform a "Clean build", or if you want to keep the existing build files, "Dirty build". Clean builds are generally recommended by developers but have the downside of building everything again, which comes at a cost of time; dirty builds on the other hand, keep all the previously compiled files and only compile the parts that have changed. The downside to dirty builds comes when a change to a core file is pulled down, which will then cause everything to be rebuilt, negating any speed benefit or possibly taking longer than a clean build.
+- If you have picked to do a clean build, run the following in the terminal window, otherwise skip to the next step: `rm -r build-darwin-x86_64`
+- If you are using a custom autobuild.xml file, then run the following in the terminal window, otherwise skip this step: `export AUTOBUILD_CONFIG_FILE=my_autobuild.xml`
+- Now, to pull down any new code, run the following in the terminal window: `git pull`
+- After any new code is downloaded, it needs to be reconfigured. Run the following in the terminal window: `autobuild configure -A 64 -c ReleaseFS_open`
+- Finally, re-compile the viewer with the new changes. Again, in the terminal window, run: `autobuild build -A 64 -c ReleaseFS_open --no-configure`
+
+Finally, follow the instructions in [Launching the viewer](#launching-the-viewer) to run your freshly updated viewer.
diff --git a/doc/building_windows.md b/doc/building_windows.md
new file mode 100644
index 0000000000..46117d7fbc
--- /dev/null
+++ b/doc/building_windows.md
@@ -0,0 +1,292 @@
+# Build instructions for Windows
+
+This page describes all necessary steps to build the Firestorm viewer for Windows. For building instructions up to (and including) release 6.5.3, see the archived version for [building with Python 2.7](https://wiki.firestormviewer.org/archive:fs_compiling_firestorm_windows_py_27).
+
+> [!WARNING]
+> Please note that we do not give support for compiling the viewer on your own. However, there is a self-compilers group in Second Life that can be joined to ask questions related to compiling the viewer: [Firestorm Self Compilers](https://tinyurl.com/firestorm-self-compilers)
+
+> [!IMPORTANT]
+> With the [merge of Linden Lab release 6.6.16](https://github.com/FirestormViewer/phoenix-firestorm/commit/b64793e2b0d14e44274335c874660af9f679f7f8) it is **NOT** possible to create 32bit builds anymore! Only 64bit builds are possible going forward!
+
+## Install required development tools
+
+This is needed for compiling any viewer based on the Linden Lab open source code and only needs to be done once.
+
+All installations are done with default settings (unless told explicitly) - if you change that, you're on your own!
+
+### Windows
+
+- Install Windows 10/11 64bit using your own product key
+
+### Microsoft Visual Studio 2022
+
+- Install Visual Studio 2022
+ - Run the installer as Administrator (right click, "Run as administrator")
+ - Check "Desktop development with C++" on the "Workloads" tab.
+ - All other workload options can be unchecked
+
+> [!TIP]
+> If you don't own a copy of a commercial edition of Visual Studio 2022 (e.g. Professional), you might consider installing the [Community version](https://visualstudio.microsoft.com/free-developer-offers)
+
+### Tortoise Git
+
+- Download and install [TortoiseGit 2.9.0 or newer](https://tortoisegit.org) (64bit)
+ - Note: No option available to install as Administrator
+ - Use default options (path, components etc.) for Tortoise Git itself
+ - At some point, it will ask you to download and install Git for Windows
+ - You can install with default options **EXCEPT** when it asks for "Configuring the line endings conversion": You **MUST** select "Checkout as-is, commit as-is" here!
+
+### CMake
+
+- Download and install at least [CMake 3.16.0](http://www.cmake.org/download)
+ - Note: No option available to install as Administrator
+ - At the "Install options" screen, select "Add CMake to the system PATH for all users"
+ - For everything else, use the default options (path, etc.)
+ - Make sure that the following directory was added to your path:
+ For the 32bit version:
+ `C:\Program Files (x86)\CMake\bin`
+ For the 64bit version:
+ `C:\Program Files\CMake\bin`
+
+### Cygwin
+
+- Download and install [Cygwin 64](http://cygwin.com/install.html) (64bit)
+ - Run the installer as Administrator (right click, "Run as administrator")
+ - Use default options (path, components etc.) *until* you get to the "Select Packages" screen
+ - Add additional packages:
+ - Devel/patch
+ - Use default options for everything else
+ - Make sure that the following directory was added to your path and that it is placed before "%SystemRoot%\system32":
+ `C:\Cygwin64\bin`
+
+### Python
+
+- Download and install the most recent version of [Python 3](https://www.python.org/downloads/windows)
+ - Run the installer as Administrator (right click, “Run as administrator”)
+ - Tick "Add Python 3.10 to PATH"
+ - Choose the "Customize Installation" option.
+ - Make sure that "pip" is ticked.
+ - "Documentation", "tcl/tk and IDLE", "Python test suite" and "py launcher" are not needed to compile the viewer but can be selected if you wish.
+ - On the next screen, the correct options should already be ticked.
+ - Set custom install location to: `C:\Python3`
+ - Make sure that the following directory was added to your path: `C:\Python3`
+
+> [!TIP]
+> On Windows 10/11, you also might want to disable the app alias for Python. Open the Windows settings app, search for "Manage app execution aliases" and disable the alias for "python3.exe"
+
+### Intermediate check
+
+Confirm things are installed properly so far by opening a Cygwin terminal and enter:
+
+```
+cmake --version
+git --version
+python --version
+pip --version
+```
+
+If they all report sensible values and not "Command not found" errors, then you are in good shape.
+
+> [!NOTE]
+> The Cygwin terminal is only needed for testing. All commands for actually building the viewer will be run from the Windows command shell.
+
+### Set up Autobuild
+
+- Install Autobuild
+ - Open Windows Command Prompt and enter:
+ `pip install git+https://github.com/secondlife/autobuild.git#egg=autobuild`
+ - Autobuild will be installed. **Earlier versions of Autobuild could be made to work by just putting the source files into your path correctly; this is no longer true - Autobuild _must_ be installed as described here.**
+- Set environment variable AUTOBUILD_VSVER to 170 (170 = Visual Studio 2022).
+- Check Autobuild version to be "autobuild 3.8" or higher:
+ `autobuild --version`
+
+### NSIS
+
+- If you plan to package the viewer and create an installer file, you must install the NSIS from the [official website](https://nsis.sourceforge.io).
+- Not required unless you need to build an actual viewer installer for distribution, or change the NSIS installer package logic itself
+
+> [!IMPORTANT]
+> If you want to package the viewer built on a revision prior to the [Bugsplat merge](https://github.com/FirestormViewer/phoenix-firestorm/commit/a399c6778579ac7c8965737088c275dde1371c9e), you must install the Unicode version of NSIS [from here](http://www.scratchpaper.com) - the installer from the NSIS website **WILL NOT** work!
+
+## Setup viewer build variables
+
+In order to make it easier to build collections of related packages (such as the viewer and all the library packages that it imports) with the same compilation options, Autobuild expects a file of variable definitions. This can be set using the environmenat variable AUTOBUILD_VARIABLES_FILE.
+
+- Clone the build variables repository:
+ `git clone https://github.com/FirestormViewer/fs-build-variables.git `
+- Set the environment variable AUTOBUILD_VARIABLES_FILE to
+ `\variables`
+
+## Configure Visual Studio 2022 (optional)
+
+- Start the IDE
+- Navigate to **Tools** > **Options** > **Projects and Solutions** > **Build and Run** and set **maximum number of parallel projects builds** to **1**.
+
+## Set up your source code tree
+
+Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, it is assumed that you created a folder c:\firestorm.
+
+```
+c:
+cd \firestorm
+git clone https://github.com/FirestormViewer/phoenix-firestorm.git
+```
+
+This can take a bit, it's a rather large download.
+
+## Prepare third party libraries
+
+Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open).
+
+> [!IMPORTANT]
+> If you are manually building the third party libraries, you will have to build the correct version (32bit libraries for a 32bit viewer, 64bit versions for a 64bit viewer)!
+
+## FMOD Studio using Autobuild
+
+If you want to use FMOD Studio to play sounds within the viewer, you will have to download your own copy. FMOD Studio can be downloaded [here](https://www.fmod.com) (requires creating an account to access the download section).
+
+> [!IMPORTANT]
+> Make sure to download the FMOD Studio API and not the FMOD Studio Tool!
+
+```
+c:
+cd \firestorm
+git clone https://github.com/FirestormViewer/3p-fmodstudio.git
+```
+
+- After you have cloned the repository, copy the downloaded FMOD Studio installer file into the root of the repository
+- Make sure to modify the file build-cmd.sh in the root of the repository and set the correct version number based on the version you downloaded. Right at the top, you find the version number of FMOD Studio you want to package (one short version without separator and one long version):
+
+```
+FMOD_VERSION="20102"
+FMOD_VERSION_PRETTY="2.01.02"
+```
+
+Continue on the Windows command line:
+
+```
+c:
+cd \firestorm\3p-fmodstudio
+autobuild build -A 64 --all
+autobuild package -A 64 --results-file result.txt
+```
+
+While running the Autobuild build command, Windows might ask if you want to allow making changes to the computer. This is because of the FMOD Studio installer being executed. Allow these changes to be made.
+
+Near the end of the output you will see the package name written:
+
+```
+wrote C:\firestorm\3p-fmodstudio\fmodstudio-{version#}-windows64-{build_id}.tar.bz2''
+```
+
+where {version#} is the version of FMOD Studio (like 2.01.02) and {build_id} is an internal build id of the package. Additionally, a file `result.txt` has been created containing the md5 hash value of the package file, which you will need in the next step.
+
+```
+cd \firestorm\phoenix-firestorm
+cp autobuild.xml my_autobuild.xml
+set AUTOBUILD_CONFIG_FILE=my_autobuild.xml
+```
+
+Copy the FMOD Studio path and md5 value from the package process into this command:
+
+`autobuild installables edit fmodstudio platform=windows64 hash= url=file:///`
+
+For example:
+
+`autobuild installables edit fmodstudio platform=windows64 hash=a0d1821154e7ce5c418e3cdc2f26f3fc url=file:///C:/firestorm/3p-fmodstudio/fmodstudio-2.01.02-windows-192171947.tar.bz2`
+
+> [!NOTE]
+> Having to copy autobuild.xml and modify the copy from within a cloned repository is a lot of work for every repository you make, but this is the only way to guarantee you pick up upstream changes to autobuild.xml and do not send up a modified autobuild.xml when you do a git push.
+
+## Configuring the viewer
+
+Open the Windows command prompt.
+
+If you are building with FMOD Studio and have followed the previous FMOD Studio setup instructions AND you are now using a new terminal you will need to reset the environment variable first by entering
+
+`set AUTOBUILD_CONFIG_FILE=my_autobuild.xml`
+
+Then enter:
+
+```
+c:
+cd \firestorm\phoenix-firestorm
+autobuild configure -A 64 -c ReleaseFS_open
+```
+
+This will configure Firestorm to be built with all defaults and without third party libraries.
+
+Available premade firestorm-specific build targets:
+
+```
+ReleaseFS (includes KDU, FMOD)
+ReleaseFS_open (no KDU, no FMOD)
+RelWithDebInfo_open (no KDU, no FMOD)
+```
+
+> [!TIP]
+> Configuring the viewer for the first time will take some time to download all the required third-party libraries. The download progress is hidden by default. If you want to watch the download progress, you can use the verbose option to display a more detailed output:
+> `autobuild configure -A 64 -v -c ReleaseFS_open`
+
+### Configuration switches
+
+There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.
+
+- -A \ sets the target architecture, that is if you want to build a 32bit or 64bit viewer (32bit is default if omitted).
+- --fmodstudio controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in [FMOD Studio using Autobuild](#fmod-studio-using-autobuild) for this to work.
+- --package makes sure all files are copied into viewers output directory. You won't be able to start your compiled viewer if you don't enable package or do 'compile' it in VS.
+- --chan \ lets you define a custom channel name for the viewer
+- -LL_TESTS:BOOL=\ controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
+
+> [!TIP]
+> **OFF** and **NO** are the same as **FALSE**; anything else is considered to be **TRUE**
+
+Examples:
+
+- To build a 64bit viewer with FMOD Studio and to create an installer package, run this command in the Windows command window:
+`autobuild configure -A 64 -c ReleaseFS_open -- --fmodstudio --package --chan MyViewer -DLL_TESTS:BOOL=FALSE`
+
+- To build a 64bit viewer without FMOD Studio and without installer package, run this command:
+`autobuild configure -A 64 -c ReleaseFS_open -- --chan MyViewer -DLL_TESTS:BOOL=FALSE`
+
+## Building the viewer
+
+There are two ways to build the viewer: Via Windows command line or from within Visual Studio.
+
+### Building from the Windows command line
+
+If you are building with FMOD Studio and have followed the previous FMOD Studio setup instructions AND you are now using a new terminal you will need to reset the environment variable with
+
+`set AUTOBUILD_CONFIG_FILE=my_autobuild.xml`
+
+Then run the Autobuild build command. Make sure you include the same architecture parameter you used while [configuring the viewer](#configuring-the-viewer):
+
+`autobuild build -A 64 -c ReleaseFS_open --no-configure`
+
+Compiling will take quite a bit of time.
+
+### Building from within Visual Studio
+
+Inside the Firestorm source folder, you will find a folder named build-vc170-\, with \ either being 32 or 64, depending on what you chose during the configuration step. Inside the folder is the Visual Studio solution file for Firestorm, called Firestorm.sln.
+
+- Double-click Firestorm.sln to open the Firestorm solution in Visual Studio.
+- From the menu, choose Build -> Build Solution
+- Wait until the build is finished
+
+## Troubleshooting
+
+### SystemRootsystem32: unbound variable
+
+When trying to execute the Autobuild build command, you might encounter an error similar to
+
+`../build.cmd.sh line 200: SystemRootsystem32: unbound variable`
+
+This error is caused by the order of the items in the Windows "path" environment variable. Autobuild exports all paths set in the "path" environment variable into Cygpath names and variables. Since these Windows "paths" can also contain variables like %SystemRoot% and they can also depend on each other, it is important to keep the dependency order intact. Example:
+
+```
+%SystemRoot%
+%SystemRoot%\system32
+%SystemRoot%\System32\Wbem
+```
+
+Make sure the ones mentioned are the first items set in the "path" environment variable.
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 7184e7e40f..24a5253e60 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -13624,7 +13624,7 @@ Change of this parameter will affect the layout of buttons in notification toast
RenderReflectionsEnabled