My new joystick is not recognized by Descent 3 Linux version
My new joystick is not recognized by Descent 3 Linux version
This is my first post here. I'm proud to be part of this community!
Now, let's discuss about my problem.
I run SuSE Linux 10.0 (planning to change it to Kubuntu Dapper Drake very, very soon) and I have the Loki Linux version of Descent 3 (1.4b version) installed.
Yesterday, I bought a great new joystick by Saitek (model Saitek Cyborg Evo Force Feedback).
The operating system recognizes it perfectly and matches it with the device file /dev/input/js0.
Also, all the games I tested it, including Descent 1 and 2, work with it perfectly, always on the same operating system.
All, expept Descent 3.
Because, when I run Descent 3 I get the message (from console):
SIGNAL 8 caught, aborting
and the game fails to load.
This happens almost always, when I have the joystick plugged and I don't have any problem at all when I unplug the joystick.
There are a very few times that Descent 3 runs without the error message at all (I don't know why the game changes behavior these very few times), while the joystick is connected, but when I configure controls for joysticks from options the game says \"0 joysticks recognized\" and when I press buttons in joystick to change the control buttons, the game doesn' t accept them.
Notice that the Linux version of Descent 3 recognized and worked perfectly with my previous controller, a Microsoft Freestyle Pro gamepad.
Both joystick and gamepad are USB (of cource).
Is this a bug of Linux version of Descent 3?
Do you have any idea that could help?
\"./descent3 --help\" didn't help me.
I need desperately to make this joystick work with Linux version of Descent 3. This game is the main reason I bought the joystick!
If you know anything to solve the problem, please post it here.
Thanks for reading this.
Now, let's discuss about my problem.
I run SuSE Linux 10.0 (planning to change it to Kubuntu Dapper Drake very, very soon) and I have the Loki Linux version of Descent 3 (1.4b version) installed.
Yesterday, I bought a great new joystick by Saitek (model Saitek Cyborg Evo Force Feedback).
The operating system recognizes it perfectly and matches it with the device file /dev/input/js0.
Also, all the games I tested it, including Descent 1 and 2, work with it perfectly, always on the same operating system.
All, expept Descent 3.
Because, when I run Descent 3 I get the message (from console):
SIGNAL 8 caught, aborting
and the game fails to load.
This happens almost always, when I have the joystick plugged and I don't have any problem at all when I unplug the joystick.
There are a very few times that Descent 3 runs without the error message at all (I don't know why the game changes behavior these very few times), while the joystick is connected, but when I configure controls for joysticks from options the game says \"0 joysticks recognized\" and when I press buttons in joystick to change the control buttons, the game doesn' t accept them.
Notice that the Linux version of Descent 3 recognized and worked perfectly with my previous controller, a Microsoft Freestyle Pro gamepad.
Both joystick and gamepad are USB (of cource).
Is this a bug of Linux version of Descent 3?
Do you have any idea that could help?
\"./descent3 --help\" didn't help me.
I need desperately to make this joystick work with Linux version of Descent 3. This game is the main reason I bought the joystick!
If you know anything to solve the problem, please post it here.
Thanks for reading this.
try linking /dev/input/js0 to /dev/js0
You have to run that command as root of course. You will also have to run it again every time you reboot so it would be a good idea to put it in your local.rc startup file, wherever that file is in suse.
I think when D3 was made the joystick device location wasn't standardized to d3 looks for it in /dev/js0 instead of the proper /dev/input/js0 location.
EDIT: re-reading your post it looks like there might be a different problem. Will the game run as root? Sometimes logging in as root and running the game will help you to narrow down the problem to a permission issue.
Code: Select all
ln -s /dev/input/js0 /dev/js0
I think when D3 was made the joystick device location wasn't standardized to d3 looks for it in /dev/js0 instead of the proper /dev/input/js0 location.
EDIT: re-reading your post it looks like there might be a different problem. Will the game run as root? Sometimes logging in as root and running the game will help you to narrow down the problem to a permission issue.
Why doesn't it work?
I believe the standard location is /etc/rc.d/rc.local
It will be somewhere under the /etc directory in the startup scripts location. I am running Gentoo Linux which DOES NOT have it in the most common location. Mine is under /etc/conf.d/local.start.
You should just be able to add that link command to the end of the \"local\" script, wherever it is on your system.
The reason I chose that script is because it is the last one that is run on startup on a Linux system. Your command will be the last thing to be executed.
Please let me know if I need to be more clear. I have no idea how familiar you are with Linux.
It will be somewhere under the /etc directory in the startup scripts location. I am running Gentoo Linux which DOES NOT have it in the most common location. Mine is under /etc/conf.d/local.start.
You should just be able to add that link command to the end of the \"local\" script, wherever it is on your system.
The reason I chose that script is because it is the last one that is run on startup on a Linux system. Your command will be the last thing to be executed.
Please let me know if I need to be more clear. I have no idea how familiar you are with Linux.
Why doesn't it work?
- FunkyStickman
- DBB Ace
- Posts: 309
- Joined: Wed Apr 20, 2005 2:26 pm
- Location: 'Nawlins
Welcome to the Descent/Linux family. Once you've gotten a handle on D3 in Linux, make sure to check out Munk's Linux Checksum Bugfix Thread so you can play ALL the levels with other Descenters running Windows. Don't be afraid to ask questions! I'm using pretty much nothing but Suse Linux (since version 9.0) so there's a good possibility I've been there before...
Again, welcome.
Again, welcome.
- SkyNet
- DBB Ace
- Posts: 78
- Joined: Mon Jul 19, 2004 3:56 pm
- Location: Spartanburg, South Carolina
- Contact:
I'm curious as to why this command is needed at each reboot? If my memory serves correct, then this is a symlink to /dev/input/js0. If this command is issued as root, then it should be a permanent file.Xamindar wrote:ln -s /dev/input/js0 /dev/js0
You will also have to run it again every time you reboot.
On most recent systems, /dev is a RAM-disk; it starts from scratch
at each boot and device files are created on-demand by a daemon
such as udev. So, manual tweaks to /dev are lost when the machine
shuts down or reboots.
Doing a Google search for \"udev\" will help you find out more.
at each boot and device files are created on-demand by a daemon
such as udev. So, manual tweaks to /dev are lost when the machine
shuts down or reboots.
Doing a Google search for \"udev\" will help you find out more.
If you're using udev, then the line:
will automatically create a symlink called /dev/js[0-9] pointing at /dev/input/js[0-9]. For Ubuntu, the proper place to put that line is in /etc/udev/rules.d/60-symlinks.rules; SLED probably uses a different filename. If/when you switch to K/Ubuntu, you'll have to add that line.
Code: Select all
KERNEL==\"js[0-9]*\", SYMLINK+=\"%k\"