Steam doesn't work with Bumblebee
I'm currently running Arch Linux with the latest NVidia (660M) and Intel (HD 4000) drivers as well as the latest kernel, etc. To my knowledge, the difference between Ubuntu's packages and Arch's should not affect the status of this bug, however, I could be wrong.
Quoting the Arch Linux wiki:
"Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in GNU/Linux systems. Such feature involves two graphics cards with two different power consumption profiles plugged in a layered way sharing a single framebuffer."
Essentially, the Intel graphics card manages the X server and display, however, if I run a program through bumblebee (done by sending it to the optirun or primusrun command, primusrun preferred if available), it will pass all of the OpenGL calls to the NVidia card to actually render the window, then send the rendered data back to the Intel card so that it can be displayed on the screen. As far as the program is concerned, it is running exclusively on the NVidia card.
The side effects of this program is the fact that the games are run in a different X display than the rendered screen, meaning that any attempt to open game windows on the current display through Bumblebee fail.
A suggested functionality for Steam would be:
- If the primusrun command is available, run the game via primusrun <command>.
- If the optirun command is available, run the game via optirun <command>.
- If neither is available, run the game as normal.
Note that there are no visible side effects if primusrun/optirun calls are nested, for example, steam is run in optirun/primusrun and then the games are run in the same fashion.
Currently, Steam does run any games for me when called via primusrun steam or optirun steam. Without this, I can't use my NVidia card for games, etc.
Just to make sure that I'm clear, Steam does work normally. The problem is that if it is run through Bumblebee, it fails, and I need to run it through Bumblebee if I want to utilise the NVidia GPU on my laptop.
Last edited by Ordi
Dec 9, 2012 @ 12:06am