The support seems quite good actually. I haven't used it personally, but I use a Huawei Matebook (with Arch) hence looked around for kernel patches and touch support – only thing not working for me is hardware buttons and the fingerprint scanner, but there is a patch for hardware buttons on the SP. Lot's of activity on https://www.reddit.com/r/SurfaceLinux/
You can check /r/surfacelinux for the latest threads on hardware support. Surface pro 1 and 2 are now well supported, Surface pro 3 is well supported too if you apply a few kernel patches, and for the 4 there is still work to be done.
From what I understand, and this is just what I've read, the Pro 4 has keyboard and touchpad issues (Fedora 25). There are a bunch of kernel patches available but I'm not sure if they resolve the issues.
If anyone with actual experience could add to this, that would be great. It does look like a great combo.
The typecover 4 is natively supported since kernel 4.10.
With Ubuntu 16, this worked out of the box, no issues. The main problem I found was hidpi scaling, which is in no way unique to the surface.