@peg Many thanks for all this work too. Just to let you know I had to tweak this guide slightly as when running 'make modules_prepare' I got errors on Retropie 4.8 running on a pi zero 2W. It seems that I had to install 'libssl-dev' first before this command. Can confirm that after this all other steps worked, rebooted and rumble working on both pads as expected on the Trixes adaptor.
For those getting the same errors, here's a full update to @peg guide (I take no credit and thank @peg for this easy tutorial and just helping anyone with the same issue)
# Install required tools (bc is required for modules_prepare, see Compile) sudo apt-get update sudo apt-get install build-essential bc # Setup required variables FIRMWARE_HASH=$(zgrep "* firmware as of" /usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz | head -1 | awk '{ print $5 }') KERNEL_HASH=$(wget https://raw.github.com/raspberrypi/firmware/${FIRMWARE_HASH}/extra/git_hash -O -) KERNEL_VERSION=$(uname -a | awk '{ print $3 }') HID_DRIVERS_DIR=/lib/modules/${KERNEL_VERSION}/kernel/drivers/hid BUILD_DIR=~/psff_build # Setup build dir mkdir $BUILD_DIR cd $BUILD_DIR # Get kernel source wget https://github.com/raspberrypi/linux/archive/${KERNEL_HASH}.tar.gz -O ${KERNEL_HASH}.tar.gz tar xfz ${KERNEL_HASH}.tar.gz cd linux-${KERNEL_HASH} # Get Module.symvers and Module7.symvers (not sure Module.symvers is really needed) wget https://raw.github.com/raspberrypi/firmware/${FIRMWARE_HASH}/extra/Module.symvers wget https://raw.github.com/raspberrypi/firmware/${FIRMWARE_HASH}/extra/Module7.symvers # Get current kernel config sudo modprobe configs gunzip -c /proc/config.gz > .config # Enable force feedback / rumble support sed -i 's/# CONFIG_PANTHERLORD_FF is not set/CONFIG_PANTHERLORD_FF=y/' .config sed -i 's/# CONFIG_GREENASIA_FF is not set/CONFIG_GREENASIA_FF=y/' .config # install libssl-dev otherwise following driver compile will fail on 4.8 / pi zero 2w sudo apt-get install libssl-dev # Compile driver make modules_prepare make drivers/hid/hid-pl.ko # Update existing hid-pl.ko with FF support (w/ backup of old version) sudo cp -b drivers/hid/hid-pl.ko ${HID_DRIVERS_DIR} # Enable ff-memless module (not sure why "sudo echo ..." isn't enough) sudo su echo ff-memless >> /etc/modules exit # Reboot sudo reboot