Jogos aleatórios de origem param de funcionar após a atualização do kernel

0

Eu sou um noob do Xubuntu (e Linux) por 2 meses, e eu tenho confiado no meu irmão que é um usuário fluente do Linux.
Eu baixei e instalei a última atualização do kernel, linux-image-3.16.0-41-generic , e todas as outras coisas que ela precisava. Então, depois disso, alguns dos meus jogos Source param de funcionar com optirun . Os únicos jogos que tenho nesse trabalho são "Double Action: Boogaloo" e "Counter-Strike: Source".

Nota: Eu tenho todos os jogos Counter-Strike (sans Nexus), GMod e Portal 2.

Erro do CS: GO

~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive$ optirun ./csgo_linux 
./csgo_linux: error while loading shared libraries: libtcmalloc_minimal.so.4: cannot open shared object file: No such file or directory

Erro do GMod

~/.local/share/Steam/steamapps/common/GarrysMod$ optirun ./hl2_linux
AppFramework : Unable to load module /home/USERNAME/.local/share/Steam/steamapps/common/GarrysMod/bin/filesystem_stdio.so!

O Portal 2 lança o mesmo erro que o CS: GO.

Eu tenho bumblebee e nvidia-349 instalado (e todas as dependências). Eu instalei drivers NVidia via este método , e instalou as bibliotecas de 32 bits através deste este método. Por favor ajude!

EDIT: Isso também acontece sem optirun (com gráficos integrados da Intel).

UPDATE: Eu corri steam no console (não os jogos em si) e, em seguida, executei os jogos. Eu vi na maioria dos logs isso:

ERROR: ld.so: object '/home/pistol/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/pistol/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    
por PistolRcks 18.06.2015 / 17:31

2 respostas

1

EDITAR :

A correção real

Todo o crédito vai para Henrik Johansson, que fez um ótimo guia aqui. Vou lhe dizer o que fazer em resumo.

Para jogos da Valve, acesse o executável em seu editor favorito e pesquise

 ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

e substitua por

primusrun ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

(ou optirun , sua escolha)

Isso parece afetar todos os jogos que utilizam um executável .sh . Outros jogos podem ser corrigidos de maneira semelhante.

Minha Explicação

O problema está em como o Steam executa comandos. Este é um problema com o qual recentemente conectei os pontos e agora sei a resposta. Parece que o problema ld.so lida com os drivers da Intel (ou é o que eu acho). O Steam não consegue executar optirun / primusrun corretamente (ou talvez em todos os ) e, portanto, usa os drivers da Intel, o que não funciona.

O que está abaixo não é mais aplicável, pois xorg-edgers agora é graphics-drivers .

Não escute o que está abaixo disso, por favor.

Após várias tentativas de pesquisa na Internet e após MUITO tentativa e erro, posso concluir com segurança que o principal problema é o PPA xorg-edgers . Se você tiver problemas semelhantes, remova os drivers que tiver de xorg-edgers e, em seguida, ppa-purge .

Se você não sabe como fazer isso, então veja como.

Instale ppa-purge por ...

sudo apt-get install ppa-purge

Remova o xorg-edgers com ...

sudo ppa-purge ppa:xorg-edgers/ppa

E finalmente ...

sudo apt-get update
    
por PistolRcks 23.06.2015 / 00:23
0

No primeiro caso, o jogo reclama da falta da biblioteca libtcmalloc_minimal.so.4 . Provavelmente, o Steam ou o jogo tem sua versão desta lib dentro do diretório. De qualquer forma, você pode tentar instalá-lo no repositório do Ubuntu. Eu não sei se ele usa a versão de 32 bits ou 64 bits, mas você pode tentar:

Para a versão de 64 bits

sudo apt-get install libtcmalloc-minimal

ou a versão de 32 bits

sudo apt-get install libtcmalloc-minimal4:i386 

No segundo caso, ele reclama que, por algum motivo, ele não pode carregar o arquivo filesystem_stdio.so dentro da instalação de vapor. Você pode tentar reinstalar o vapor.

    
por Danilo de Andrade Mendes 18.06.2015 / 17:49