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: 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!
Login / Register
- Half-Life 2 free to keep until November 18th, Episodes One & Two now included with a huge update
- Linux GPU Configuration Tool 'LACT' adds NVIDIA support
- Hybrid gaming controller MoveMaster has a new website, shipping to the UK now available and 10% off
- Avowed from Obsidian gets a release date, and pre-orders with earlier access if you pay £80
- Get a fresh look at Half-Life 2 RTX in a new video plus the Steam page is now live
- > See more over 30 days here
-
Dungeon Clawler will grab hold of your free time now it…
- Phlebiac -
Give your Steam Deck a refreshed look with these new Ra…
- Phlebiac -
Steam getting proper Season Pass support with clearer g…
- Phlebiac -
Steam getting proper Season Pass support with clearer g…
- Purple Library Guy -
Steam getting proper Season Pass support with clearer g…
- Salvatos - > See more comments
- Our own anti-cheat list
- pleasereadthemanual - Spare gog keys
- on_en_a_gros - What do you want to see on GamingOnLinux?
- dpanter - Nintendo-style gaming, without Nintendo!
- Talon1024 - Warhammer 40k Inquisitor Martyr - Hierophant class new dlc…
- Jarmer - See more posts
View PC info
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 ), 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....
View PC info
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
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$
Couple of things here, you've tried to run make install after a build error - this is doomed to fail in any case. Before trying make install, verify the module is compiled.
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 December 2023 at 12:51 am UTC
View PC info
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 December 2023 at 10:37 pm UTC
View PC info
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
Better luck next time
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.
(This isn't intended to sound rude or anything like that, just a general observation. )