Cabinets Cabinet custom build - ES-DS not recognizing the controllers

EnthusiastGuy

Young Hero
Level 1
21%
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
Code:
ls /dev/input/by-id/
When I do
Code:
ls /dev/input/by-path/
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):

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.

C3.jpgC2.jpgC1.jpg
 
I'm assuming by ES-DS you're meaning ES-DE? I find that to be a good enough system for common hardware and controllers, but I prefer RetroPie's implementation and robustness on Linux. Multiple suggestions here, but skip to the last paragraph for the easiest one to try.

RetroPie also includes EmulationStation and RetroArch, alongside a default set of emulators and Libretro cores, but it additionally has a bit more of a granular sort of "package manager" specifically for additional tools and emulators, as well as some other advanced settings. It theoretically should run without issue on Peppermint, but here's a quick terminal command script I use for Debian, which gets you to the setup utility for RetroPie out of a fresh install:
sudo sed -i "/^deb cdrom:/s/^/#/" /etc/apt/sources.list && sudo apt update && sudo apt upgrade && sudo apt install -y git dialog unzip xmlstarlet && git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git && cd RetroPie-Setup && sudo ./retropie_setup.sh

It is likely your controller board is utilizing xinput, as the majority of these sorts of boards do. I'm not sure if a default input API option is present in ES-DE, but that is adjustable in RetroPie. RP does also have multiple Xbox\xinput drivers available through the configuration tool.

That all being said, I can't find much information on your particular board, and given the cost and lack of documentation, it could also be partially what's causing you grief. Something like a Zero-Pi Fighting Board EASY (If you're in Europe\UK) or I-PAC2 (for North America) would be two boards I might suggest to replace it with if that would be within budget and/or scope, although they'd of course require some more fiddling with electronics and connections.

Depending on the specs and age of your MiniPC, and your general feelings on a commercial OS, you might also just go the route of a Windows 10 or 11 LTSC install with RetroBat. I have an old TMNT arcade cabinet converted into a somewhat similar setup, and I have that running on Windows with an I-PAC4 connected to the controls. It tends to handle any additional controllers I throw at it without issues, and is running 24/7. This is now what I use for most of the new systems I set up, due to sometimes significantly reduced hassle, with little to no practical tradeoffs on any capable hardware.

All that said, if you want a quick and dirty (but effective) hack, you could also just utilize something like AntiMicroX to remap the buttons and joysticks to keyboard inputs, which will likely pick up just fine in ES-DE.
 
Last edited:
I'm assuming by ES-DS you're meaning ES-DE?

Yes, indeed. Sorry about that, got the letters mixed-up.

RetroPie also includes EmulationStation and RetroArch, alongside a default set of emulators and Libretro cores, but it additionally has a bit more of a granular sort of "package manager" specifically for additional tools and emulators

Yeah, I did consider using RetroPie initially. I think I decided on the ES-DE since I liked the UI more. I didn't know RetroPie actually can have ES-DE in it.

All that said, if you want a quick and dirty (but effective) hack, you could also just utilize something like AntiMicroX to remap the buttons and joysticks to keyboard inputs, which will likely pick up just fine in ES-DE.

Whoa, that's what I'm looking for. Indeed, this will work, THANK YOU! It was already getting ridiculous. Sat on this problem for quite some time! I'll take it! :D
 

Users who are viewing this thread

Connect with us

Support this Site

RGT relies on you to stay afloat. Help covering the site costs and get some pretty Level 7 perks too.

Featured Video

Latest Threads

LaunchBox v13.23

LaunchBox v13.23 is released. LaunchBox is a portable, box-art-based games database and launcher...
Read more

Favorite computer operating system

OMine is Windows XP and yours, tell me what your favorite operating system is.
Read more

Cabinet custom build - ES-DS not recognizing the controllers

Alright, so I started building one of these. The idea was simple. I'm going to put it together...
Read more

Online statistics

Members online
130
Guests online
207
Total visitors
337

Forum statistics

Threads
11,990
Messages
292,339
Members
858,067
Latest member
anhdoi75

Advertisers

Back
Top