Right now we just assume that every compositor and portal implementation exposes both window and monitor captures, but that's not true, and in fact the Desktop portal provides a simple mechanism to check which source types are available: a D-Bus property called "AvailableSourceTypes". Read this D-Bus property, and use it to conditionally register the desktop and the window captures. Related: https://github.com/obsproject/obs-studio/issues/4815
Linux XShm capture plugin This plugin uses the MIT-SHM extension for the X-server to capture the desktop. Todo: - handle resolution changes of screens - handle adding/removing screens while recording - support different depths Contributing: If you are interested in helping out with the plugin, please drop by in the #obs-dev channel on quakenet. References: - http://www.x.org/releases/current/doc/xextproto/shm.html