AWS gameliftstreams documentation change
Summary
Updated Proton installation instructions with detailed setup script, version references, and support contact changes
Security assessment
Changes focus on procedural updates for Proton installation (adding script details, version updates, support channel changes). No evidence of addressing vulnerabilities or security features. Script installs standard dependencies without security-specific configurations.
Diff
diff --git a/gameliftstreams/latest/developerguide/troubleshoot-compatibility-wp-proton.md b/gameliftstreams/latest/developerguide/troubleshoot-compatibility-wp-proton.md index 030723c8f..f7ec388ce 100644 --- a//gameliftstreams/latest/developerguide/troubleshoot-compatibility-wp-proton.md +++ b//gameliftstreams/latest/developerguide/troubleshoot-compatibility-wp-proton.md @@ -13,3 +13 @@ In this step, you will set up Proton on your own machine, so you can troubleshoo - * Ubuntu 22.04. For instructions, refer to [Set up a local machine](./troubleshoot-compatibility-setup-local.html) or [Set up a remote machine](./troubleshoot-compatibility-setup-remote.html). - - * Proton setup script. _(TODO: include script in dev guide)_ Download **Proton setup** from the [Getting Started product page](https://aws.amazon.com/gamelift/streams/getting-started/). + * Ubuntu 22.04 LTS. For instructions, refer to [Set up a local machine](./troubleshoot-compatibility-setup-local.html) or [Set up a remote machine](./troubleshoot-compatibility-setup-remote.html). @@ -22,3 +20,57 @@ In this step, you will set up Proton on your own machine, so you can troubleshoo -The `proton-setup.sh` script installs Proton and additional dependencies. It accepts as an argument the branch name for the [Proton version](https://github.com/ValveSoftware/Proton/releases) you want to install. You can use either the Proton versions that are built into Amazon GameLift Streams or another custom version. To simulate how your application will run in Amazon GameLift Streams, choose the version that corresponds to the runtime environment you intend to use. - -**To install Proton** +To install Proton on your Ubuntu 22.04 LTS machine, use the following script to clone, build, and configure the version of Proton you want to test from the [Proton GitHub repository](https://github.com/ValveSoftware/Proton/). + + 1. Copy and paste the following code into a file called `proton-setup.sh` on your Ubuntu 22.04 LTS machine. + + #!/bin/bash + # This is a script to build Proton. The default build is a tag from the + # experimental_8.0 branch of Proton, but can be changed as a parameter to this script. + # + # Usage: ./proton-setup.sh [optional proton_branch_name {default: experimental-8.0-20240205}] + set -e + + sudo apt install -y podman make git + + # clone proton from github, recurse submodules + # if no proton git link is supplied, use a default tag from the experimental_8.0 branch + PROTON_BRANCH=${1:-"experimental-8.0-20240205"} + PROTON_BUILD_DIR=protonBuild + PROTON_DIR=$(pwd)/proton + if git clone https://github.com/ValveSoftware/Proton.git --recurse-submodules --branch $PROTON_BRANCH proton; + then + echo "Successfully cloned Proton and its submodules." + else + echo "Warning: a proton directory/repository already exists. It is recommended to delete this folder and re-run this script unless it is a valid repository with initialized submodules." + fi + + if [ -d $PROTON_BUILD_DIR ]; + then + echo "Error: protonBuild directory already exists. Delete this folder first to create a fresh build of Proton before re-running this script." + exit 1 + fi + mkdir $PROTON_BUILD_DIR + cd $PROTON_BUILD_DIR + $PROTON_DIR/configure.sh --enable-ccache --container-engine=podman + + # build proton + echo "Building Proton" + make + echo "Done building Proton!" + + # prepare proton for execution + cd dist + mkdir compatdata + if [ -e ./dist ]; then + PROTON_FILES=dist + elif [ -e ./files ]; then + PROTON_FILES=files + fi + cp version $PROTON_FILES/ + echo "Finished installing proton. Proton binary location: $(pwd)/proton" + echo "STEAM_COMPAT_DATA_PATH: $(pwd)/compatdata" + echo "STEAM_COMPAT_CLIENT_INSTALL_PATH: anything" + + 2. In this step you will run the Proton setup script to clone and install Proton and additional dependencies. The script accepts as an argument the tag or branch name for the Proton version you want to install. To simulate one of the custom builds of Proton that Amazon GameLift Streams provides, use the instructions for that version, below. + +###### Note + +Expect the cloning from GitHub to take some time. There are many submodules to download, totalling several GB. @@ -30 +82 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio - * For Proton 8.0-2c (`PROTON-20230704`), use the [proton-8.0-2c](https://github.com/ValveSoftware/Proton/releases/tag/proton-8.0-2c) branch. + * For Proton 8.0-5 (`PROTON-20241007`), use [experimental-8.0-20240205](https://github.com/ValveSoftware/Proton/tree/experimental-8.0-20240205). @@ -32 +84 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio - proton-setup.sh proton-8.0-2c + proton-setup.sh experimental-8.0-20240205 @@ -34 +86 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio - * For Proton Proton 8.0-5 (`PROTON-20241007`), use the [proton-8.0-5](https://github.com/ValveSoftware/Proton/releases/tag/proton-8.0-5) branch. +Typically, no additional source code is needed. However, if you run into problems with Electra Media Player, (an Unreal Engine plugin) we recommend using the fixes found in [https://github.com/ValveSoftware/wine/pull/257](https://github.com/ValveSoftware/wine/pull/257). @@ -36 +88 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio - proton-setup.sh proton-8.0-5 +###### Note @@ -37,0 +90 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio +For Proton 8.0-2c (`PROTON-20230704`), Amazon GameLift Streams uses a proprietary build, which is not available to buld locally. @@ -38,0 +92 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio + * **Recommended custom Proton version** @@ -39,0 +94 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio +For a custom Proton version, we recommend using the Proton experimental_8.0 branch. @@ -41 +96,3 @@ In your terminal, run the `proton-setup.sh` script and specify the Proton versio -If your installation is successful, the output in your terminal should be similar to the following: + proton-setup.sh experimental_8.0 + + * **Other custom Proton versions** @@ -42,0 +100,5 @@ If your installation is successful, the output in your terminal should be simila +For other Proton versions, use an exact branch or tag name listed in [Proton releases](https://github.com/ValveSoftware/Proton/releases). + + proton-setup.sh branch-or-tag-name + +If your installation is successful, the output in your terminal should be similar to the following: @@ -50 +112 @@ If your installation is successful, the output in your terminal should be simila -Take note of the following variables from the output because you need them to run Proton in the next step: +Take note of the following variables from the output because you will need them to run Proton in the next step: @@ -87 +149 @@ To dump the log output into a text file, such as `proton.log`, use the following -Proton also indicates if the issue is due to a Wine plugin, unimplemented function, missing dlls, and so on. For more information, see [Wine HQ's Debugging Wine](https://wiki.winehq.org/Wine_Developers_Guide/Debugging_Wine) guide. If you find a Proton or Wine error in the logs that you can't fix on the application side, reach out to [Amazon GameLift Streams support](mailto:[email protected]) for further debugging. +Proton also indicates if the issue is due to a Wine plugin, unimplemented function, missing dlls, and so on. For more information, see [Wine HQ's Debugging Wine](https://wiki.winehq.org/Wine_Developers_Guide/Debugging_Wine) guide. If you find a Proton or Wine error in the logs that you can't fix on the application side, reach out to your AWS Account Manager or post a question in [AWS re:Post](https://repost.aws/tags/TAOU7EpUOuTQSSWmIHCfb2fQ/amazon-gamelift-streams) for help with further debugging.