I haven't tried since the Surface Pro 3, so maybe this has changed, but the answer was "yes with major caveats". A quick search suggests this is still the answer. Several bits of hardware[0] still rely on drivers that haven't been upstreamed to the Linux kernel proper yet, so you'd best be prepared to run a custom kernel. Some things like the webcam don't work at all.
And then there's booting. You will probably have to monkey with secure boot, which means dual booting can be a pain. Big, popular distros are starting to support secure boot, so it might just work, but it might not. And I'd be kind of shocked if MS didn't take the opportunity to ditch legacy x86 baggage[1] to completely lock down boot and make it impossible to run anything but Windows.
In summary, on older Surface devices, yes you can run Linux but you have to pretend it's 20 years ago and Linux is still a pain to get running. On ARM? Good luck.
[0] basically all input methods. Touchpad, keyboard, touch, and pen.
And then there's booting. You will probably have to monkey with secure boot, which means dual booting can be a pain. Big, popular distros are starting to support secure boot, so it might just work, but it might not. And I'd be kind of shocked if MS didn't take the opportunity to ditch legacy x86 baggage[1] to completely lock down boot and make it impossible to run anything but Windows.
In summary, on older Surface devices, yes you can run Linux but you have to pretend it's 20 years ago and Linux is still a pain to get running. On ARM? Good luck.
[0] basically all input methods. Touchpad, keyboard, touch, and pen.
[1] and the freedoms such baggage still carries