• admin

    • Install SDL 1.2 dev package
      sudo apt install libsdl1.2-dev:i386
    • Download et-sdl-sound.so
      wget "https://drive.google.com/uc?export=download&id=0B9j5svRObPS9TnQ4ZjlfTTAxbWM" -O ~/Documents/et-sdl-sound.so
    • Find the correct libSDL.so
      find /usr -name "libSDL.so"
    • Setup environment variables
      export ETSDL_SDL_LIB="/usr/lib/i386-linux-gnu/libSDL.so"
      export SDL_AUDIODRIVER="pulse"

  • @Annihil I am facing some sound issue in Ubuntu 64 bit OS. I have done the steps mentioned in this topic but no luck. Here are the console output for ET -

    deb@deb:~$ padsp et
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    ET 2.60b linux-i386 May  8 2006
    ----- FS_Startup -----
    Current search path:
    /home/deb/.etwolf/etmain/UJE_italy_b2.pk3 (335 files)
    /home/deb/.etwolf/etmain/sp_delivery_te.pk3 (51 files)
    /usr/local/games/enemy-territory/etmain/pak2.pk3 (22 files)
    /usr/local/games/enemy-territory/etmain/pak1.pk3 (10 files)
    /usr/local/games/enemy-territory/etmain/pak0.pk3 (3725 files)
    /usr/local/games/enemy-territory/etmain/mp_bin.pk3 (6 files)
    4149 files in pk3 files
    execing default.cfg
    couldn't exec language.cfg
    execing profiles/Neemo/etconfig.cfg
    couldn't exec autoexec.cfg
    Hunk_Clear: reset the hunk ok
    ------- Input Initialization -------
    Joystick is not active.
    Bypassing CD checks
    ----- Client Initialization -----
    ----- Initializing Renderer ----
    ----- Client Initialization Complete -----
    ----- R_Init -----
    ...loading libGL.so.1: Initializing OpenGL display
    ...setting mode -1: 1366 768
    Using XFree86-VidModeExtension Version 2.2
    XF86DGA Mouse (Version 2.0) initialized
    XFree86-VidModeExtension Activated at 1366x768
    Using 4/4/4 Color bits, 24 depth, 0 stencil display.
    GL_RENDERER: AMD Radeon R7 Graphics (CARRIZO / DRM 3.23.0 / 4.15.0-43-generic, LLVM 6.0.0)
    ^3WARNNING: GL extensions string too long (6486), truncated to 4096
    Initializing OpenGL extensions
    ...GL_S3_s3tc not found
    ...GL_EXT_texture_env_add not found
    ...using GL_ARB_multitexture
    ...GL_EXT_compiled_vertex_array not found
    ...GL_NV_fog_distance not found
    ... GL_EXT_texture_filter_anisotropic not found
    Initializing GLX extensions
    ...using GLX_SGI_swap_control
    ...using GLX_SGI_video_sync
    XF86 Gamma extension initialized
    GL_VENDOR: X.Org
    GL_RENDERER: AMD Radeon R7 Graphics (CARRIZO / DRM 3.23.0 / 4.15.0-43-generic, LLVM 6.0.0)
    GL_VERSION: 3.0 Mesa 18.0.5
    GL_EXTENSIONS: GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_packed_pixels GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_window_pos GL_ATI_blend_equation_separate GL_ATI_draw_buffers GL_ATI_fragment_shader GL_ATI_meminfo GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mGLX_EXTENSIONS: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_multithread_makecurrent GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync 
    PIXELFORMAT: color(32-bits) Z(24-bit) stencil(0-bits)
    MODE: -1, 1366 x 768 fullscreen hz:N/A
    GAMMA: hardware w/ 0 overbright bits
    rendering primitives: multiple glArrayElement
    texturemode: GL_LINEAR_MIPMAP_LINEAR
    picmip: 0
    texture bits: 32
    multitexture: enabled
    compiled vertex arrays: disabled
    texenv add: disabled
    compressed textures: disabled
    anisotropy: 1.0
    NV distance fog: disabled
    Initializing Shaders
    ----- finished R_Init -----
    ------- sound initialization -------
    /dev/dsp: No such file or directory
    Could not open /dev/dsp
    Sound memory manager started
    Sys_LoadDll(/home/deb/.etwolf/etmain/ui.mp.i386.so) failed:
    "/home/deb/.etwolf/etmain/ui.mp.i386.so: cannot open shared object file: No such file or directory"
    Sys_LoadDll(/usr/local/games/enemy-territory/etmain/ui.mp.i386.so)... ok
    Sys_LoadDll(ui) found **vmMain** at  0xe5161f40  
    Sys_LoadDll(ui) succeeded!
    --- Common Initialization Complete ---
    Opening IP socket: localhost:27960
    Hostname: deb
    Started tty console (use +set ttycon 0 to disable)
    Resolving etmaster.idsoftware.com
    etmaster.idsoftware.com resolved to
    ----- CL_Shutdown -----
    RE_Shutdown( 1 )
    ----- CL_Shutdown -----
    Shutdown tty console

    Any suggestions?


  • admin

    @Dibbo said in ET SDL Sound Setup:

    wrong ELF class: ELFCLASS64

    That means you have installed amd64 packages instead of i386 ones.

  • Thanks for reply. Below solution is worked for me.

    I have made a script and provide the below details and run the game from that script -

    export LD_PRELOAD="/home/deb/Documents/et-sdl-sound.so"
    export SDL_AUDIODRIVER="pulse"
  • Or we could just prevent the pk3 from applying custom shit to ET

    read more
  • A

    yeah just develop a .dll with function hooking on CL_InitDownloads that does nothing and inject it while using some cheat that allow unpure .pk3 and you will bypass download of custom shit but also maps so make sure you already have em...

    this is the address of the function on 2.60b 0x428AD0

    read more
  • Well I may have some ideas on how to solve your problems but it seems you are very new to linux...
    I wouldn't recommend starting by compiling ETH if you don't have any knowledge about that OS, AFAIK eth-1.4-archit3ct-b3 does not compile on Ubuntu 64 bits (libghf which depends on libelf, libbfd and libopcodes will cause you headaches). That is why I started modifying it till it was so different that it eventually became eth-annihilation, which I later ported to Windows since nobody were playing ET on linux anymore, so I haven't touched Linux since 2017, I would have hard time helping you if I'm honest.
    That said, eth-1.4-archit3ct-b3 is fairly old and outdated, you wouldn't be able to play on any mods nowadays except etpro and perhaps etpub. If you still really want to do that, look at sETH32nix, eth32nix salvation or resurrection which are the best hacks for raging ever made for ET.

    read more
  • Well so first of all ETLegacy is a game and a mod, you don't need ETL to play on servers running Legacy mod. The benefits of ETL, on the top of my head, is that it works on much more devices than 2.60b, for example Mac OS X Catalina, Linux 64 bits, Raspberry Pi, Android and even PS Vita.
    It also fixes the pain points of ET with built-in minimizer, auto desktop resolution, etkey generator.
    Now, if you are using Windows 10, ETL will not give you any substantial benefits over 260b if you are using Nexus. I have benchmarked ETL 277 and ET 260b, and 260b gives me higher framerate, which matters if you are using Nexus. You can use ETWC to mininize ET, I added an etkey generator in Nexus, and it is very easy to use a custom resolution with cvars on 260b. Also ETL does not support ETPro / Punkbuster.
    Nexus does not support ETL, but Legacy mod via 260b.

    read more