ValveSoftware / csgo-osx-linux

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

csgo only launches from command line linux with limited functionality #3097

Open human664 opened 1 year ago

human664 commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

when launched through steam-runtime nothing will happen but occasionally a black screen, when launched through steam-native, with flags -nojoy and -windowed it will launch and will make it to main menu most of the time, random crashes from there,(checking score board on the off chance it let me join a community server, clicking too fast in menu, connecting to some servers, loading workshop maps) when run from command line outside of steam with i386 bash ./csgo.sh -nojoy -windowed game works as expected but without vac, but can load maps without crashing unlike steam-native.

Steps for reproducing this issue:

assuming its b

  1. launch steam-runtime, launch csgo, nothing happens
  2. launch steam-native, csgo will launch to black screen when -nojoy and -windowed flags are included
  3. attempt to connect to game, some work shop maps will work, vac secure servers will not, connecting to community servers fails
RyanBlakeIT commented 1 year ago

@human664 - You should be able to launch CSGO via command line outside of steam as long as you include -steam in the string.

e.g.: i386 bash ./csgo.sh -steam -nojoy -windowed

human664 commented 1 year ago

it was working through steam about a week ago, doesnt work again, i386 bash ./csgo.sh -steam -nojoy -windowed does not work either same errors SDL video target is 'x11' SDL failed to create GL compatibility profile (whichProfile=0! This system supports the OpenGL extension GL_EXT_framebuffer_object. This system supports the OpenGL extension GL_EXT_framebuffer_blit. This system supports the OpenGL extension GL_EXT_framebuffer_multisample. This system DOES NOT support the OpenGL extension GL_APPLE_fence. This system supports the OpenGL extension GL_NV_fence. This system supports the OpenGL extension GL_ARB_sync. This system supports the OpenGL extension GL_EXT_draw_buffers2. This system supports the OpenGL extension GL_EXT_bindable_uniform. This system DOES NOT support the OpenGL extension GL_APPLE_flush_buffer_range. This system supports the OpenGL extension GL_ARB_map_buffer_range. This system supports the OpenGL extension GL_ARB_vertex_buffer_object. This system supports the OpenGL extension GL_ARB_occlusion_query. This system DOES NOT support the OpenGL extension GL_APPLE_texture_range. This system DOES NOT support the OpenGL extension GL_APPLE_client_storage. This system DOES NOT support the OpenGL extension GL_ARB_uniform_buffer. This system supports the OpenGL extension GL_ARB_vertex_array_bgra. This system supports the OpenGL extension GL_EXT_vertex_array_bgra. This system supports the OpenGL extension GL_ARB_framebuffer_object. This system DOES NOT support the OpenGL extension GL_GREMEDY_string_marker. This system supports the OpenGL extension GL_ARB_debug_output. This system supports the OpenGL extension GL_EXT_direct_state_access. This system supports the OpenGL extension GL_NV_bindless_texture. This system DOES NOT support the OpenGL extension GL_AMD_pinned_memory. This system supports the OpenGL extension GL_EXT_framebuffer_multisample_blit_scaled. This system supports the OpenGL extension GL_EXT_texture_sRGB_decode. This system supports the OpenGL extension GL_NVX_gpu_memory_info. This system DOES NOT support the OpenGL extension GL_ATI_meminfo. This system supports the OpenGL extension GL_EXT_texture_compression_s3tc. This system supports the OpenGL extension GL_EXT_texture_compression_dxt1. This system DOES NOT support the OpenGL extension GL_ANGLE_texture_compression_dxt3. This system DOES NOT support the OpenGL extension GL_ANGLE_texture_compression_dxt5. This system supports the OpenGL extension GL_ARB_buffer_storage. This system supports the OpenGL extension GLX_EXT_swap_control_tear. failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/engine_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/engine_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/filesystem_stdio_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/filesystem_stdio_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/inputsystem_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/inputsystem_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vphysics_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vphysics_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/materialsystem_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/materialsystem_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/datacache_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/datacache_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/studiorender_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/studiorender_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/soundemittersystem_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/soundemittersystem_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vscript_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vscript_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vguimatsurface_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vguimatsurface_client.so: wrong ELF class: ELFCLASS32 failed to dlopen /home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vgui2_client.so error=/home/catboi/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/vgui2_client.so: wrong ELF class: ELFCLASS32 ./csgo.sh: line 88: 67545 Segmentation fault (core dumped) ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

sm9cc commented 9 months ago

Can confirm, this is an issue for me too.

Edit: I wrote a script to workaround the issue for now - https://gist.github.com/sm9cc/addf48def898bb2be72cba36e16d6f5a

whompyjaw commented 9 months ago

Can confirm, this is an issue for me too.

Edit: I wrote a script to workaround the issue for now - https://gist.github.com/sm9cc/addf48def898bb2be72cba36e16d6f5a

Hi @sm9cc, can you clarify if you are placing that shell script in the Global Offense directory? I do not have a csgo.sh in my install directory. I have a .exe .local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo.exe but no csgo.sh.

I have the same issue as David-Durst. I'd like to still play CSGO on Linux, but I can't seem to figure it out. I have tried using Proton 4.13 which uses the scout runtime, but that still didn't work. Thanks for any help.

whompyjaw commented 9 months ago

I tried to add .exe, but it did not work:

declare -gr CSGO_LAUNCHER_PATH="/home/${USER}/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo.exe"

# Game arguments
declare -gr CSGO_ARGS="-steam -console -novid -nojoy -tickrate 128 +fps_max 0"

function launch_csgo() {
    if [ -x "${CSGO_LAUNCHER_PATH}" ]; then
        export STEAM_RUNTIME=1
        i386 "${CSGO_LAUNCHER_PATH}" ${CSGO_ARGS}
    else
        echo "CSGO launcher '${CSGO_LAUNCHER_PATH}' not found."
        exit 1
    fi
}

launch_csgo

But this doesn't work. How am I suppose to call it?

whompyjaw commented 9 months ago

image This is the error I get when I try ./csgo.sh place in my ~/ directory.

sm9cc commented 9 months ago

Hi @sm9cc, can you clarify if you are placing that shell script in the Global Offense directory?

The script can actually be located anywhere you prefer, but personally, I keep it in my home directory under Scripts, like this: ~/Scripts/LaunchCSGO.sh.

I do not have a csgo.sh in my install directory. I have a .exe

To resolve this, under Compatibility please uncheck the option that says, 'Force the use of a specific Steam Play compatibility tool.' Otherwise, the game files will be the Windows version, which is not what you want.

Next, go to the 'Betas' tab and select 'csgo_demo_viewer - 1.38.7.9.' and let Steam download everything again.

Once that's complete, you should be all set.

If you wish to play both CSGO and CS2 simultaneously, keep your game on that branch. Don't worry; CS2 will continue to update itself automatically even while you're on that branch (in case you decide to play it). To play CS2, simply launch the game through the Steam client as usual. To play CSGO, use the provided script.

Hope that helps!

I made a tutorial too.