Bumblebee has two components:
- Power Management (PM)
- Enable you to use the dedicated GPU
The PM component puts the Nvidia card in the D3 state to save power when Bumblebee thinks that you do not need the dedicated GPU.
The second component (which you are asking about) is accomplished by starting a X server that binds to the Nvidia card. Each client that wants to render something on the Nvidia card needs this X server for rendering. Since this server is headless, you won't see anything until it is drawn to a display. The desktop that you run on the Intel GPU is used for displaying the rendered frames. In order to transfer the frames from the rendering X server to the displaying X server, a bridge such VirtualGL or primus is needed.
ASCII art that shows the architecture when three different applications are running using both primus and virtualgl as transport:
| rendering X server (Nvidia) |
|| || ||
VirtualGL-\ /--primus /-primus
|| \ / || | ||
|glxgears| || |glxgears| | |java|
| displaying X server (Intel) |
So no, you cannot use
optirun startx or something to draw your full desktop on the Nvidia card. Remember that the Nvidia GPU is headless, rendering something on the nvidia card and then transporting it back for displaying on the same headless GPU is quite useless. If you have an external monitor, it might be possible (varies between hardware) to render/display everything on that screen (see Bumblebee wiki).
You may also be interested in http://wiki.bumblebee-project.org/FAQ