While you're here, please consider supporting GamingOnLinux on:
Reward Tiers:
Patreon. Plain Donations:
PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers:
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- NVIDIA announce a native Linux app for GeForce NOW
- KDE Plasma 6.6 will finally stop the system sleeping when gaming with a controller
- Linaro reveal they're collaborating with Valve for the Steam Frame
- NVIDIA announce DLSS 4.5 with Dynamic Multi Frame Generation, plus DLSS Updater gets Linux support
- Mesa RADV driver on Linux looks set for a big ray tracing performance boost
- > See more over 30 days here
- Weekend Players' Club 2026-01-09
- JSVRamirez - New Desktop Screenshot Thread
- Xpander - Will you buy the new Steam Machine?
- Xpander - Browsers
- Xpander - A succesfull Windows-Ubuntu migration the story
- LoudTechie - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck
I've borrowed a Fanatec Podium DD1 wheel and am trying to make it work.
First I've managed to install Oversteer by following the Build and Install instructions found at https://github.com/berarma/oversteer , that one is quite clear and straightforward.
However to get the wheel to work I need to install the Fanatec driver and here the instructions found at https://github.com/gotzl/hid-fanatecff are quite cryptic to me and I didn't succeed to do anything so far.
Would someone be able to explain in layman's terms how I should proceed to install those drivers ? I've been using Linux for around 7 years now but I must say that GitHub often puzzles me. Sometimes there's a handy file to download that does all the job by itself (like a Windows driver :tongue: ), sometimes you need to go the Terminal route but there are clear instructions and often it is assumed that you know everything about compiling things in Linux and you should be able to work it out. This is where I'm getting lost.
Any simple tips would be much appreciated :)
Anyhow to build the driver:
You need to either check out the code with git (through the command line), or, possibly easier in your case, download the zip of the source file: click the green "Code" button, select "Download ZIP".
Since you're using Mint, I think installing the "dkms" package would install everything that's neede to compile a kernel module. (hid-fanatecff does not use dkms for some reason, but you need the same dependencies).
Extract the .zip archive, navigate to the directory with a terminal, and follow the instructions in the readme:
make
sudo make install
Hopefully things will work at this point, otherwise you need to read error messages, google, or ask for help....
Unfortunately following your advice I ran into some errors (see below). I've tried checking the web for these but there's nothing I can comprehend :unsure:
I think I'll wait a couple more years before checking again if using a Fanatec wheel is a viable option, maybe some day they will notice there are potential customers and start supporting their products on Linux...
:: Compiling Fanatec kernel module
========================================
make -C /lib/modules/`uname -r`/build M=$PWD
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-91-generic'
CC [M] /home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.o
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c: In function ‘ftec_set_display’:
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c:375:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
375 | int bufIndex = 0;
| ^~~
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c:377:9: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
377 | for(int valueIndex = 4; valueIndex <= 6 && bufIndex < count; valueIndex++) {
| ^~~
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c:377:9: note: use option ‘-std=c99’, ‘-std=gnu99’, ‘-std=c11’ or ‘-std=gnu11’ to compile your code
make[2]: *** [scripts/Makefile.build:297: /home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.o] Error 1
make[1]: *** [Makefile:1909: /home/pedro/Téléchargements/hid-fanatecff-next] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-91-generic'
make: *** [Makefile:8: default] Error 2
pedro@xxxxx:~/Téléchargements/hid-fanatecff-next$ sudo make install
[sudo] password for pedro:
-e
:: Installing Fanatec kernel module/udev rule
=====================================================
cp: cannot stat 'hid-fanatec.ko': No such file or directory
make: *** [Makefile:18: install] Error 1
pedro@xxxxx:~/Téléchargements/hid-fanatecff-next$
pedro@xxxxx:~/Téléchargements/hid-fanatecff-next$
To rule out the code, I tried it on my system:
So, we know the code can compile! This is the type of output you should expect[1], if it compiles successfully.
The error you're getting is quite odd, the system should be setting it by default. Try recompiling with:
Only proceed to make install if you get a successful build as shown above.
[1] Minus the compiler differs warning... that's my fault for not rebuilding my kernel after updating gcc (oops!)
Last edited by BlackBloodRum on 25 Dec 2023 at 12:51 am UTC
I've tried with " instead of ', without any quotes, I've tried with c99, with gnu11, always getting the same.
------
pedro@xxxxx:~/Téléchargements/hid-fanatecff-next$ make CFLAGS='-std=c11'
-e
:: Compiling Fanatec kernel module
========================================
make -C /lib/modules/`uname -r`/build M=$PWD
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-91-generic'
CC [M] /home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.o
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c: In function ‘ftec_set_display’:
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c:375:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
375 | int bufIndex = 0;
| ^~~
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c:377:9: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
377 | for(int valueIndex = 4; valueIndex <= 6 && bufIndex < count; valueIndex++) {
| ^~~
/home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.c:377:9: note: use option ‘-std=c99’, ‘-std=gnu99’, ‘-std=c11’ or ‘-std=gnu11’ to compile your code
make[2]: *** [scripts/Makefile.build:297: /home/pedro/Téléchargements/hid-fanatecff-next/hid-ftecff.o] Error 1
make[1]: *** [Makefile:1909: /home/pedro/Téléchargements/hid-fanatecff-next] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-91-generic'
make: *** [Makefile:8: default] Error 2
You might also want to try posting the error message in a bug report. The maintainer seem to e quite helpful:
https://github.com/gotzl/hid-fanatecff/issues/new
Let's just add an "Amen" to this and hope the Gods of FLOSS listen!
Last edited by whizse on 25 Dec 2023 at 10:37 pm UTC
Thanks again but I'll leave it there this time. That's too much hassle for my taste, especially for a gear I have to give back in a couple of days :sad:
Better luck next time :smile:
Just out of interest I tried building on Mint as well and had no trouble at all. I'm running a more recent kernel than you and thus the driver is built on more recent kernel headers, but otherwise the build environment should be clean.
This is a toolchain issue, not a bug in the software itself as confirmed by other people being able to build it. Please don't suggest opening bug reports for help requests on any project, most developers would find that annoying. Discussions/Forums/Discord (whatever a particular project prefers) are a better place for support, such as:
https://github.com/gotzl/hid-fanatecff/discussions
It just helps keep bug trackers clear of clutter, as they should be. :smile:
(This isn't intended to sound rude or anything like that, just a general observation. :smile:)
1. if user has name 'whizse'
1.1 randomize menu order
1.2 hide common options
1.3 laugh like an evil maniac.
:grin: