RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Xboxdrv or XINIT problem

    Scheduled Pinned Locked Moved Help and Support
    xboxdrvxinitcontrolsports
    2 Posts 1 Posters 545 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.
    • N
      Nash
      last edited by Nash

      Hi,

      I'm on PiBoy XRS with Pi4 and Retropie 4.8.6.

      I have installed some ports and configured successfuly xboxdrv mapping. Now I'm trying to run native Unreal Tournament 99 with box89, xboxdrv, and xinit.

      My problem is controls are not working the first time game is launched. When I kill game process in ssh terminal and restart game in EmulationSation, all working perfectly.

      I tried to find solution since two days without success. I don't find the difference between first broken launch and the nexts. Seems like input conflict between xinit and xboxdvr the first time or missing initialisation.

      • When I remove the necessary xinit command for display, sound and controls are working all the time.

      • With xinit and without xboxdrv, connected keyboard/mouse working but not PiBoy controls.

      • With xinit and xboxdrv, keyboard/mouse and PiBoy not working at the first launch, but all works perfectly after killing process and restart game.

      Here is my two scripts for launch the game and the xboxdrv cfg :

      UT99.sh

      #!/usr/bin/bash
      
      sudo killall xboxdrv
      
      sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
      --silent \
      --detach-kernel-driver \
      --config /home/pi/RetroPie/roms/ports/PiboyXRS_unreal_xboxdrv.cfg \
      --ui-axismap X1=KEY_Q:KEY_D,Y1=KEY_S:KEY_Z \
      --deadzone 5000 \
      &
      
      sudo xinit /home/pi/RetroPie/roms/ports/UnrealTournament.sh
      
      sudo killall xboxdrv
      

      UnrealTournament.sh

      #!/usr/bin/bash
      
      cd /home/pi/RetroPie/roms/ports/ut99/System
      box86 ut-bin-x86
      

      PiboyXRS_unreal_xboxdrv.cfg

      [xboxdrv]
      evdev=/dev/input/event0
      dpad-as-button=true
      trigger-as-button=true
      
      [evdev-absmap]
      ABS_X=x1
      ABS_Y=Y1
      ABS_RX=x2
      ABS_RY=y2
      
      [ui-axismap]
      x2=REL_X:5
      y2=REL_Y:-5
      
      [evdev-keymap]
      BTN_SOUTH=b
      BTN_EAST=a
      BTN_NORTH=y
      BTN_WEST=x
      BTN_START=guide
      BTN_SELECT=start
      BTN_TRIGGER_HAPPY4=dd
      BTN_TRIGGER_HAPPY3=du
      BTN_TRIGGER_HAPPY1=dl
      BTN_TRIGGER_HAPPY2=dr
      BTN_TR=rb
      BTN_TL=lb
      BTN_TR2=rt
      BTN_TL2=lt
      BTN_THUMBL=tl
      BTN_THUMBR=tr
      
      [ui-buttonmap]
      du=KEY_UP
      dd=KEY_DOWN
      dl=KEY_LEFT
      dr=KEY_RIGHT
      rt=BTN_LEFT
      lt=BTN_RIGHT
      tr=KEY_T
      tl=KEY_R
      
      x=KEY_A
      b=KEY_SPACE
      y=KEY_1
      a=KEY_ENTER
      
      lb=KEY_F1
      rb=BTN_RIGHT
      guide=KEY_M
      start=KEY_ESC
      
      1 Reply Last reply Reply Quote 0
      • N
        Nash
        last edited by Nash

        I see in process list "dbus-daemon" that probably launched by xinit. When controls fails at the first launch, this process is after the game process in the list. When controls are ok during next launches, this process is before. It looks like the game need this process before.

        Is there a way to delay the launch of the game started by xinit command ?

        xinit '/home/pi/box86/build/box86' '/home/pi/RetroPie/roms/ports/ut99/System/ut-bin-x86'
        
        1 Reply Last reply Reply Quote 0
        • N Nash referenced this topic on
        • 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.