Vraag Probleem met het installeren van Steam op Ubuntu 15.04+


Eigenlijk heb ik de nieuwe Ubuntu 15.04 64bit geïnstalleerd, en wanneer ik Steam erop probeer te installeren, is er een probleem. In feite heb ik het deb-pakket gedownload van steamwebsite, het geïnstalleerd en als ik begin, gebeurt er niets. Ik heb geprobeerd het vanaf de terminal te starten en wat ik heb

$ steam
Running Steam on ubuntu 15.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0_client)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

102
2018-04-26 18:14


oorsprong


Gebruik je toevallig een amd-architectuur?
Ik heb deze fout op een AMD-systeem met radeon GPU maar ik ben nog steeds op 14.10 - ik heb de kernel wel in aptitude bijgewerkt, dus ik neem aan dat de fout hieruit voortkomt. Uit mijn updatelogboek dat ik heb linux-image-3.16.0-41-generic:amd64 (3.16.0-41.57, automatic) terwijl ik eerder gebruikte Linux 3.16.0-37-generic. - pbhj
Fix van bewegende libstdc ++. So.6 lijkt te werken. - pbhj
Je kunt ook de oplossing uitproberen zoals gepost in askubuntu.com/questions/635851/... dat ik denk dat meer elegant is. - Tahtisilma


antwoorden:


Dit was oorspronkelijk een probleem met Steam op Ubuntu 15.04 / 15.10. Stoom bundelt oude libs en botst met mesa-stuurprogramma's, dat is ook de reden waarom gesloten stuurprogramma's dit probleem niet zien. Update: het kan ook zijn dat u sommige dingen mist. Bekijk het antwoord van andere mchid.

Er is een open een bug in Steam's github.

De huidige oplossing is om de oude lib-versie te verwijderen, in elk geval totdat de klep het probleem in hun opstartscript corrigeert of iets dergelijks.

Dus voer deze mappen in en doe dit (negeer de x86_64 als je alleen een 32bit-systeem hebt):

cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

Als je een probleem hebt met de bovenstaande directory, zou je dit moeten proberen:

Sommige mensen hebben de .steam/steam/ubuntu12_32, anderen hebben alleen .steam/ubuntu12_32. Als u deze mappen niet hebt, zoekt u de juiste locatie door te controleren waar uw stoom naar het gebruikersprofiel zoekt:

$ fgrep config=  /usr/games/steam
config=$HOME/.steam

Gebruik dat om uw lib-locatie te vinden:

[config value] + /ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
   |
   \-> $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu

Het werkte voor mij ... maar houd er rekening mee dat als een game deze oude lib uit de stoomlooptijd zou halen, deze zou kunnen crashen (daarom moet de klep dit oplossen)

Bewerk 2015-08-22: 

Omdat Steam nu een link heeft in de $HOME/.steam/root die altijd naar de juiste Steam install-map verwijst, deze opdracht zou voor iedereen moeten werken en het eenvoudiger voor een snelle oplossing:

find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ -name "libstdc++.so.6" -exec mv "{}" "{}.bak" \; -print

Vergeet ook niet dat bij elke Steam Runtime-update dit waarschijnlijk moet worden uitgevoerd.

Wijzig 2016-02-16: 

Zie ook de mchid antwoord hieronder, gewoon doen:

sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386

is misschien genoeg om dit te repareren.

Bewerk 2016-10-23: 

Voor ubuntu 16.10 de opdracht is bijgewerkt om meer bestanden te verwijderen die mesa-stuurprogramma's onderbreken, dus deze nieuwe opdracht zou moeten werken:

find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ \( -name "libstdc++.so.6" -o -name "libgpg-error.so.0"  -o -name "libxcb.so.1" -o -name "libgcc_s.so.1" \) -exec mv "{}" "{}.bak" \; -print

Voor NVIDIA closed source drivers, zie Vincent's antwoord hieronder.

Edit 2017-01-08: 

Waarschijnlijk laatste bewerking, de nieuwste update van steam linux zou de meeste, zo niet alle problemen moeten oplossen! Tenslotte! : D

Bewerk 2017-08-03:

Helaas, terugkerende vakantie bleek dat sommige recente update opnieuw brak. Dus als je dit krijgt bij het starten, vlak na het downloaden van de update:

process 23148: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2688.

