

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Fehlerbehebung bei der Kompatibilität mit Proton
<a name="troubleshoot-compatibility-wp-proton"></a>

 In diesem Schritt richten Sie Proton auf Ihrem eigenen Computer ein, damit Sie Kompatibilitätsprobleme zwischen Ihrer Amazon GameLift Streams-Anwendung und Proton beheben können. Wenn Sie Ihre Anwendung in einer simulierten Umgebung ohne den Amazon GameLift Streams-Server ausführen, können Sie Probleme identifizieren, die für Ihre Anwendung und Laufzeitumgebung spezifisch sind. 

## Voraussetzungen
<a name="troubleshoot-compatibility-wp-proton-prereq"></a>
+  Ubuntu 22.04 LTS mit installierten GPU-Treibern. Anweisungen finden Sie unter oder. [Richten Sie einen lokalen Computer ein](troubleshoot-compatibility-setup-local.md) [Richten Sie einen Remote-Computer ein](troubleshoot-compatibility-setup-remote.md) 

## Installieren Sie Proton
<a name="troubleshoot-compatibility-wp-proton-install"></a>

[Um Proton auf Ihrem Ubuntu 22.04 LTS-Computer zu installieren, verwenden Sie das folgende Skript, um die Version von Proton, die Sie testen möchten, aus dem Proton-Repository zu klonen, zu erstellen und zu konfigurieren. GitHub ](https://github.com/ValveSoftware/Proton/)

1. Kopieren Sie den folgenden Code und fügen Sie ihn in eine Datei mit dem Namen `proton-setup.sh` auf Ihrem Ubuntu 22.04 LTS-Computer ein.

   ```
   #!/bin/bash
   # This is a script to build Proton. The default build is a tag from the 
   # experimental_9.0 branch of Proton, but can be changed as a parameter to this script.
   #
   # Usage: ./proton-setup.sh [optional proton_branch_name {default: experimental-9.0-20241121b}]
   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-9.0-20241121b"}
   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"
   ```

1. In diesem Schritt führen Sie das Proton-Setup-Skript aus, um Proton und weitere Abhängigkeiten zu klonen und zu installieren. Das Skript akzeptiert als Argument den Tag- oder Branchnamen für die Proton-Version, die Sie installieren möchten. Verwenden Sie die nachstehenden Anweisungen für diese Version, um eine der von Amazon GameLift Streams bereitgestellten benutzerdefinierten Builds von Proton zu simulieren.
**Anmerkung**  
 Rechnen Sie damit, dass das Klonen von einige Zeit GitHub in Anspruch nehmen wird. Es gibt viele Submodule zum Herunterladen, insgesamt mehrere Gigabyte.

    Führen Sie in Ihrem Terminal das `proton-setup.sh` Skript aus und geben Sie den Proton-Versionszweig an: 
   +  **Integrierte Proton-Versionen** 
     + [Verwenden Sie für Proton 9.0-2 (`PROTON-20250516`) experimental-9.0-20241121b.](https://github.com/ValveSoftware/Proton/tree/experimental-9.0-20241121b)

       ```
       proton-setup.sh experimental-9.0-20241121b
       ```
     + [Verwenden Sie für Proton 8.0-5 (`PROTON-20241007`) experimental-8.0-20240205.](https://github.com/ValveSoftware/Proton/tree/experimental-8.0-20240205)

       ```
       proton-setup.sh experimental-8.0-20240205
       ```

       In der Regel wird kein zusätzlicher Quellcode benötigt. [Wenn Sie jedoch Probleme mit Electra Media Player (einem Unreal Engine-Plugin) haben, empfehlen wir, die in https://github.com/ValveSoftware/ wine/pull/257 enthaltenen Korrekturen zu verwenden.](https://github.com/ValveSoftware/wine/pull/257)
**Anmerkung**  
 Für Proton 8.0-2c (`PROTON-20230704`) verwendet Amazon GameLift Streams einen proprietären Build, der nicht lokal erstellt werden kann. 
   +  **Empfohlene benutzerdefinierte Proton-Version** 

      Für eine benutzerdefinierte Proton-Version empfehlen wir die Verwendung des Proton experimental\$18.0-Zweigs. 

     ```
     proton-setup.sh experimental_8.0
     ```
   +  **Andere benutzerdefinierte Proton-Versionen** 

      Verwenden Sie für andere Proton-Versionen einen exakten Zweig- oder Tagnamen, der in [Proton-Versionen](https://github.com/ValveSoftware/Proton/releases) aufgeführt ist. 

     ```
     proton-setup.sh branch-or-tag-name
     ```

    Wenn Ihre Installation erfolgreich ist, sollte die Ausgabe in Ihrem Terminal der folgenden ähneln: 

   ```
   ...
   Done building Proton!
   Finished preparing proton. Proton binary location: /home/test/protonBuild/dist/proton
   STEAM_COMPAT_DATA_PATH: /home/test/protonBuild/dist/compatdata
   STEAM_COMPAT_CLIENT_INSTALL_PATH: anything
   ```

    Notieren Sie sich die folgenden Variablen aus der Ausgabe, da Sie sie benötigen, um Proton im nächsten Schritt auszuführen: 
   + Binärlokation von Proton
   + `STEAM_COMPAT_DATA_PATH`
   + `STEAM_COMPAT_CLIENT_INSTALL_PATH`

## Führen Sie Ihre Anwendung auf Proton aus
<a name="troubleshoot-compatibility-wp-proton-run"></a>

 Bei den folgenden Schritten wird davon ausgegangen, dass sich die ausführbare Anwendung in `path/myapplication/bin/application.exe` befindet. Ersetzen Sie es durch den Pfad und den Dateinamen für Ihre Anwendung. 
+ Navigieren Sie in einem Terminal zu dem Ordner, in dem sich die ausführbare Datei Ihrer Anwendung befindet.

  ```
  cd path/myapplication/bin/application.exe
  ```
+ Führen Sie Ihre Anwendung auf Proton aus. Verwenden Sie den Proton-Binärspeicherort und die Umgebungsvariablen, die Sie im vorherigen Schritt erhalten haben.

  ```
  STEAM_COMPAT_DATA_PATH=/home/test/protonBuild/dist/compatdata STEAM_COMPAT_CLIENT_INSTALL_PATH=anything /home/test/protonBuild/dist/proton run application.exe
  ```

 Die Anwendung sollte jetzt versuchen zu starten. Wenn die Anwendung lokal, aber nicht in Amazon GameLift Streams gestartet wird, kann dies an einem Konfigurationsproblem beim Aufrufen von Amazon GameLift Streams liegen APIs. Stellen Sie sicher, dass die API-Aufrufparameter korrekt sind. Fahren Sie andernfalls mit dem nächsten Schritt zum Debuggen fort. 

## Debuggen Sie die Anwendung mithilfe von Protokolldateien
<a name="troubleshoot-compatibility-wp-proton-debug-logs"></a>

 Wenn Ihre Anwendung Probleme beim Ausführen in der lokalen Proton-Umgebung hat, überprüfen Sie das Ausgabeprotokoll. Das Protokoll enthält Ausgaben aus Ihrer Anwendung und Laufzeitumgebung. Verfolgen Sie, wo Ihre Anwendung Probleme auf der Anwendungsseite nicht erkennt. 

 Verwenden Sie den folgenden Befehl, um die Protokollausgabe in eine Textdatei zu `proton.log` speichern, z. B.: 

```
STEAM_COMPAT_DATA_PATH=/home/test/protonBuild/dist/compatdata STEAM_COMPAT_CLIENT_INSTALL_PATH=anything /home/test/protonBuild/dist/proton run application.exe &>proton.log
```

 Proton gibt auch an, ob das Problem auf ein Wine-Plugin, eine nicht implementierte Funktion, fehlende DLLs usw. zurückzuführen ist. Weitere Informationen finden Sie im Wine-Debugging-Handbuch [von Wine HQ](https://wiki.winehq.org/Wine_Developers_Guide/Debugging_Wine). Wenn Sie in den Protokollen einen Proton- oder Wine-Fehler finden, den Sie auf der Anwendungsseite nicht beheben können, wenden Sie sich an Ihren AWS Account Manager oder stellen Sie eine Frage in [AWS re:POST](https://repost.aws/tags/TAOU7EpUOuTQSSWmIHCfb2fQ/amazon-gamelift-streams), um Hilfe beim weiteren Debuggen zu erhalten. 