The two X520s that I have will refuse to work with non-Intel transceivers unless either you're running Linux and have set the 'allow_unsupported_sfp' option, or have edited the card's EEPROM to unset the "shut down unless the transceiver is a Genuine Intel part" bit. It's my understanding that very many Intel NICs are like this.
I remember [0] the Juniper switches that I used to have (before I switched to Mikrotik) refusing to work with anything other than Official Juniper transceivers.
[0] ...and may MISremember...