Jogos nativo Steam não abrem no Ubuntu 22.04/23.04

Saudações, queridos.

Aproveitando o lançamento da versão 23.04, resolvi trocar o Pop!_OS pelo Ubuntu.
Fiz alguns ajustes no pós instalação pra ficar de acordo com o que eu curto. Basicamente, removi todos os snaps e instalei a Gnome Software, o restante é somente perfumaria.

Indo direto ao ponto, fiz a instalação da Steam usando o .deb disponibilizado direto do site. A instalação ocorre normal. Só que, ao clicar no jogo, a Steam executa sincronização e… mais nada. Opção de “Jogar” volta a ficar disponível. Os jogos simplesmente não abrem.

Segue uma lista de testes que já fiz.
Instalação limpa Ubuntu 23.04 - Secure Boot Habilitado
Instalação limpa Ubuntu 22.04 LTS - Secure Boot Habilitado
Instalação limpa Ubuntu 23.04 - Secure Boot Desabilitado
Instalação limpa Ubuntu 22.04 LTS - Secure Boot Desabilitado

Instalação da Steam via apt e Flatpack e nada. Curiosamente no formato Snap, funciona. Mas não é o que eu quero.

Já habilitei a arquitetura i386 e tbm adicionei o repositório universal.

Jogos instalados via Lutris funcionam normalmente.
Jogos instalados via Heroic Games Launcher funcionam normalmente.

Testei instalção dos em partições NTFS e EXT4, deu em nada.

To começando a achar que a Cononical ta empurrando guela abaixo o uso dos Snaps em detrimento dos outros formatos.

Se alguém puder me dar uma luz, eu agradeço.

Edit1. Os jogos em questão são os da franquia Tomb Raider, que tem suporte nativo. Testado com e sem o Proton. Testei Far Cry, Uncharted e GOW, mesmo resultado.
GTA5, por exemplo, instalado via Heroic roda normal.

Olá! Seja bem-vindo(a) ao Diolinux Plus. :slight_smile:

Primeiramente, é importante ressaltar que baixar o arquivo .deb no site não é recomendado. O ideal é instalar por meio dos repositórios ou Flatpak, em qualquer distro, para evitar conflitos de dependências.

Você está usando o Ryzen 7 5700 e a RTX 3060Ti descritos no seu perfil? Qual versão do driver da Nvidia está instalada? Foi instalada automaticamente pelo sistema?

Vi que você fez testes em partições NTFS e EXT4. Atualmente, os jogos estão todos em uma partição EXT4?

Então, eu tenho o 1 e 2. O Rise of Tomb Raider por aqui funcionou normalmente, instalei e joguei.

Tomb Raider

Já o Tomb Raider não estava abrindo pois deu problemas de dependências. O lance é que o binário do jogo não estava se “conversando” com as libs dentro da pasta do próprio jogo, o que não fazia sentido pois elas estavam lá.

Pra saber que esse era problema eu executei a Steam num terminal, pois daí é mostrado o que rola “debaixo dos panos”.

Eu procurei bastante por alguma solução na internet, mas não encontrei, e até comecei a escrever um e-mail pra Feral pedindo suporte, mas foi aí que tive um insight.

A Steam que estou usando é na versão runtime, que é mais comum e é provavelmente a mesma do arquivo .DEB. Daí todas as bibliotecas que a Steam usa para rodar os jogos ficam em ~/.local/share/Steam/ubuntu12_32/ e ~/.local/share/Steam/ubuntu12_64/.

Nisso, as bibliotecas que o Tomb Raider são de 32 bits como se pode em ver ~/.local/share/Steam/steamapps/common/Tomb Raider/lib/, basta ver que há apenas uma pasta chamada i686. Ou seja, bastou copiar essas libs para ~/.local/share/Steam/ubuntu12_32/, mas, é claro, tomando todo cuidado para não sobrescrever alguma lib com o mesmo nome, pois podem ser de versões diferentes, e aí só fazer backup. E mais, algumas libs precisei colocar numa subpasta que é ~/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/.

Depois de alguns testes resolvendo as dependências e descobrindo onde colocá-las, o jogo abriu.

Particionamento, instalação e permissões

Então, os jogos não funcionarem em EXT4 é bizarro. Recentemente, eu tive uma baita dor de cabeça ao tentar instalar (apenas) os jogos de Windows num HD externo, pois minha ideia é compartilhar a instalação em ambos sistemas, Windows e Linux.

Eu quebrei cabeça durante 1 mês tendo que baixar e rebaixar mais de 300GB toda vez por vários probleminhas que aconteciam e que especifiquei no post.

Meu jogos nativos de Linux instalei no meu sistema, tipo, na partição / (não uso /home) formatada em Btrfs, pois não dá muito certo colocá-los no HD externo e abrir no Windows, pois assim que abro a Steam lá, começa a baixar e mudar pra versão de Windows.

