Microsoft has their own controller protocol, xinput, it only works with xbox and PC
Sony and Nintendo both use BT HID, but add their own non-standard extras to deal with trackpads and gyros, on PC there are drivers to deal with this (inc. w/Linux kernel, extra on Windows)
For Wireless, Sony and Nintendo both use standard Bluetooth, you can pair a Switch or PS4/5 controller straight to a PC (though you will need extra software on Windows)
Microsoft uses either their somewhat proprietary 802.11AC implementation (only works with their dongles - you will need extra software on Linux, fully supported in Windows ootb) or standard Bluetooth, their BT has the highest latency of any of the 3 major controllers, but their 5ghz 802.11AC has the lowest. BT mode requires no extra drivers and will work fine ootb on Linux or Windows. You can’t use a headset plugged into the controller or connected by BT (to the controller) if you’re connecting the controller via BT.
MS has additional trigger rumbling/tension on the Xbox One/Series controllers, in Windows it will only work with MS Store apps - it won’t work on any Steam game :( on Linux it will work, but nothing really supports it either.
Sony has a much better implementation in the PS5 controller, nothing outside Sony published games use it though - but it’s compatible on Windows with additional drivers (DS4Win) (not sure about Linux here)
For Nintendo Switch on Windows you will need BetterJoy (previously, BetterJoyForCEMU) to support switch controllers properly, this also makes a DS4Win style gyro server, so anything that support ds4win will support Switch gyro too.