Running a CUDA app with computation on one graphics card and OpenGL display on another

I have a Nvidia/intel combination with side-by-side installation of two OpenGL libs. I can successfully run console CUDA apps (e.g. devQuery) on the discrete card and OpenGL apps (e.g. glxgears) on the IGP. What I cannot achieve is the CUDA/GL interop (e.g. mandelbrot or simpleGL CUDA sample), which gives me the following error at fist interop function call:

“all CUDA-capable devices are busy or unavailable”

This may be a stupid question but is it even possible to have CUDA context created by nvidia driver to interop with the OpenGL context created by mesa? If not, can I somehow convince the CUDA app to load the nvidia libGL (even though linking against nvidia libGL, ldd still shows that the executable depends on mesa libGL)? All libs are visible through ldconfig, despite having the same names. Could bumblebee switcher provide the solution?