Part of the process of implementing GraphicsDevice and GraphicsAdapter involve a number of related classes. The first I'm going to tackle is GraphicsDeviceCapabilities.
As per the MSDN documentation, this class represents the capabilities for the hardware. It is made up of no less than 18 structures, defined with the GraphicsDeviceCapabilities class definition. I expect I may run in to a few cross platform issues whilst implementing some of the queries, so it will be an interesting exercise.
Over the coming days / weeks / whenever, I'm going to document each structure as a separate article and on the Mono.XNA groups as to how I've obtained the capabilities, with references to articles, etc - hopefully garnering feedback from the Mono.XNA team and other OpenGL / DirectX experts.
I've also created a page on the mono.xna discussion group, to track and document our implementation of the various GraphicsDeviceCapabilities structures.