ValveSoftware / csgo-osx-linux

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

Running csgo with virtual framebuffer #1604

Open AlexAlifimoff opened 6 years ago

AlexAlifimoff commented 6 years ago

Hi, I am trying to run CSGO in an ubuntu-based docker container. I've installed SteamCMD, installed csgo, and I am now trying to get CSGO to run. The catch is that I am running with a virtual framebuffer (xvfb). The ultimate goal is to open csgo, play a demo and a corresponding VDM file, and then exit the game.

My buffer is created with Xvfb :1 -screen 0 1024x768x16 and my environment DISPLAY=:1.0 correspondingly.

When I run csgo.sh, I get the following output and a crash. Note, LIBGL_DEBUG is verbose here:

WARNING: setlocale('en_US.UTF-8') failed, using locale:'C'. International characters may not work.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
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 DOES NOT support 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 DOES NOT support 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 DOES NOT support the OpenGL extension GL_EXT_direct_state_access.
This system DOES NOT support 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 DOES NOT support 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 supports the OpenGL extension GL_ANGLE_texture_compression_dxt3.
This system supports the OpenGL extension GL_ANGLE_texture_compression_dxt5.
This system supports the OpenGL extension GL_ARB_buffer_storage.
This system DOES NOT support the OpenGL extension GLX_EXT_swap_control_tear.
 failed to dlopen /var/lib/steam/csgo/bin/engine_client.so 
error=/var/lib/steam/csgo/bin/engine_client.so: wrong ELF class: ELFCLASS32
AppFramework : Unable to load module engine_client.so!
Unable to load interface VCvarQuery001 from engine_client.so, requested from EXE.
libGL: root@6dc624eed1d4:/var/lib/steam# Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.

I've updated my mesa version to 17.3, as I saw some issues like #1509, which seemed similar to mine, but this did not solve the problem. Any pointers? I can provide whatever additional information is necessary (or the whole Dockerfile). Base image is Ubuntu 16.04

I can include system info but not sure how to extract it using solely SteamCMD.

thiagofelix commented 6 years ago

Hi @AlexAlifimoff were you able to troubleshoot this? I am also interested in running csgo on virtual framebuffer/docker container.

Tks

AlexAlifimoff commented 6 years ago

Nope, "engineered" around it by buying hardware.

On Thu, Mar 15, 2018, 12:20 PM Thiago Felix notifications@github.com wrote:

Hi @AlexAlifimoff https://github.com/alexalifimoff were you able to troubleshoot this? I am also interested in running csgo on virtual framebuffer/docker container.

Tks

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/csgo-osx-linux/issues/1604#issuecomment-373456048, or mute the thread https://github.com/notifications/unsubscribe-auth/AIe2qBQX2JtfvikHzNDQcq_AeBwdvJ47ks5teqLOgaJpZM4R4x7U .

metenn commented 4 years ago

Hey, I know this is old and it's not CS:GO but TF2, but when I ran hl2.sh with the steam runtime script ~/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh ./hl2.sh -game <folder> it worked.

Thanks to this comment https://github.com/ValveSoftware/source-sdk-2013/issues/431#issuecomment-322593689