ValveSoftware / csgo-osx-linux

Counter-Strike: Global Offensive
http://counter-strike.net
787 stars 69 forks source link

CS:GO not starting on Ubuntu 21.10 #2815

Open hombrehormiga opened 3 years ago

hombrehormiga commented 3 years ago

Your system information

Please describe your issue in as much detail as possible:

The game was working fine on Ubuntu 21.04. After updating the system to Ubuntu 21.10, the game just show a black screen for some seconds and then die.

I've tried with some launch options like -autoconfig -fullscreen -nojoy -steam -novid with the same results

Console output running it from the console: https://gist.github.com/hombrehormiga/ca117c0c35d65ffbad1aca2b90c1f0c4

Steps for reproducing this issue:

  1. Just run the game in Ubuntu 21.10
poopman97 commented 3 years ago

I know this is not helpful but i have the same problem so i think valve needs to fix something because I'm not the only one with this problem

Disk1of5 commented 3 years ago

I think this is a duplicate of https://github.com/ValveSoftware/csgo-osx-linux/issues/2811

Thanks!

AshuAhlawat commented 3 years ago

Same problem most probably its just some thing the csgo guys need to update in order to run in the latest ubuntu relese which was recent

orestisv515 commented 3 years ago

same problem after upgrading to Ubuntu 21.10

WicRus commented 3 years ago

Ubuntu 21.10 same problem Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz MSI RX580

DBG DBG b OTHER erno_chimney_03.mdl crash_20211020111524_2.dmp[10683]: Uploading dump (out-of-process) /tmp/dumps/crash_20211020111524_2.dmp

EysseW commented 3 years ago

Same problem. I am on pop-os 20.10

DocAnas commented 3 years ago

After 20 attempts to start the game, i still have the same problem. I am on Ubuntu 20.10

chrisribal commented 3 years ago

Same here. Ubuntu 21.10. Even after 50 tries, CS:GO didn't launch.

poof47 commented 3 years ago

its been like this for almost 2 weeks lol

Disk1of5 commented 3 years ago

from looking at all the other trouble tickets i wonder if its an issue introduced in libc-bin package.
lets look at : https://github.com/ValveSoftware/csgo-osx-linux/issues/2818#issue-1029514296 From the troubles i see it crashes on `Thread 1 "csgo_linux64" received signal SIGABRT, Aborted. __pthread_kill_implementation (no_tid=0, signo=6, threadid=139800493254528) at pthread_kill.c:44 44 pthread_kill.c: No such file or directory. (gdb) bt