E os jogos que são apenas de Windows, como eu queria, coloquei no HD externo numa partição NTFS, e por enquanto está funcionando tudo certo, mas não me surpreenderia se tudo começasse a dar problemas de novo e se corrompessem, pois, esses dias eu criei outras pastas sem ser a da Steam para guardar filmes, séries e jogos de emulação, e tudo bugou assim que entrei no Windows, então, fui lá eu de novo formatar e baixar tudo de novo, e agora deixe apenas os jogos da Steam.

Isso acontece porque o suporte a NTFS no Linux não é 100%, já que o NTFS é de código fechado e pertence a Microsoft, então a galera que desenvolve o driver para Linux faz o que pode.

Eu tentei utilizar exFAT, que aí tem bom suporte em ambos sistemas, mas os prefixos dos jogos de Windows que são executados no Linux ficam salvos no próprio HD e rola de criar links simbólicos, e o exFAT não permite links simbólicos, por isso tem que ser NTFS.

Mas, para filmes, séries, jogos de emulação, etc., eu pude colocar numa partição exFAT, pois não aí usaria links simbólicos, nisso, criei tenho 2 partições agora:

Caso dê problema de novo com o NTFS, eu pretendo usar EXT4, pois existe um driver que permite acessar tal partição no Windows e que gostaria de testar pois vai que resolve… já estou cansado de tantos erros :triumph:

Enfim, abra a Steam num terminal e algum jogo e veja o que acontece!

Boa tarde @KairanD.

Repondendo sua pergunta.

Graphics:
  Device-1: NVIDIA GA104 [GeForce RTX 3060 Ti Lite Hash Rate] driver: nvidia
    v: 535.54.03
  Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.8 driver: X:
    loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa
    gpu: nvidia,nvidia-nvswitch resolution: 3840x2160~60Hz
  API: OpenGL v: 4.6.0 NVIDIA 535.54.03 renderer: NVIDIA GeForce RTX 3060
    Ti/PCIe/SSE2

E sim, os drivers foram instalados automaticamente.

Atualmente os jogos estão em uma partição EXT4.

Boa tarde, @kevinlucasilva.

Executei a steam pelo terminal e o seguinte trecho me chamou atenção.

chdir "/mnt/JogosLinux/SteamLibrary/steamapps/common/Tomb Raider"
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Could not connect to X session manager: None of the authentication protocols specified are supported
pid 10072 != 10071, skipping destruction (fork without exec?)
Could not connect to X session manager: None of the authentication protocols specified are supported
pid 10073 != 10071, skipping destruction (fork without exec?)
Could not connect to X session manager: None of the authentication protocols specified are supported
pid 10074 != 10071, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 10075 != 10071, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/dkn2lht/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 203160, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""

Tem este também, que ocorre quando executo a Steam:

(steam:9610): GLib-GObject-CRITICAL **: 14:27:14.024: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

Aparentemente, está faltando a lib libicui18n.so.51. Vou dar uma pesquisada na net sobre esta lib e verificar os diretórios que você recomendou.
Qualquer novidade eu aviso.

Então, esse log não me parece completo, tipo, você colocou só uma parte. Abra de novo a Steam e abre o Tomb Raider e um jogo qualquer de Windows, e daí seleciona tudo, copia e joga aqui, por favor.

Essa lib já existe disponível, aliás, todas estão em ~/.local/share/Steam/steamapps/common/Tomb Raider/lib/i686/ e que jogo precisa pra rodar:

Por algum motivo, o executável não as reconhece e por isso fica informando que estão faltando.

Basta copiá-las com cuidado para ~/.local/share/Steam/ubuntu12_32/ (se houver alguma com mesmo nome na pasta, faça backup). Tipo, copie-as para pasta e vai tentando abrir o jogo, se não abrir é porque ainda não sanou as dependências (no terminal irá dizer), e também pode ser que uma ou outra precise ser colocada em ~/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/.

Enfim, eu tive o mesmo problema com esse jogo, infelizmente é desse jeito mesmo, não era assim.

Abençoado seja!! RESOLVEU.

Copiei as libs que estavam em /mnt/JogosLinux/SteamLibrary/steamapps/common/Tomb Raider/lib/i686/ e as coloquei em ~/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/. Exatamente conforme me orientou.

Após isso executei o jogo novamente e recebi o erro:

~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /mnt/JogosLinux/SteamLibrary/steamapps/common/Tomb Raider/bin/TombRaider)

Fiz a instalação do pacote libcurl4:i386 e copiei a lib libcurl.so.4 do diretório /mnt/JogosLinux/SteamLibrary/steamapps/common/Tomb Raider/lib/i686/ para ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/

O jogo abriu, finalmente. Vou testar os outro jogos, qualquer coisa aviso aqui.

Obrigado pelo apoio @kevinlucasilva e @KairanD

Que bom, cara! Como te falei, eu tive o mesmíssimo problema recentemente e tive esse gatilho e consegui solucionar.

Show, agora testa os jogos de Windows, pois provavelmente está dando o erro com o Wine que comentei no meu post, já que a partição precisa ser montada com o seu usuário sendo considerado o “dono”.

Este tópico foi fechado automaticamente. Novas respostas não são mais permitidas.