The code registers fine with PCs running Windows and Linux.. I simply can;t figure out why the xbox doesn't register the chip, but I suspect there;s more to the protocol than is in the open-source drivers.
The AVR code: https://github.com/ripdajacker/xpad-avr
Edit:
The pi cannot be a host and a USB device at the same time which means it would also need a USB shield type device.
This means the AVRs are a better bet since they can be had for under $5 worldwide (whereas the Pi is $10-15 plus shipping where I live).