Steam tidak akan mulai di Ubuntu 16.04


19

Setelah diinstal ulang, pembaruan diunduh tetapi tidak dimulai bahkan dari terminal. Ini adalah pesan kesalahan yang diberikannya:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)

Bug di pelacak resmi Ubuntu: bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 Saya memecahkan masalah serupa dengan menurunkan versi driver nvidia: askubuntu.com/questions/893922/…
Ciro Santilli 新疆 改造 中心 法轮功六四 事件

Jawaban:


43

Saya memiliki masalah yang sama, yang dapat saya selesaikan dengan mengikuti petunjuk dari http://ubuntuforums.org/showthread.php?t=2275526 :

Ini adalah masalah dengan steam dan ubuntu 15.04. Uap bundel lama libs dan bertabrakan dengan driver mesa, itu juga sebabnya driver tertutup tidak melihat masalah ini.

Ada bug terbuka di steam github solusi untuk saat ini adalah menghapus versi lib lama, setidaknya sampai valve memperbaiki masalah dalam skrip startup mereka atau yang serupa. Jadi masukkan folder ini dan lakukan ini

Kode:

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

Itu bekerja untuk saya ... tetapi harap dicatat bahwa jika beberapa permainan mengharuskan lib lama dari steam runtime, itu mungkin macet (itu sebabnya harus memperbaiki katup ini)

Sunting: Langkah-langkah di utas sudah dikutip dari Masalah dengan menginstal Steam pada Ubuntu 15.04+ , sehingga Anda dapat pergi ke sana untuk rincian lebih lanjut jika instruksi ini tidak cukup bagi Anda untuk menyelesaikan masalah Anda.


Untuk kedua perintah mv, saya punya: gnu: No such file or directory. Mengapa?
Casper

@CasperLI Mereka mungkin berada di direktori yang berbeda. Coba buka lintasan dari jawaban Nick ( askubuntu.com/a/778521/514190 ) dan ganti nama libstdc ++. Jadi 6 di pengelola file favorit Anda. Atau cukup cari file:
balver

perintah yang hilang dari komentar di atas:find ~/.steam -name "libstdc++.so.6"
balver

Ini tidak berfungsi di Ubuntu 17.10
Ray Foss

Memulai ulang memperbaikinya ... Saya telah menutup sesuatu ps aux | grep steam. Itu harus menjalankan sesuatu yang lain. Masih mengecewakan bahwa tampaknya macet saat offline.
Ray Foss

5

Jawaban di atas benar bagi saya meskipun jalur ke file tidak sama ketika saya mencoba untuk mendapatkan uap untuk berjalan pada 16,04 jalur yang saya butuhkan adalah

~/.steam/bin/steam-runtime/i386/usr/lib/i386-linux-gnu

Juga setelah memperbarui pertama kali saya harus melakukan ini lagi atau masih tidak memperbarui.


3

Alih-alih menghapus libstdc ++, pertama-tama selidiki apakah kesalahan ini disebabkan oleh tautan simbolik libGL yang ambigu.

Lihat jawaban saya yang lain yang juga berfungsi untuk saya memperbaiki masalah ini /ubuntu//a/903488/364084

Saya akan menempelkan konten di sini:

Jika Anda menggunakan driver nvidia, terkadang Anda akan melihat bahwa libGL.so.1 menunjuk ke libGL ambigu yang disediakan oleh mesa dan nvidia. Untuk menguji ini, Anda dapat menjalankan perintah ini

$ sudo ldconfig -p | grep -i gl.so

Outputnya kira-kira seperti:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Sekarang saya hanya perlu menghapus perpustakaan yang disediakan oleh mesa dan semuanya bekerja dengan sempurna.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1

0

pemecahan balver berhasil, bagaimanapun, direktori sedikit berbeda dari apa yang diposting. Inilah urutan perintah saat saya mengetiknya:

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.