0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=139800493254528) at pthread_kill.c:44`

which might have been introduced when ubuntu's packages changes the libc version from (UBUNTU20.04) libc-bin (2.33-0ubuntu5) GNU C Library: Binaries to (UBUNTU20.10) libc-bin (2.34-0ubuntu3) GNU C Library: Binaries

Full changes of Glib libraries between versions https://fossies.org/diffs/glibc/2.33_vs_2.34/

Main Diff's of the function and C file throwing the error: https://fossies.org/diffs/glibc/2.33_vs_2.34/nptl/pthread_kill.c-diff.html

But i dunno.. Maybe im wrong..
Valve? lil'help..
¯\_(ツ)_/¯

Disk1of5 commented 3 years ago

BUT, im also getting: g_object_unref: assertion 'G_IS_OBJECT (object)' failed so maybe this is a GTK issue that's part of gnome40+ Any one brave enough to install a different DE thats not based off of GTK.. like KDE or i3 or something to see if this isn't a gnome40 issue? (BTW, popOS is still gnome for the new users :heart_decoration: )

I guess since we can't clutch wins we might as well help trouble shoot until Dev's get involved ... maybe they will bless us with some Github AK skins for the trouble shooting for the debug assists :laughing:

jordst commented 3 years ago

BUT, im also getting: g_object_unref: assertion 'G_IS_OBJECT (object)' failed so maybe this is a GTK issue that's part of gnome40+ Any one brave enough to install a different DE thats not based off of GTK.. like KDE or i3 or something to see if this isn't a gnome40 issue? (BTW, popOS is still gnome for the new users heart_decoration )

I guess since we can't clutch wins we might as well help trouble shoot until Dev's get involved ... maybe they will bless us with some Github AK skins for the trouble shooting for the debug assists laughing

I use dwm and still got the error... I reinstalled Ubuntu 21.04 and no longer have an issue. It's likely the new libc.

Disk1of5 commented 3 years ago

@jordst thanks for verifying i also just re-booted back in from attempting with openbox and also no luck. yup might be a that dang libc issue

fhangel commented 3 years ago

I have the same issue, it was working fine before the upgrade.

I tried running it from the terminal just to see the log and this is what I get:

failed to dlopen ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/bin/matchmaking_client.so error=~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/bin/matchmaking_client.so: wrong ELF class: ELFCLASS32
failed to dlopen ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/bin/client_client.so error=~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/bin/client_client.so: wrong ELF class: ELFCLASS32
CClientSteamContext logged on = 1
failed to dlopen ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/bin/server_client.so error=~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/bin/server_client.so: wrong ELF class: ELFCLASS32
Game.dll loaded for "Counter-Strike: Global Offensive"
failed to dlopen ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/soundemittersystem_client.so error=~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/soundemittersystem_client.so: wrong ELF class: ELFCLASS32
failed to dlopen ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/scenefilecache_client.so error=~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/scenefilecache_client.so: wrong ELF class: ELFCLASS32
Also this one:
ERROR: ld.so: object '~/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64).

I'm not sure if those errors are related or helpful here, but it's the only information that I have, and the behaviour it's the same as described by others. Click play, screens goes black as if the games was about to start, and then it crashes.

poof47 commented 3 years ago

Everyone has issue with Ubuntu 21.10 ( same as me ) from so far I've checked I think valve is struggling with gnome40.* 😳

WicRus commented 3 years ago

Everyone has issue with Ubuntu 21.10 ( same as me ) from so far I've checked I think valve is struggling with gnome40. Nope. lxqt+sddm have same problem. Probably glibc issue.

rtuovine commented 3 years ago

Same problem after upgrading to Ubuntu 21.10. A workaround posted here: https://github.com/ValveSoftware/csgo-osx-linux/issues/2659#issuecomment-851578020 resolved the issue for me.

orestisv515 commented 3 years ago

the workaround (#2659 (comment) https://github.com/ValveSoftware/csgo-osx-linux/issues/2659#issuecomment-851578020 worked for me as well. just remember to exit steam and then run.

On Sat, 23 Oct 2021 at 20:11, rtuovine @.***> wrote:

Same problem after upgrading to Ubuntu 21.10. A workaround posted here: #2659 (comment) https://github.com/ValveSoftware/csgo-osx-linux/issues/2659#issuecomment-851578020 resolved the issue for me.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-950182872, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWEEZMGGMYJJSNLBIOXON3DUILUCVANCNFSM5GDYEJZQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

WicRus commented 3 years ago

Same problem after upgrading to Ubuntu 21.10. A workaround posted here: #2659 (comment) resolved the issue for me.

worked, short guide

kill steam sudo apt install libtcmalloc-minimal4 cd ${CS_GO_PATH}/bin/linux64 mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0.orig cp /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4.5.9 libtcmalloc_minimal.so.0

fhangel commented 3 years ago

Ok, libtcmalloc_minimal.so.0 seems to be the problem, however, the solution ended up being a bit different for me because I discover my steam is using the system libraries, but don't know why?. Anyway, all I have to do, was to copy the existing ${CS_GO_PATH}/bin/linux64/libtcmalloc_minimal.so.0 from the game folder to my /lib/x86_64-linux-gnu/ folder.

Before:

$ ldd ./csgo_linux64 
    linux-vdso.so.1 (0x00007fff2a998000)
    libtcmalloc_minimal.so.0 => not found
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3606ab9000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3606891000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3606ae7000)

After:

$ ldd ./csgo_linux64 
    linux-vdso.so.1 (0x00007ffd5558f000)
    libtcmalloc_minimal.so.0 => /lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 (0x00007fa5d507c000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa5d5077000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa5d4e4f000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa5d4e4a000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa5d4c31000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa5d4b4d000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa5d4b31000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fa5d52f1000)

The game is now working, but the question is why my steam is not using its own libraries?

Disk1of5 commented 3 years ago

@fhangel awesome finding i also tried this and it did NOT work, something made ubuntu's version of libtcmalloc incompatable between 21.04 and 21.10 Even if you perform this to satisfy the the dependencies it does not work:

sudo apt-get install libtcmalloc-minimal4
sudo ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s
sudo ldconfig
ldd ./csgo_linux64 
    linux-vdso.so.1 (0x00007fffb9461000)
    libtcmalloc_minimal.so.0 => /lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 (0x00007f85aa2e3000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f85aa2de000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f85aa0b6000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f85a9e9d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f85a9db9000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f85a9d9f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f85aa4e3000)

Still broken.

But you are correct, why is it relying on system dependencies rather than using steam runtime.. time to flatpak steam games?

fhangel commented 3 years ago

@Disk1of5 I wonder if you are missing any other libraries? Going by ldd, your output doesn't include libpthread.so.0, so perhaps that could an issue? I'm just guessing, of course, but it might be worth looking into that one. I also had to attempt running the game a few times, at least 3, before it finally worked, so keep that in mind as well.

steve-todorov commented 3 years ago

tl;dr - check this comment https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-1016657992

@Disk1of5 interestingly your steps actually fixed it for me. I first attempted @WicRus's suggestion and removed ${CS_GO_PATH}/bin/linux64/libtcmalloc_minimal.so., then tried to copy/link the libraries from the system (/usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4). That DID NOT work, but re-linking the system lib using:

ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s

actually solved it for me.

I'm also using Ubuntu 21.10 with latest updates applied.

Disk1of5 commented 3 years ago

Still not working for me, double checked all my dependencies are satisfied with LDD.. still have my symlink with my attempt for libtcmalloc_minimal .so.0 nothing is working.. you would think by now a patch would have been pushed utilizing NEW/Correct dependencies. :(

clvx commented 3 years ago

@steve-todorov

kill steam
sudo apt install libtcmalloc-minimal4
cd ${CS_GO_PATH}/bin/linux64
mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0-
mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4-
sudo ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s

This worked for me.

ldd csgo_linux64 
        linux-vdso.so.1 (0x00007ffe22b75000)
        libtcmalloc_minimal.so.0 => /lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 (0x00007fb4a07fd000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb4a07f8000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb4a05d0000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb4a03b7000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb4a02d3000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb4a02b9000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb4a09ec000)
steve-todorov commented 3 years ago

tl;dr - check this comment https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-1016657992

@clvx yep, pretty much what I did as well. I didn't kill steam though (but I doubt it really matters). The only thing I haven't mentioned is -- before I tried this I completely uninstalled CS and re-downloaded it. Then I applied the dependency fixes and only then started CS. Maybe it matters, maybe it doesn't. I guess that's what you can try @Disk1of5

VuNgN commented 3 years ago
kill steam
sudo apt install libtcmalloc-minimal4
cd ${CS_GO_PATH}/bin/linux64
mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0-
mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4-

this worked for me ! Ubuntu 20.10. Thanks @clvx 🙏🙏🙏

1Wh1teWorld commented 3 years ago

kill steam sudo apt install libtcmalloc-minimal4 cd ${CS_GO_PATH}/bin/linux64 mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0- mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4- sudo ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s

Can confirm, this worked for me too :) Ubuntu 21.10 Big thanks to @clvx

rvalimaki commented 3 years ago

@clvx yep, pretty much what I did as well. I didn't kill steam though (but I doubt it really matters). The only thing I haven't mentioned is -- before I tried this I completely uninstalled CS and re-downloaded it. Then I applied the dependency fixes and only then started CS. Maybe it matters, maybe it doesn't. I guess that's what you can try @Disk1of5

I think the key point for @clvx method to work is that he renames those custom bundled libtcmalloc -libraries so that they are not used. I don't know why Valve wants to use custom versions for those. Ps. isn't the syntax incorrect for "kill steam"? "pkill steam" worked for me, but I thought the good old "kill" needs a "pid". not program name.

dulobanov commented 2 years ago

I also have this issue, Ubuntu 21.10, Thank you, for workaround, it works.

Same problem after upgrading to Ubuntu 21.10. A workaround posted here: #2659 (comment) resolved the issue for me.

vega-d commented 2 years ago

tried the workaround on ubuntu 21.10 with xanmod kernel. Workaround didn't work, but now instead of black screen and a crash I get absolutely no window at all. I'm attaching a log file of what's happening in the console when I try launching the .sh file in the game's folder. log.log

EysseW commented 2 years ago

guys just: install libtcmalloc-minimal4 and go to Counter Strike....whatever/bin folder and cp /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4.5.9 libtcmalloc_minimal.so.0 and it works. also chmod it to 775

Already did, no luck

rvalimaki commented 2 years ago

@EysseW it's a crucial step that you rename (using mv command) those conflicting libraries. Otherwise installing new ones do not help at all. So please follow carefully following steps by @clvx:

This works:

pkill steam
sudo apt install libtcmalloc-minimal4
cd ${CS_GO_PATH}/bin/linux64
mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0-
mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4-
sudo ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s

https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-960845945

landjalan commented 2 years ago

kill steam sudo apt install libtcmalloc-minimal4 cd ${CS_GO_PATH}/bin/linux64 mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0- mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4- sudo ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s

Can confirm, this worked for me too :) Ubuntu 21.10 Big thanks to @clvx

well, worked on gentoo linux. after ermerging the google dev libs which provide libtcmalloc.so.4. pay attention to the fact that the lib has to be symlinked to ...._minimal so.0. running the command "ldd csgo_linux64" in csgo dir has to point to /usr/lib64/libtcmalloc_minimal.so.0. which indicates that the lib has been found... cheers, thanks at all involved

landjalan commented 2 years ago

Replying to https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-999067300

i have to retract my statement, the starting problem persists...

shytzedaka commented 2 years ago

Same problem after upgrading to Ubuntu 21.10. A workaround posted here: #2659 (comment) resolved the issue for me.

Worked for me too.

Disk1of5 commented 2 years ago

I hate to be negative but this is pretty crazy we had to wait for the community to solve the game from not starting up since this bug as been out since Oct.. and zero response from the developers... and its also not like this was happening on a niche distro.... its very unfortunate.

My only concern is our creative solution of replacing the libcmalloc lib is that some how we aren't detected by a VAC as using a library that might not meet a hash of the expected file.

clvx commented 2 years ago

@Disk1of5, to be fair this only happens after an upgrade. In a fresh install this doesn't happen anymore. I'd have the same perception if it were LTS but that isn't the case.

weinbrenner commented 2 years ago

I created a gist on how I fixed it: https://gist.github.com/weinbrenner/7d83f7970162adbfb2b3b176699fbcb8

steve-todorov commented 2 years ago

I find it disappointing that a game for which I paid money (despite it now being free) has been having this issue for months now without anybody looking into it.

And since I received an CSGO update that broke the game again I decided to make a script that fixes this automatically.

https://gist.github.com/steve-todorov/f4985c63595438b8f44a684e32a8c4b9

Should work on:

Feel free to use it. :)

GenocideStomper commented 2 years ago

@Disk1of5, to be fair this only happens after an upgrade. In a fresh install this doesn't happen anymore. I'd have the same perception if it were LTS but that isn't the case.

Could you elaborate on that? Do you mean on a fresh install of 21.10 this problem doesn't happen?

infamybsd commented 2 years ago

Replying to https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-960845945

This works for me. Thanks!

zawy12 commented 2 years ago

In my Ubuntu kill had to be pkill as someone else mentioned. Also, I had trouble finding clvx's path, so I changed the CD line of his solution.

pkill steam
sudo apt install libtcmalloc-minimal4
cd "`locate linux64 | grep ve/bin/linux64$`"
mv libtcmalloc_minimal.so.0 libtcmalloc_minimal.so.0-
mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4-
sudo ln /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.0 -s

I'm still getting just the black screen after the little advertisement movie.

steve-todorov commented 2 years ago

@zawy12 have you tried my script from a few comments above? It will do the required package installation and copy the necessary files to the right paths. See https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-1016657992

I'd advise you to use cp instead of ln, because I had issues with the symlink approach. I also had the blank screen issue but after property copying the libs everything worked as expected without more changes needed. I also didn't have to kill steam at all (but made sure csgo wasn't running in the background)

zawy12 commented 2 years ago

@steve-todorov It didn't work. Maybe because I'm running Ubuntu 18? line 48 had an error

./patch.sh: 48: [: /home/zawy/.steam/steam/steamapps/common/Counter-Strike: unexpected operator

Line 48: if [ ! -f "${GAMEROOT_LIB_FILE}.orig" ] && [ -f $GAMEROOT_LIB_FILE ]; then

I changed it to this and the error went away, but I still have the black screen (which is recording the time it's open as active user): if [ ! -f "${GAMEROOT_LIB_FILE}.orig" ] && [ -f "${GAMEROOT_LIB_FILE}" ]; then

liskovia commented 2 years ago

In my case this video solve all problems with CSGO https://youtu.be/RM9VIVmBVTY

ryanpapetti commented 2 years ago

Replying to https://github.com/ValveSoftware/csgo-osx-linux/issues/2815#issuecomment-961151477

This also worked for me on Pop OS 21.10 having similar issues.

RickAndTired commented 2 years ago

Same issue for me on Ubuntu 21.10

libtcmalloc_minimal.so was the problem

mojixcoder commented 2 years ago

I've tried these solutions and they all didn't work: 1) -nojoy. 2) this gist also didn't work. 3) disabling steam input properties > controller > disable steam input. Anyone knows another solutions?

RickAndTired commented 2 years ago

@kisak-valve it looks like this issue has been solved by users over 4 months ago

Is this GitHub not the best place to report this? Should we send a support ticket on CS:GO through Steam?