

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solucionar problemas de compatibilidade no Proton
<a name="troubleshoot-compatibility-wp-proton"></a>

 Nesta etapa, você configurará o Proton em sua própria máquina, para que possa solucionar problemas de compatibilidade entre seu GameLift aplicativo Amazon Streams e o Proton. Executar seu aplicativo em um ambiente simulado sem o servidor Amazon GameLift Streams pode ajudá-lo a identificar problemas específicos do seu aplicativo e do ambiente de execução. 

## Pré-requisitos
<a name="troubleshoot-compatibility-wp-proton-prereq"></a>
+  Ubuntu 22.04 LTS com drivers de GPU instalados. Para obter instruções, consulte [Configurar uma máquina local](troubleshoot-compatibility-setup-local.md) ou[Configurar uma máquina remota](troubleshoot-compatibility-setup-remote.md). 

## Instale o Proton
<a name="troubleshoot-compatibility-wp-proton-install"></a>

[Para instalar o Proton em sua máquina Ubuntu 22.04 LTS, use o script a seguir para clonar, criar e configurar a versão do Proton que você deseja testar no repositório do Proton. GitHub ](https://github.com/ValveSoftware/Proton/)

1. Copie e cole o código a seguir em um arquivo chamado `proton-setup.sh` na sua máquina Ubuntu 22.04 LTS.

   ```
   #!/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. Nesta etapa, você executará o script de configuração do Proton para clonar e instalar o Proton e dependências adicionais. O script aceita como argumento o nome da tag ou ramificação da versão do Proton que você deseja instalar. Para simular uma das versões personalizadas do Proton fornecidas pelo GameLift Amazon Streams, use as instruções dessa versão abaixo.
**nota**  
 Espere que a clonagem leve algum tempo. GitHub Há muitos submódulos para baixar, totalizando vários gigabytes.

    Em seu terminal, execute o `proton-setup.sh` script e especifique a ramificação da versão do Proton: 
   +  **Versões integradas do Proton** 
     + [Para Proton 9.0-2 (`PROTON-20250516`), use experimental-9.0-20241121b.](https://github.com/ValveSoftware/Proton/tree/experimental-9.0-20241121b)

       ```
       proton-setup.sh experimental-9.0-20241121b
       ```
     + [Para Proton 8.0-5 (`PROTON-20241007`), use experimental-8.0-20240205.](https://github.com/ValveSoftware/Proton/tree/experimental-8.0-20240205)

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

       Normalmente, nenhum código-fonte adicional é necessário. [No entanto, se você tiver problemas com o Electra Media Player (um plug-in do Unreal Engine), recomendamos usar as correções encontradas em https://github.com/ValveSoftware/ wine/pull/257.](https://github.com/ValveSoftware/wine/pull/257)
**nota**  
 Para o Proton 8.0-2c ()`PROTON-20230704`, o Amazon GameLift Streams usa uma compilação proprietária, que não está disponível para criação local. 
   +  **Versão personalizada recomendada do Proton** 

      Para uma versão personalizada do Proton, recomendamos usar a ramificação Proton experimental\$18.0. 

     ```
     proton-setup.sh experimental_8.0
     ```
   +  **Outras versões personalizadas do Proton** 

      [Para outras versões do Proton, use um nome exato de ramificação ou tag listado nas versões do Proton.](https://github.com/ValveSoftware/Proton/releases) 

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

    Se a instalação for bem-sucedida, a saída em seu terminal deverá ser semelhante à seguinte: 

   ```
   ...
   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
   ```

    Anote as seguintes variáveis da saída porque você precisará delas para executar o Proton na próxima etapa: 
   + Localização binária do Proton
   + `STEAM_COMPAT_DATA_PATH`
   + `STEAM_COMPAT_CLIENT_INSTALL_PATH`

## Execute seu aplicativo no Proton
<a name="troubleshoot-compatibility-wp-proton-run"></a>

 As etapas a seguir pressupõem que o executável do aplicativo esteja localizado em`path/myapplication/bin/application.exe`. Substitua-o pelo caminho e pelo nome do arquivo do seu aplicativo. 
+ Em um terminal, navegue até a pasta em que o executável do aplicativo está localizado.

  ```
  cd path/myapplication/bin/application.exe
  ```
+ Execute seu aplicativo no Proton. Use a localização binária do Proton e as variáveis de ambiente que você obteve na etapa anterior.

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

 O aplicativo agora deve tentar iniciar. Se o aplicativo for iniciado localmente, mas não no Amazon GameLift Streams, pode ser devido a um problema de configuração ao chamar o Amazon GameLift Streams APIs. Verifique se os parâmetros de chamada da API estão corretos. Caso contrário, vá para a próxima etapa de depuração. 

## Depurar o aplicativo por meio de arquivos de log
<a name="troubleshoot-compatibility-wp-proton-debug-logs"></a>

 Se seu aplicativo tiver problemas de execução no ambiente local do Proton, verifique o registro de saída. O log contém a saída do seu aplicativo e do ambiente de execução. Rastreie onde seu aplicativo não consegue descobrir problemas no lado do aplicativo. 

 Para despejar a saída do log em um arquivo de texto, como`proton.log`, use o seguinte comando: 

```
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
```

 O Proton também indica se o problema é devido a um plug-in do Wine, função não implementada, dlls ausentes e assim por diante. Para obter mais informações, consulte o guia [Debugging Wine do Wine HQ](https://wiki.winehq.org/Wine_Developers_Guide/Debugging_Wine). Se você encontrar um erro do Proton ou do Wine nos registros que não consegue corrigir no lado do aplicativo, entre em contato com seu gerente de AWS conta ou publique uma pergunta no [AWS re:POST](https://repost.aws/tags/TAOU7EpUOuTQSSWmIHCfb2fQ/amazon-gamelift-streams) para obter ajuda com a depuração adicional. 