On Linux I just use xbindkeys to get the extra buttons to do something. The extra mouse buttons work out of the box with X with no drivers, they just need to be assigned to do something.
I have 2 extra mouse buttons for switching between virtual workspaces and another 2 for volume control.
I have 2 extra mouse buttons for switching between virtual workspaces and another 2 for volume control.
https://github.com/dheera/scripts/blob/master/config/config-...
https://github.com/dheera/scripts/blob/master/config/files/x...