RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Add support for xash3D

    Scheduled Pinned Locked Moved Ideas and Development
    xash3dhalflife
    63 Posts 13 Posters 12.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      backstander
      last edited by

      Someone has the Xash3D engine running Half-Life on a Pandora handheld (which has an ARM processor)!
      http://pandoralive.info/?p=5043

      They said it's got a couple bugs, like the crowbar disappearing and textures looking fuzzy up close.

      1 Reply Last reply Reply Quote 0
      • herb_fargusH
        herb_fargus administrators
        last edited by

        There's a bit of discussion here: https://github.com/RetroPie/RetroPie-Setup/issues/1040 but I'm not holding my breath on it

        If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

        Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

        1 Reply Last reply Reply Quote 2
        • C
          Cesarpuig
          last edited by

          Hi, This work for me: https://github.com/sergiopoverony/xash3d
          Resolution 800x600.

          ExarKunIvE retropieuser555R 3 Replies Last reply Reply Quote 1
          • ExarKunIvE
            ExarKunIv @Cesarpuig
            last edited by

            @Cesarpuig as soon as i saw this i jumped on it. and i have to say it does run very well.
            nice find

            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
            Maintainer of RetroPie-Extra .

            1 Reply Last reply Reply Quote 0
            • ExarKunIvE
              ExarKunIv @Cesarpuig
              last edited by ExarKunIv

              @Cesarpuig do have music on yours?
              i cant find any info on how to get it to play if it does. i know that some builds had it turned off

              UPDATE
              Never mind.

              RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
              RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
              Maintainer of RetroPie-Extra .

              1 Reply Last reply Reply Quote 0
              • retropieuser555R
                retropieuser555 @Cesarpuig
                last edited by

                @Cesarpuig @ExarKunIv Hey did either of you manage to get a gamepad working? I added -sdl_joy_old_api to /opt/retropie/ports/xash3d/Xash3D.sh and it now allows for movement, dual analogue control moving around, and the menu buttons let me select a game or cancel my selection. But once I'm in the game there doesn't appear to be any mapping for any of the actions. Jump, attack etc, the controller doesn't do anything.

                I had a look around online about as it seems the valve folder has a joystick.cfg (which is empty) and config.cfg which has the following controller values:-

                joy_axis_binding "sfpyrl"
                joy_enable "1"
                joy_forward "1.0"
                joy_forward_deadzone "0"
                joy_forward_key_threshold "24576"
                joy_lt_threshold "-16384"
                joy_pitch "200.0"
                joy_pitch_deadzone "0"
                joy_rt_threshold "-16384"
                joy_side "1.0"
                joy_side_deadzone "0"
                joy_side_key_threshold "24576"
                joy_yaw "200.0"
                joy_yaw_deadzone "0"
                joystick "0"

                Any other idea what else I need to input to get the other buttons working? Seems odd the menu buttons are mapped somewhere but I can't figure out where.

                Pi 5 4GB

                Retroflag GPI with raspberry pi zero 2 w/ wifi

                Retroachievements:- lovelessrapture

                ExarKunIvE quicksilverQ 2 Replies Last reply Reply Quote 0
                • ExarKunIvE
                  ExarKunIv @retropieuser555
                  last edited by

                  @retropieuser555 im slowing working on getting all my ports working with my game pad.

                  so for me i was just going to us xboxdrv for the mapping and just map the keyboard to my gamepad.
                  for me it is the easiest but that's just because i have been using xboxdrv for so long

                  RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                  RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                  Maintainer of RetroPie-Extra .

                  retropieuser555R 1 Reply Last reply Reply Quote 1
                  • retropieuser555R
                    retropieuser555 @ExarKunIv
                    last edited by

                    @ExarKunIv Yeah makes sense. I always find xboxdrv to be a huge headache, I got it working on dosbox on a few games but for some reason I couldn't get the controller to killall xboxdrv and go back to emulationstation controls.

                    Oh one other question with xash3d, do you get a crash and a segmentation fault whenever you try and select the GUI for keyboard or gamepad controls? Or is that just me?

                    Pi 5 4GB

                    Retroflag GPI with raspberry pi zero 2 w/ wifi

                    Retroachievements:- lovelessrapture

                    ExarKunIvE 1 Reply Last reply Reply Quote 0
                    • ExarKunIvE
                      ExarKunIv @retropieuser555
                      last edited by

                      @retropieuser555
                      if you need some help with xboxdrv i could always try to help out.

                      as for your other question. i have not messed with it that much yet. but i will keep my eye out for that. ill try to get play with it a little later and ill let you know what i find

                      RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                      RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                      Maintainer of RetroPie-Extra .

                      retropieuser555R 1 Reply Last reply Reply Quote 1
                      • retropieuser555R
                        retropieuser555 @ExarKunIv
                        last edited by

                        @ExarKunIv in terms of xboxdrv there's this post I made before but I couldn't quite figure out what I'm missing in the end https://retropie.org.uk/forum/topic/25490/xboxdrv-returning-back-to-normal-settings-when-leaving-dosbox?_=1590594996098 Once things get into terminal I am pretty lost what it's trying to do generally.

                        Pi 5 4GB

                        Retroflag GPI with raspberry pi zero 2 w/ wifi

                        Retroachievements:- lovelessrapture

                        ExarKunIvE 1 Reply Last reply Reply Quote 0
                        • ExarKunIvE
                          ExarKunIv @retropieuser555
                          last edited by ExarKunIv

                          @retropieuser555

                          do you have runcommand-onend.sh?

                          UPDATE

                          im able to get into the gamepad and keyboard options to change anything without crashing

                          RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                          RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                          Maintainer of RetroPie-Extra .

                          retropieuser555R 1 Reply Last reply Reply Quote 0
                          • retropieuser555R
                            retropieuser555 @ExarKunIv
                            last edited by retropieuser555

                            @ExarKunIv No I don't think I've made that file, it should be with runcommand-onstart.sh right? And try to write something that always turns off xboxdrv each time I close a core or program?

                            re: xash3d That's interesting. I wonder if I should try and reinstall xash3d, as if I can get the GUI to open up properly perhaps I can edit the controls in there.

                            Do you have your config.cfg file from the valve folder please? I suspect that's the file xash3d looks at for this

                            Pi 5 4GB

                            Retroflag GPI with raspberry pi zero 2 w/ wifi

                            Retroachievements:- lovelessrapture

                            ExarKunIvE 1 Reply Last reply Reply Quote 0
                            • ExarKunIvE
                              ExarKunIv @retropieuser555
                              last edited by

                              @retropieuser555 yes you should have the onstart and onend in the same place, that is why the xboxdrv will not turn off for you before. there is nothing to tell it to turn off

                              //=======================================================================
                              //			Copyright Flying With Gauss Team 2020 ©
                              //			config.cfg - archive of cvars
                              //=======================================================================
                              MP3Volume "0.8"
                              allow_levelshots "0"
                              bottomcolor "6"
                              cl_allow_fragment "0"
                              cl_backspeed "400"
                              cl_charset "utf-8"
                              cl_cmdbackup "2"
                              cl_cmdrate "60"
                              cl_draw_beams "1"
                              cl_draw_particles "1"
                              cl_enable_compress "0"
                              cl_enable_split "1"
                              cl_enable_splitcompress "0"
                              cl_envshot_size "256"
                              cl_forwardspeed "400"
                              cl_himodels "0.000000"
                              cl_laddermode "2"
                              cl_lc "1"
                              cl_lightstyle_lerping "0"
                              cl_lw "1"
                              cl_maxoutpacket "0"
                              cl_maxpacket "40000"
                              cl_maxpayload "0"
                              cl_nopred "1"
                              cl_nosmooth "0"
                              cl_predict "0"
                              cl_scoreboard_bg "1"
                              cl_showerror "0"
                              cl_showfps "0"
                              cl_showpacketloss "0"
                              cl_showpos "0"
                              cl_sidespeed "400"
                              cl_smoothtime "0.1"
                              cl_sprite_nearest "0"
                              cl_trace_events "0"
                              cl_trace_messages "0"
                              cl_trace_stufftext "0"
                              cl_updaterate "60"
                              cl_viewbob "0"
                              cl_vsmoothing "0.05"
                              cmd_scripting "0"
                              con_alpha "1.0"
                              con_black "0"
                              con_charset "cp1251"
                              con_fontnum "-1"
                              con_fontscale "1.0"
                              con_fontsize "1"
                              con_halffrac "0.5"
                              con_mapfilter "1"
                              con_maxfrac "1"
                              crosshair "1"
                              download_types "msec"
                              dsp_off "0"
                              fps_max "100.0"
                              gamma "2.500000"
                              gl_allow_software "0"
                              gl_allow_static "0"
                              gl_anisotropy "0.000000"
                              gl_check_errors "1"
                              gl_clear "0"
                              gl_compensate_gamma_screenshots "0"
                              gl_detailscale "4.0"
                              gl_finish "0"
                              gl_keeptjunctions "1"
                              gl_max_size "256"
                              gl_nosort "0"
                              gl_overbright "0"
                              gl_overbright_studio "0"
                              gl_swapInterval "0"
                              gl_texture_lodbias "0.0"
                              gl_texturemode "GL_LINEAR_MIPMAP_LINEAR"
                              hand "0"
                              host_allow_materials "0"
                              host_mapdesign_fatal "1"
                              hostname "unnamed"
                              http_autoremove "1"
                              http_timeout "45"
                              http_useragent "xash3d"
                              hud_capturemouse "1"
                              hud_centerid "0"
                              hud_classautokill "1"
                              hud_draw "1"
                              hud_fastswitch "0"
                              hud_scale "0"
                              hud_takesshots "0"
                              hud_textmode "0"
                              hud_utf8 "0"
                              joy_axis_binding "sfpyrl"
                              joy_enable "1"
                              joy_forward "1"
                              joy_forward_deadzone "0"
                              joy_forward_key_threshold "24576"
                              joy_lt_threshold "-16384"
                              joy_pitch "100"
                              joy_pitch_deadzone "0"
                              joy_rt_threshold "-16384"
                              joy_side "1"
                              joy_side_deadzone "0"
                              joy_side_key_threshold "24576"
                              joy_yaw "100"
                              joy_yaw_deadzone "0"
                              joystick "0.000000"
                              look_filter "0"
                              lookspring "0"
                              lookstrafe "0"
                              m_enginemouse "0"
                              m_enginesens "0.3"
                              m_forward "1"
                              m_ignore "0"
                              m_pitch "0.022000"
                              m_side "0.8"
                              m_yaw "0.022"
                              menu_mp_firsttime "1"
                              model "gordon"
                              mp_decals "300"
                              mp_logecho "1"
                              mp_logfile "1"
                              name "Player"
                              net_drawslider "0"
                              net_graph "0"
                              net_graphheight "64"
                              net_graphpos "1"
                              net_graphsolid "1"
                              net_graphwidth "192"
                              net_scale "5"
                              net_speeds "0"
                              r_adjust_fov "1"
                              r_bump "1"
                              r_customdraw_playermodel "0"
                              r_detailtextures "0"
                              r_drawentities "1"
                              r_dynamic "1"
                              r_fastsky "0"
                              r_flaresize "200"
                              r_lighting_ambient "0.3"
                              r_lighting_extended "1"
                              r_lighting_modulate "0.6"
                              r_oldparticles "0"
                              r_speeds "0"
                              r_sprite_lerping "1"
                              r_sprite_lighting "1"
                              r_strobe "0"
                              r_strobe_cooldown "3"
                              r_strobe_debug "0"
                              r_strobe_swapinterval "0"
                              r_studio_drawelements "1"
                              r_studio_lambert "2"
                              r_studio_lerping "1"
                              r_studio_lighting "1"
                              r_studio_sort_textures "0"
                              r_studiocache "1"
                              r_underwater_distortion "0.4"
                              r_vbo "1"
                              r_vbo_dlightmode "1"
                              r_wadtextures "1"
                              rate "30000"
                              s_combine_sounds "0"
                              s_cull "0"
                              s_lerping "0"
                              s_phs "0"
                              s_reverse_channels "0"
                              s_samplecount "0"
                              s_show "0"
                              sensitivity "3"
                              sleeptime "1"
                              snd_mute_losefocus "1"
                              suitvolume "0.250000"
                              sv_aim "1"
                              sv_allow_PhysX "1"
                              sv_allow_compress "1"
                              sv_allow_download "0"
                              sv_allow_fragment "0"
                              sv_allow_joystick "1"
                              sv_allow_mouse "1"
                              sv_allow_noinputdevices "1"
                              sv_allow_rotate_pushables "0"
                              sv_allow_split "1"
                              sv_allow_studio_attachment_angles "0"
                              sv_allow_touch "1"
                              sv_allow_vr "1"
                              sv_check_errors "0"
                              sv_corpse_solid "0"
                              sv_downloadurl ""
                              sv_enttools_enable "0"
                              sv_enttools_maxfire "5"
                              sv_fixmulticast "1"
                              sv_log_onefile "0"
                              sv_log_singleplayer "0"
                              sv_maxpacket "2000"
                              sv_precache_meshes "1"
                              sv_quakehulls "0"
                              sv_reconnect_limit "3"
                              sv_sendvelocity "1"
                              sv_skipshield "0"
                              sv_stepsize "18"
                              sv_trace_messages "0"
                              sv_userinfo_enable_penalty "1"
                              sv_userinfo_penalty_attempts "4"
                              sv_userinfo_penalty_multiplier "2"
                              sv_userinfo_penalty_time "0.3"
                              sv_validate_changelevel "1"
                              topcolor "30"
                              touch_config_file "touch.cfg"
                              touch_enable "0"
                              ui_borderclip "0"
                              ui_language "english"
                              ui_renderworld "0"
                              ui_show_window_stack "0"
                              ui_showmodels "0"
                              vgui_utf8 "0"
                              vibration_enable "1"
                              vibration_length "1.0"
                              viewsize "120.000000"
                              violence_ablood "1"
                              violence_agibs "1"
                              violence_hblood "1"
                              violence_hgibs "1"
                              volume "0.800000"
                              exec keyboard.cfg
                              exec userconfig.cfg
                              // end of config.cfg
                              

                              RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                              RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                              Maintainer of RetroPie-Extra .

                              retropieuser555R 2 Replies Last reply Reply Quote 0
                              • retropieuser555R
                                retropieuser555 @ExarKunIv
                                last edited by

                                @ExarKunIv Thanks for that! I'm gonna mess around with xash3d a little more tonight or tomorrow and see if I can figure out where the differences are.

                                I'm gonna mess around with those run commands. At the moment I'm loading xboxdrv as part of the .sh files of the dosbox games, but I'll try this way around instead and see if it's more successful than what I was doing before. Thanks for your help with that!

                                Pi 5 4GB

                                Retroflag GPI with raspberry pi zero 2 w/ wifi

                                Retroachievements:- lovelessrapture

                                1 Reply Last reply Reply Quote 0
                                • quicksilverQ
                                  quicksilver
                                  last edited by

                                  Do you guys know a way to get the constant console messages to stop appearing onscreen?

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    Cesarpuig @quicksilver
                                    last edited by

                                    @quicksilver delete -console fron launch command

                                    LD_LIBRARY_PATH=/home/pi/RetroPie/roms/ports/Half-Life /home/pi/RetroPie/roms/ports/Half-Life/xash3d -console -clientlib cl_dlls/client.so -dll dlls/hl.so
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • retropieuser555R
                                      retropieuser555 @ExarKunIv
                                      last edited by

                                      @ExarKunIv Bingo! I got the gamepad working, the joystick.cfg file isn't called by the game in the file so I could either call it or add the binds into the keyboard.cfg. Oddly modifying my keyboard.cfg file has stopped the crash when I select the option in the GUI as well. But if I go to edit entries there in the GUI it causes a crash. But I can just edit the file manually anyway.

                                      So yeah, if anyone is ever hunting down gamepad controls on this port, it's definitely possible.

                                      Pi 5 4GB

                                      Retroflag GPI with raspberry pi zero 2 w/ wifi

                                      Retroachievements:- lovelessrapture

                                      ExarKunIvE 1 Reply Last reply Reply Quote 0
                                      • ExarKunIvE
                                        ExarKunIv @retropieuser555
                                        last edited by

                                        @retropieuser555 can you post what you did, i might want to try it that way. if you dont mind

                                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                        Maintainer of RetroPie-Extra .

                                        retropieuser555R 1 Reply Last reply Reply Quote 0
                                        • quicksilverQ
                                          quicksilver
                                          last edited by quicksilver

                                          Hey guys I was able to successfully build the newer version of xash3d (xash3d-fwgs) on my Pi 4 (link to the binary below):

                                          https://mega.nz/folder/xBpAgYYb#arEdY1Y2DVere_gGRqeFjw

                                          You can do a direct swap of the binary (only if you built from source, I dont know if this will work if you installed from binary. If you installed from binary, go back and update from source first) in your /home/pi/RetroPie/roms/ports/Half-Life/ folder (make a back-up first just in case!). I have tested it lightly and I can confirm it works but I have only played a few minutes into the game. Performance is better if set to 720p or lower in runcommand menu (before doing this, go into the game video settings and change to windowed mode - and set resolution to window resolution otherwise it will still try to run 1080p even when you selected 720p in runcommand. This results in a black screen.)

                                          Link to the source:
                                          https://github.com/FWGS/xash3d-fwgs

                                          ExarKunIvE retropieuser555R 2 Replies Last reply Reply Quote 0
                                          • ExarKunIvE
                                            ExarKunIv @quicksilver
                                            last edited by

                                            @quicksilver thanks for the update,

                                            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                            Maintainer of RetroPie-Extra .

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.