Dolphin, the GameCube and Wii emulator - Forums

Full Version: Linux and inputs.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
What's the deal with sdl and linux? I have an adapter that is always different with dolphin builds.

examples
ubuntu stable 4.x works
ubuntu 5.x dev fails
fedora 4.x any fails

When I say fails I mean the device does no show up to select in the config screen. Though in all cases I see a js0 and event5 and testing with jstest ot jstest-gtk works fine as does wine with joy.cpl. Also fftest seem to work well also but Force feedback never works in dolphin. When dolphin runs in windows I see it query for FFB as it does when you hit refresh in the config. Linux never does this, it does not even look for FFB device?


There are never issues with mac or windows just linux and each build has weird quirks. Is it just that SDL is a pain to deal with or linux does not handle SDL well?
The latest master builds do not use SDL anymore (because it caused a lot of issues) and instead rely on evdev. Normally this should not change anything as far as Dolphin is concerned apart from the device (which has to be set to use evdev); however, in practice, the controllers won't show up in Dolphin because of permission issues. By default, the controller inputs are not readable/writable to Dolphin -- you need to

- configure udev to set permissions automatically
- or manually grant permissions to your user with chmod

I'm not sure if the latest 5.x builds have the commit that removes SDL. You could probably confirm that by checking the repo.
Just found the progress report entry for it. The PR is here (#2675), and it looks like it's in both master and the previous stable branch.
I sorta had the feeling it was a permission thing but I could not get GKsudo or whatever to work. Not really sure the best way to do this but I can try 750'ing my user for kicks.
Before you start messing with permissions, could you run this to check if it is really related to permissions? This will run Dolphin as root (obviously a bad idea but fine if you're just testing):

gksudo /usr/games/dolphin-emu

Dolphin's binary is in /usr/games, which is not in root's PATH. This is probably what caused gksudo to fail if you simply used "gksudo dolphin-emu".
For udev, I have this rule for allowing Dolphin to access my Wiimote devices (created by xwiimote):

/etc/udev/rules.d/51-nintendo.rules
Code:
ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0306", MODE="0666"
DRIVERS=="wiimote", MODE="0666"

To make it work for your controllers, you would only have to change the idVendor and the idProduct. And perhaps remove the second line which would be useless in your case.
SDL itself also uses evdev, so it's likely not a permission issue. Do you compile dolphin on your own? If so, do you have libevdev-dev and libudev-dev installed?
Well, for some reason, as far as I can remember, SDL did not need any special permissions, whereas evdev needed them or the device wouldn't even show up.
gksudo will not install, apt-get can not find it. On ubuntu I didn't do a build but fedora I had to. I'm not sure about libevdev-dev and libudev-dev, ill have to check on that. I'll also try the ATTRS command when I get back to this.
gksudo is in the package gksu, not gksudo. When in doubt, apt(-cache) search gksudo can help Wink

If launching Dolphin as root works, then you would just have to configure permissions with udev.
Pages: 1 2