This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources. (August 2015) (Learn how and when to remove this template message) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Rio" windowing system – news · newspapers · books · scholar · JSTOR (October 2013) (Learn how and when to remove this template message) (Learn how and when to remove this template message)
Developer(s)Rob Pike
Initial releaseFourth Edition / April 28, 2002; 21 years ago (2002-04-28)
Written inC
Operating systemPlan 9 from Bell Labs
TypeWindowing system Edit this on Wikidata

rio is Plan 9 from Bell Labs' windowing system. It is well known for making its window management transparent to the application. This allows running rio inside of another window manager.


rio is the latest in a long series of graphical user interfaces developed at Bell Labs, mostly developed by Rob Pike, the concurrent window system, and the Blit (which predated X).


8+12 was a window system developed for the Plan 9 from Bell Labs operating system by Rob Pike. According to its documentation, the system has little graphical fanciness, a fixed user interface, and depends on a three-button mouse. Like much of the Plan 9 operating system, many operations work by reading and writing to special files.

Because of the limitations stemming from its unusual implementation, 8+12 has been completely rewritten into its successor rio in recent Plan 9 versions.


rio was a complete rewrite of in Alef. Its main change was that it stopped parsing and rewriting graphical commands and let the client write pixels directly. This was done mainly for efficiency. As Alef disappeared due to being too difficult to maintain given the number of people working on Plan 9 at the time, rio was rewritten in C. This was done using the Plan 9 thread library which was inspired by Alef and had most of its features, such as blocking channels for interthread and interprocess communication. Another important change, due more to the environment than to rio per se, is that rio supports full colour, using alpha compositing, whereas 8½ uses bitblt operations.

Design concepts

Many of its features embody key Plan 9 design concepts:

See also