Current multi-display environments (MDEs) can be composed of displays with different characteristics (e.g. resolution, size) located in any position and at different angles. These heterogeneous arrangements present specific interface problems: it is difficult to provide meaningful transitions of cursors between displays; it is difficult for users to visualize information that is presented on oblique surfaces; and it is difficult to spread visual information over multiple displays. In this paper we present a middleware architecture designed to support a new kind of perspective-aware GUI that solves the aforementioned problems. Our interaction architecture combines distributed input and position tracking data to generate perspective-corrected output in each of the displays, allowing groups of users to manipulate existing applications from current operating systems across a large number of displays. To test our design we implemented a complex MDE prototype and measured different aspects of its performance.