en dan stoom neerstorten, dan raak je deze  kever, gerapporteerd als niet-fataal, maar het stoot wel stoom op dezelfde distributies. workaround is dit:

ln -s ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3

succes


116
2018-04-26 19:22



Hallo, niet zeker of ik een eenzame zaak ben, maar ik heb net het .deb-pakket geïnstalleerd op mijn nieuwe 15.04-installatie en het werkt prima. Jammer genoeg kan ik de helft van de games niet spelen ... op een manier dat ik Unix ben. - thenaglecode
Dit is nog steeds gebroken in december? Wauw. KLEP ZUIGT. - Warren P
Al deze trucs werken niet in 16.10 - QkiZ
Ik verwijderde versie van Steam en installeerde versie van Ubuntu repo en werkt nu. - QkiZ
Gewoon een briefje, om 16.10 deed je commando het mij niet uit, die hier gevonden werd: askubuntu.com/a/775667 heeft gewerkt. - rjp


Fastfix (getest op Ubuntu 15.04)

mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1{,.disable}
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6{,.disable}

20
2018-05-01 17:41



Hmm dit zag eruit alsof het zou werken - het heeft zeker één foutmelding geplet, maar het zegt nog steeds dat het geen swrast kan laden - - - rm-vanda
U moet dit na elke stoomupdate opnieuw toepassen. - bebbo
nogmaals, dit lost het OP-foutbericht niet op - mchid
Ik had hetzelfde probleem als OP op Xenial 16.04 met dezelfde foutmelding, en dit werkte voor mij. Ik moest deze commando's een keer uitvoeren voordat ik Steam de eerste keer lanceerde, en vervolgens een tweede keer na de eerste update van Steam. - Maximillian Laumeister


Het volgende is van Fout bij het installeren van Steam op ubuntu 15.04 en is veruit het eenvoudigste antwoord op deze vraag (zoals hierboven opgemerkt door tahtisilma). Ik zou hieraan willen toevoegen dat als je de pijn wilt vermijden dat je elke keer de opdrachtterminal moet gebruiken, dan kun je het bureaubladbestand op je bureaublad bewerken door met de rechtermuisknop te klikken en eigenschappen te selecteren en dan de opdracht in het bureaubladbestand te vervangen door de als vervolg op:

sh -c "LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam"  

Verkorte versie:

Start stoom in de terminal met behulp van:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

in plaats van alleen stoom

Lange versie:

Steam kan nouveau_dri.so niet openen, de gedeelde bibliotheek die verantwoordelijk is voor communicatie met de grafische driver. Controleren of het stuurprogramma OpenGL-enabled run is:

DISPLAY=:0 glxinfo | grep -i direct

De uitvoer zou moeten zijn:

directe weergave: Ja Stomen in de debug-modus:

DISPLAY=:0 LIBGL_DEBUG=verbose steam

Geeft ons de uitvoer waar de volgende regels ons een hint geven:

libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/nouveau_dri.so
libGL: dlopen /usr/lib/i386-linux-gnu/dri/nouveau_dri.so failed     (/home/user/.local/share/Steam/ubuntu12_32/steam-   runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6: version `    GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-  gnu/dri/nouveau_dri.so))

Het lijkt erop dat stoom een ​​andere versie van libstdc ++ gebruikt. Laten we controleren welke versie stoom gebruikt:

ls -l ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6  

 lrwxrwxrwx 1 user user 19 Jul 18  2014  /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386- linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.18

Dus Steam laadde LibC6 met ABI-versie 18, waarbij de driver versie 20 verwacht. De oplossing is om OS te laten weten dat de juiste LibC6-versie vooraf moet worden geladen met LD_PRELOAD variabele:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

De enigszins niet-intuïtieve parameter $ LIB wordt in ld.so uitgebreid naar het juiste pad op basis van het platform van het proces dat wordt gestart (man 8 ld.so voor meer informatie).

U kunt een script maken met de volgende inhoud om het uit te voeren in plaats van steam:

#!/bin/bash
# Export so all child processes are affected as well
  export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
  export DISPLAY=:0
#export LIBGL_DEBUG=verbose
steam

Een beter script kan controleren of de globale LibC6-versie nieuwer is dan die in STEAM_RUNTIME en alleen dan LD_PRELOAD's.

Meer informatie is te vinden op hier. Merk op dat ik het op Debian heb getest en nu is het getest op Ubuntu 15.04 en werkt het prima.


17
2017-07-25 10:36



hoewel het bewerken van het bureaubladbestand zal werken, kan ik het bureaublad-bestand van het hoofdmenu (xubuntu) niet in .local / share / applications / steam.desktop krijgen om te werken, tenzij ik het menu-item maak met alacarte en dan de stoom van het bureaubladbestand verwijder .desktop in .local / share / applications / steam.desktop en vervolgens een koppeling naar het bureaubladbestand van .local / share / applicaties zoals: ln -s ~ / Desktop / steam.desktop ~ / .local / share / applications / steam .desktop - miller the gorilla
Ik had aanvankelijk de bestanden verplaatst, zoals sommige antwoorden hierboven suggereerden. Maar alleen met de export wees je erop dat ik stoom heb op mijn ubuntu 15.04. Hartelijk bedankt! : D - Rubens
Waar is de hel $LIB variabele wordt ingesteld? Veel mensen noemen het, en het is nergens gedefinieerd - Sergiy Kolodyazhnyy


Dit werkt prima voor mij onder Ubuntu 15.04 64bits met eigen driver NVIDIA-versie 346:

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-346/:/usr/lib/nvidia-346/" steam

8
2018-05-02 09:14



Een andere oplossing had eerder voor me gewerkt, maar ik moest mijn Nvidia-stuurprogramma's opnieuw installeren nadat ik mijn nouveau-stuurprogramma op de zwarte lijst had gezet en dan zou de stoom niet starten, dus deze repareerde deze keer, hopelijk wordt dit probleem verholpen tegen de tijd dat Ubuntu 16.04 uitkomt - resonant7hand
Dit zou moeten werken op elke nvidia-versie (tegoed: Alan Plum - github.com/ValveSoftware/steam-for-linux/issues/... ): NVIDIA_VERSION=$(nvidia-settings -q NvidiaDriverVersion | grep -oP "[0-9]{3}" | sed -n 1p); export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-$NVIDIA_VERSION:/usr/lib/nvidia-$NVIDIA_VERSION" - higuita


Dit is een eenvoudige oplossing.

Volgens de foutmelding mist u de volgende bestanden:r600_dri.so en swrast_dri.so

Voer de volgende opdrachten uit om deze ontbrekende bestanden te installeren:

sudo apt-get update
sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386

Het probleem zou nu moeten worden opgelost.

Plaats eventuele extra fouten.


7
2018-01-21 07:54



Als er ventielmedewerkers mee gebeuren, heb ik een vraag; Waarom controleert de stoom voor het ubuntu-installatiescript de Mesa niet en worden er ontbrekende onderdelen gevonden en voor mij geïnstalleerd? - Warren P
Helemaal niet opgelost, de betreffende lib's waren al in hun laatste versie. - mystrdat
Dit maakte het voor mij. Dit zou het eerste moeten zijn dat je probeert. - matthew_360


Oplossing voor Ubuntu 16.04, Xenial Xerus, 64-bit

Ik heb dit probleem met Steam sinds de upgrade naar 16.04 alleen gehad, het werkte prima op 14.04. Ik heb alle fixes hierboven geprobeerd voor oudere versies van Ubuntu.

Het tweede deel van deze oplossing werkte voor mij.

$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install wget gdebi libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libc6:i386
$ wget http://media.steampowered.com/client/installer/steam.deb
$ sudo gdebi steam.deb

Nu rijd ik weer L4D2 in Ubuntu - uitstekend!


1
2018-05-21 07:33



Als je al dpkg hebt, hoef je gdebi niet te installeren: sudo dpkg -i ./steam.deb - CSkau
gdebi zal afhankelijkheden installeren, dpkg niet. - Havok


Deze twee regels van menasheh's opmerking over Github kwestie werkt met Ubuntu 15.10:

export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:0

Houd er rekening mee dat als Steam zichzelf bijwerkt, u deze regels mogelijk opnieuw moet invoeren.


1
2018-03-07 06:49





Ik heb dit probleem net tegengekomen op een nieuwe installatie van Ubuntu 18.04 LTS. Blijkt de Steam runtime-versie van libgcc_s.so.1 was de schuldige. Door het bestand te hernoemen, werd het probleem voor mij opgelost:

$ cd ~/.steam/root/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/
$ mv libgcc_s.so.1 libgcc_s.so.1.bak

0
2018-05-04 21:40