Introduction
The first official Mupen64Plus release which includes support for the Rumble Pak feature is v1.4. This feature has been tested and is known to work with Logitech Rumble Pad 2 wireless controllers.
Prerequisites
In order to use the Rumble Pak feature in Mupen64Plus, you must have the HID Force Feedback module enabled in your kernel, and you must have the proper HID force feedback driver for your gamepad also enabled in your kernel. The easiest way to test your system for compatibility is to run the emulator from a console and launch a game to get diagnostic messages from the emulator. Look in the printed information for this line:
[blight's SDL input plugin]: version 0.0.10 initialized.
Just prior to this line, there should be some messages regarding the rumble pak feature. The meanings of the various messages are given below:
- [blight's SDL input plugin]: Couldn't find input event for rumble support.
This suggests that your kernel does not have the required support for the rumble feature
- [blight's SDL input plugin]: Couldn't open device file '/dev/input/eventX' for rumble support. (X is a number)
This is usually caused by restrictive permissions. It is easy to set the correct permissions on this device file. You can do this by entering "sudo chmod 666 /dev/input/eventX" where X is the number given in the error message.
- [blight's SDL input plugin]: Linux kernel communication failed for force feedback (rumble)
This error message can occur when your kernel does not have support for HID Force Feedback built into it or as a module. You must rebuild your kernel to include support for both HID force feedback and the correct driver for your gamepad.
- [blight's SDL input plugin]: No rumble supported on N64 joystick #1
This could be caused by lack of kernel support or by using a joystick which does not support force feedback
- [blight's SDL input plugin]: Rumble activated on N64 joystick #1
Rumble is working and enabled
Configuration
The Blight Input configuration dialog allows the user to configure the default pak to be plugged-in at game start time (this can be either Mem Pak, Rumble Pak, or None). It also allows the user to assign controller buttons to two switches, called "Mempak Switch" and "Rumblepak Switch". When these buttons are pressed, it will swap in a "virtual memory pak" or a "virtual rumble pak" in the selected controller. There will also be tactile feedback given when switching paks - plugging in a memory pak will give a weak rumble, while plugging in a rumble pak will give a strong rumble.
Does this apply to OS X? I can't see anything in Console about blight's plugin when I launch a rom.
The input plugin is not called Blight's Input plugin any more; now it's just called SDL Input plugin. However I don't think that the rumble feature works for OSX or Windows; it's Linux-only. Since SDL doesn't support force-feedback (yet), this feature uses Linux kernel calls to activate the rumble.
hi, can someone please state whether the rumble works on the logitech WIRED rumble pad 2? i thought it was odd that the wireless one is mentioned by not the wired one that costs $10 less. it's fine if the wired controller doesn't work, just let us know so we know what to buy! i'm on ubuntu 9.10 by the way.
thanks for the response.
I just mention the wireless RP2 controller because that's what I have. The wired controller hasn't been tested but will very likely work. As long as it has a linux kernel driver (probably the same for both rumblepads) it should work.
thanks! and thanks for your excellent work. mupen's wicked!
Thrustmaster's Firestorm Dual Power 3 has broken rumble support in the kernel, but does work using the userspace driver xboxdrv.
Any chance of the input plugin being able to utilise this? The Thrustmaster controller is at least 'correctly' detecting the controller as "X-box 360 controller" now, but still no rumble supported, according to the command line output, and rumble still no worky.
I have a GreenAsia? USB-to-PS1 adapter (0e8f:0003) which has a force feedback driver: CONFIG_PANTHERLORD_FF=y. Is there any way to make it work, or does this all depend on what the input plugin supports?
flussence, it should be possible to make it work. The input plugin just directly talks to the kernel, so if the kernel supports it, it should work. Just follow the instructions on this page above.
Never mind, I changed the udev rules and it didn't seem to work, but after a reboot it did.
Hi, I had Mupen working with my HuiJia? (2 port) adapter and Nintendo brand N64 controllers on OS X 10.6.4 , then reinstalled and can't get the input cfg to work at all. It says "SDL Joystick Not Available" in the console about port #2, which has a controller in it. No matter how I change the settings in the ini file, it keeps getting the C buttons and the stick confused.
I remember before that I found a program that would tell me which button/axis/etc I was pressing on the controller, but I can't find it anymore T_T Can anyone help me?
Update: Input: N64 Controller #1: Using stored configuration with joystick 'USB GamePad?' Input: N64 Controller #2: Disabled, SDL joystick is not available
I get this information -- when I remove all entries but 'keyboard' from the input autocfg. Why?! Where is it 'storing' this configuration? Shouldn't it say it's using auto-configuration?
You're not really supposed to edit the input autocfg file. It's stored in a common system location (/usr/local/...) that normal users would not be able to write to. When you run the emulator with '--saveoptions' it takes the auto-configured parameters and writes them to the user's config file (mupen64plus.cfg). It's designed this way so that a front-end could allow a user to configure his/her own settings, but the auto-config would still work in the usual way for other users.