- Joined
- Aug 20, 2025
- Messages
- 41
- Level up in
- 59 posts
- Reaction score
- 80
- Points
- 127
Alright, so I started building one of these. The idea was simple. I'm going to put it together, have a miniPC hooked up to a monitor and some arcade button kit pair. Using Peppermint with ES-DS that launches retroArch when starting a game from any emulator.
Everything actually went smooth up to the point where I tried to hook up the controller kits. And that proved to be a ridiculously complicated step. What happened was that neither controller had ES-DS respond to input even though the controllers ARE in fact working, on the same system even. I know they do since I opened a browser, went to an online testing app and noticed the controllers DO work.
However, when starting up ES-DS, it's not detecting either, it says no controllers connected. The controller firmware seems to be something called DragonRise INC. It's being reported when doing
When I do
I even see both instances of the controller that way. If I use a keyboard to start a game, RetroArch kicks in and guess what (?), I CAN use the controllers then. RetroArch sees them with no problem. The only difficulty is with ES-DS itself.
So I said, hell, there has to be a workaround, and I did find one. I installed xboxdrv, set up some scripts that register two identical services, such as /etc/systemd/system/xboxdrv_p1.service which they attempt to hook up the controllers at startup (sudo systemctl enable xboxdrv_p1.service):
That "kind-of" works, but weirdly. I actually need to physically disconnect and reconnect one of the controllers and then ES-DS sees them. But I cannot for whatever reason have it work directly. That is the closest progress I had so far. I did a lot of running around the issue thinking it's a race condition or anything but I am as of yet unable to make the controllers work directly after you boot up the machine.
My guess is that ES-DS uses SDL2 and that thing doesn't see the controllers correctly.
Just for the hell of it, connected an XBox Series X controller which works with no problem... Though, while writing this, I don't remember if I ever tested restarting the cabinet with the controller attached to see if that works directly..
Well, any pointers anyone has are most welcome. My plan Z on this if EVERYTHING else fails is to actually take apart two XBox 360 compatible controllers that I have laying around and wire their controls to the cabinet buttons. It's a creppy last-ditch solution, but at least that will hopefully work.
I also attached a few images with the cabinet and controller board. It's work in progress and that piece of wood that holds the keyboard is there just for that. It will look better once I finish it.



Everything actually went smooth up to the point where I tried to hook up the controller kits. And that proved to be a ridiculously complicated step. What happened was that neither controller had ES-DS respond to input even though the controllers ARE in fact working, on the same system even. I know they do since I opened a browser, went to an online testing app and noticed the controllers DO work.
However, when starting up ES-DS, it's not detecting either, it says no controllers connected. The controller firmware seems to be something called DragonRise INC. It's being reported when doing
Code:
ls /dev/input/by-id/
Code:
ls /dev/input/by-path/
So I said, hell, there has to be a workaround, and I did find one. I installed xboxdrv, set up some scripts that register two identical services, such as /etc/systemd/system/xboxdrv_p1.service which they attempt to hook up the controllers at startup (sudo systemctl enable xboxdrv_p1.service):
Code:
[Unit]
Description=Xboxdrv Daemon for Player 2
After=multi-user.target
[Service]
Type=simple
ExecStartPre=/bin/sleep 5
ExecStart=/usr/bin/xboxdrv \
--silent \
--detach-kernel-driver \
--evdev /dev/input/by-path/pci-0000:00:10.0-usb-0:4:1.0-event-joystick \
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
--evdev-keymap BTN_BASE=a,BTN_BASE2=b,BTN_TOP2=x,BTN_PINKIE=y,BTN_THUMB=lt,BTN_THUMB2=lb,BTN_TOP=rt,BTN_TRIGGER=rb,BTN_BASE5=back,BTN_BASE6=start \
--mimic-xpad
Restart=on-failure
[Install]
WantedBy=multi-user.target
That "kind-of" works, but weirdly. I actually need to physically disconnect and reconnect one of the controllers and then ES-DS sees them. But I cannot for whatever reason have it work directly. That is the closest progress I had so far. I did a lot of running around the issue thinking it's a race condition or anything but I am as of yet unable to make the controllers work directly after you boot up the machine.
My guess is that ES-DS uses SDL2 and that thing doesn't see the controllers correctly.
Just for the hell of it, connected an XBox Series X controller which works with no problem... Though, while writing this, I don't remember if I ever tested restarting the cabinet with the controller attached to see if that works directly..
Well, any pointers anyone has are most welcome. My plan Z on this if EVERYTHING else fails is to actually take apart two XBox 360 compatible controllers that I have laying around and wire their controls to the cabinet buttons. It's a creppy last-ditch solution, but at least that will hopefully work.
I also attached a few images with the cabinet and controller board. It's work in progress and that piece of wood that holds the keyboard is there just for that. It will look better once I finish it.


