Since you asked about Linux, I have been running XBMC-12.1 over Fedora Core 18, and it works very well. I am using a home-built i5 box, and the built-in HD-3000 graphics. No issues so far playing 1080p content.
As far as my setup, all my audio components and the HTPC are in a remote closet, and I am running the output HDMI from the receiver in the closet over RG6 coax back into into HDMI to my living-room TV. I am controlling the audio components using a Logitech Harmony remote across an ancient IRMid RF repeater (now called X10 PowerMid, I guess). I don't have an IR receiver on the HTPC yet, just controlling XBMC using xbmcRemote on iPad/iPhone over WiFi, works really well. I am using the Aeon Nox 4.0 skin, I am liking it more and more over the default Confluence skin.
In my case, the "HTPC" is also my media server. I have a RAID-1 configuration external enclosure that holds my media. The HTPC can access the files directly. For remote boxes to access the media, I also have Serviio running as a DLNA/uPnP server. Failing that, I have SAMBA running so remote boxes can mount using Windows SMB protocol. If your HTPC is not the same as your media server, you could use the same technique, XBMC on the HTPC can use either/both DLNA and SMB to mount remote media folders.
About the only issue I have is starting XBMC up. I have kludged some udev rules and bash scripts to detect HDMI being connected/disconnected, and then bring up XBMC on the extended screen (using xrandr and wmctrl), as well as turn off all the X-Windows/window-manager screen blanking. But it is not reliable always. Usually, I start the remote sequence using the Harmony to turn on the receiver and the TV, and XBMC may or may not be on. A couple of power-cycles of the receiver with the remote and XBMC is up correctly (this has nothing to do with HDMI handshake, just the 2nd screen detection and coordination).
Hope this helps!
PS: Other issues: No native XBMC solutions for Netflix, Vudu, etc.