I had a surface pro 4 with Linux for several years. The install process is a bit annoying since you need to get the custom surface kernel but other than that it worked great. I had a lot of issues with the hardware (unrelated to Linux), but I’ve heard that it has gotten better with the newer versions