Steam จะไม่เริ่มใน Ubuntu 16.04


19

หลังจากติดตั้งใหม่แล้วจะมีการดาวน์โหลดการอัปเดต แต่จะไม่เริ่มแม้กระทั่งจากเครื่อง นี่คือข้อความแสดงข้อผิดพลาดที่ให้:

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)

ข้อผิดพลาดในการติดตาม Ubuntu อย่างเป็นทางการ: bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669ฉันแก้ไขปัญหาที่คล้ายกันโดยการลดระดับไดรเวอร์ nvidia: askubuntu.com/questions/893922/ …
Ciro Santilli 新疆中心中心法轮功法轮功六四事件

คำตอบ:


43

ฉันมีปัญหาเดียวกันซึ่งฉันสามารถแก้ไขคำแนะนำต่อไปนี้จากhttp://ubuntuforums.org/showthread.php?t=2275526 :

นี่เป็นปัญหาของ Steam และ ubuntu 15.04 Steam รวม libs เก่า ๆ และปะทะกับไดรเวอร์ mesa ด้วยเหตุนี้จึงทำให้คนขับรถที่ปิดอยู่ไม่เห็นปัญหานี้

มีข้อผิดพลาดแบบเปิดใน github ไอวิธีแก้ปัญหาสำหรับตอนนี้คือการลบรุ่น lib เก่าอย่างน้อยก็จนกว่าวาล์วจะแก้ไขปัญหาในสคริปต์เริ่มต้นของพวกเขาหรือคล้ายกัน ดังนั้นเข้าสู่โฟลเดอร์นี้และทำเช่นนี้

รหัส:

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

มันใช้งานได้สำหรับฉัน ... แต่โปรดทราบว่าหากบางเกมต้องการ lib เก่าจากไอน้ำรันไทม์อาจมีปัญหา (นั่นคือเหตุผลที่ควรแก้ไขวาล์วนี้)

แก้ไข: ขั้นตอนในเธรดได้รับการยกมาจากปัญหาในการติดตั้ง Steam บน Ubuntu 15.04+ดังนั้นคุณสามารถไปที่นั่นเพื่อดูรายละเอียดเพิ่มเติมในกรณีที่คำแนะนำเหล่านี้ไม่เพียงพอสำหรับคุณในการแก้ปัญหาของคุณ


สำหรับคำสั่ง mv ทั้งคู่ฉันได้รับ: gnu: No such file or directory. ทำไม?
Casper

@CasperLI พวกเขาอาจอยู่ในไดเรกทอรีอื่น ลองไปที่เส้นทางจากคำตอบของ Nick ( askubuntu.com/a/778521/514190 ) และเปลี่ยนชื่อ libstdc ++. so.6 ในตัวจัดการไฟล์ที่คุณชื่นชอบ หรือเพียงแค่หาไฟล์:
balver

คำสั่งที่ขาดหายไปจากความคิดเห็นด้านบน:find ~/.steam -name "libstdc++.so.6"
balver

สิ่งนี้ใช้ไม่ได้กับ Ubuntu 17.10
Ray Foss

เริ่มต้นใหม่คงมัน ... ps aux | grep steamฉันได้ปิดอะไรใน มันจะต้องทำงานอย่างอื่น ยังคงเป็นคนเกียจคร้านที่ดูเหมือนว่าจะผิดพลาดเมื่อออฟไลน์
Ray Foss

5

คำตอบข้างต้นนั้นถูกต้องสำหรับฉันแม้ว่าเส้นทางไปยังไฟล์จะไม่เหมือนกันเมื่อฉันพยายามที่จะให้ Steam ทำงานบน 16.04 เส้นทางที่ฉันต้องการคือ

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

หลังจากอัปเดตเป็นครั้งแรกที่ฉันต้องทำเช่นนี้อีกครั้งหรือยังคงไม่อัปเดต


3

แทนที่จะลบ libstdc ++ ก่อนอื่นให้ตรวจสอบว่าข้อผิดพลาดนี้เกิดจากลิงก์สัญลักษณ์ libGL ที่คลุมเครือหรือไม่

อ้างถึงคำตอบอื่น ๆ ของฉันที่ใช้งานได้สำหรับฉันในการแก้ไขปัญหานี้ /ubuntu//a/903488/364084

ฉันจะวางเนื้อหาที่นี่:

หากคุณใช้ไดรเวอร์ nvidia บางครั้งคุณจะเห็นว่า libGL.so.1 ชี้ไปที่ libGL ที่ไม่ชัดเจนซึ่งจัดทำโดยทั้ง mesa และ nvidia เพื่อทดสอบสิ่งนี้คุณสามารถเรียกใช้คำสั่งนี้

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

ผลลัพธ์เป็นดังนี้:

    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

ตอนนี้ฉันต้องการลบห้องสมุดที่ Mesa ให้ไว้และทุกอย่างทำงานได้อย่างสมบูรณ์

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

0

วิธีแก้ปัญหาของ balver ทำงานได้อย่างไรก็ตามไดเรกทอรีแตกต่างจากที่ลงรายการไว้เล็กน้อย นี่คือลำดับของคำสั่งที่ฉันพิมพ์:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.