For a 3D scanner implementation I need to precisely control the output of a projector connected as a second monitor to my graphics card. I would need to issue OpenGL commands in a full screen context on this second monitor using a second X server instance. I am on Ubuntu 13.04 with a Dell Precision T3600 Workstation containing a AMD V7900 GPU.

How do I get one X server with Unity on the main screen and a second X server instance for the projector which contains only a fullscreen OpenGL context?


OK, I came up with a solution, albeit it is a bit trickery. I have configured my graphics driver for a multi display setup. This way each "monitor" is represented as a separate X screen. Ubuntu Unity does not play nicely with this, as it currently expects a XrandR setup with a single virtual screen. However, by erasing the relative screen location information from my xorg.conf, Unity is ignoring the second screen altogether. Now, I can create a fullscreen OpenGL context on the second X screen without any interference from the OS. The top of my xorg.conf looks like this:

Section "ServerLayout" Identifier "amdcccle Layout" Screen 0 "amdcccle-Screen[5]-0" 0 0 Screen "amdcccle-Screen[5]-1" EndSection

In the old-style multi-screen setup, the second screen would have position specifiers (e.g. 1920 0 or "Right of Screen 0"). By removing them, the second screen is ignored.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.