I was asked to install openSUSE 13.2 on an optimus (or hybrid) laptop; Lenovo GT 730M.
I’ve already read the Bumblebee SDB page, and doesn’t seem extremly difficult. However, I have concept doubts…
If BIOS had no option to select between Intel and Nvidia or I don’t want to mess with settings at all, Bumblebee would allow me to switch between Intel’s Mesa and Nvidia’s 3D on realtime without having to reboot, right?
When installing Nvidia drivers after Bumblebee has been installed, should I also install the nvidia-glG03 package in order to have Nvidia 3D support for games? Or why is nvidia-glG03 optional?
After setting everything up, how would I actually do the switching? An existent GUI application, a command line…??
Goal is having both Intel and Nvidia graphics working, switching from one to another according to case (Intel if not doing something “serious”, Nvidia when playing).
2 You must use the NVIDIA-bumblebee package NOT the regular package. The reqular package will break the Intel driver
3 follow instruction on the bumblebee page it shows the command line. But you can edit the menu to run certain programs with NVIDA just use the syntax shown in the menu item you want to run faster. Note that right clicking the menu button will give option to edit the entries
Important DO NOT install the regular NVIDIA drivers. If you do you must totally remove before going to bumblebee. Just be sure to follow the bumblebee instruction exactly
If you have any problems ask here do not poke things. If you don’t understand it you most likely will make things worse
Note that I don’t know for certain if the 13.2 bumblebee stuff is out yet so be sure to wait rather then use a previous version
I’ll indeed wait a bit more until 13.2 is done settling well. But I just want to be theorically prepared, no intention of bothering/trolling.
For question 2, is the nvidia-bumblebee package from Bumblebee repo the one to install instead of regular nvidia-glG03 from Nvidia repo? Does nvidia-bumblebee have all gl and 3D components?
For the rest, I read again Bumblebee SDB. It seems the solution Bumblebee implements is very similar to what Windows actually does: using as default global base the IGP (Intel) and running certain programs/applications with the DGP (Nvidia), but seemingly not the entire system on the DGP. With another search I found there are more solutions for the hybrid graphics problem, but I wonder how far they’ve reached, or if Bumblebee is indeed the most “advanced” one…
Also, a friend showed me his Ubuntu laptop. Ubuntu also uses Bumblebee, but there was something that grinded my nerves a bit: in his case, after installing first Nvidia drivers then Bumblebee, he opens “Nvidia X Server Settings” window, and on the “Profiles” tab there’s the option “select gpu you would like to use”. Then he can select Intel or Nvidia for the whole system. WTH!? So Ubuntu’s Bumblebee implementation does allow to switch GPUs for the entire system, while we are still suffering? It’s not FAIR!
Yes. the regular nvidia-glG03 will break all Mesa drivers including intel, as it replaces Mesa’s libGL and Xorg’s libglx with nvidia’s own incompatible versions.
Does nvidia-bumblebee have all gl and 3D components?
Yes.
Actually it doesn’t contain anything, it downloads the full .run installer from nvidia’s server when you install it, and copies the files to appropriate locations so they don’t conflict with the system files (libglx and libGL in particular).
For the rest, I read again Bumblebee SDB. It seems the solution Bumblebee implements is very similar to what Windows actually does: using as default global base the IGP (Intel) and running certain programs/applications with the DGP (Nvidia), but seemingly not the entire system on the DGP.
Yes, that’s how Bumblebee works.
The only difference is that you have to run applications on the Nvidia explicitely with “optirun”/“primusrun”, there’s no automatic switching.
With another search I found there are more solutions for the hybrid graphics problem, but I wonder how far they’ve reached, or if Bumblebee is indeed the most “advanced” one…
Yes. The kernel should include something similar to Bumblebee in the latest versions (called “PRIME”).
But I do not know much about that either.
Also, a friend showed me his Ubuntu laptop. Ubuntu also uses Bumblebee, but there was something that grinded my nerves a bit: in his case, after installing first Nvidia drivers then Bumblebee, he opens “Nvidia X Server Settings” window, and on the “Profiles” tab there’s the option “select gpu you would like to use”. Then he can select Intel or Nvidia for the whole system. WTH!? So Ubuntu’s Bumblebee implementation does allow to switch GPUs for the entire system, while we are still suffering? It’s not FAIR!
Hm. Maybe something built into Unity?
Does this work for applications run from the command line?
???
If nvidia-bumblebee package downloads and installs the full Nvidia .run installer, why does SDB first advises to use the usual guide (normal Nvidia repo)?
No matter what the case is (using 13.2, Factory, not trusting usual guide, etc), the right package to install on hybrid systems is nvidia-bumblebee, and if it downloads full .run file it would render the packages from normal Nvidia repo totally useless, as far as my logic can reach…
I found what I was talking about here.
Though seems it’s not exactly Bumblebee, but PRIME, which I have no clue about what it is but I guess it’s not the same as Bumblebee’s Primus…
Indeed, it allows to select which GPU to use on entire DE. Is something like this what your link talks about?
In general I have kind of disliked Ubuntu for few several reasons, but sometimes I feel a bit of envy regarding their way to automate everything…
I don’t know, I haven’t written that article, and I haven’t even ever used Bumblebee myself.
But I looked at the nvidia-bumblebee package on OBS and that is exactly what it does. (it’s not even allowed to host the nvidia driver on OBS)
And you should absolutely not try to install the nvidia driver in the usual way, as this will break the Mesa drivers (intel) IMNSHO.
No matter what the case is (using 13.2, Factory, not trusting usual guide, etc), the right package to install on hybrid systems is nvidia-bumblebee, and if it downloads full .run file it would render the packages from normal Nvidia repo totally useless, as far as my logic can reach…
Yes, on Optimus systems that’s true. Although you can install the packages from the normal Nvidia repo if you can disable the intel chip/connect your display to the nvidia chip. Or if you leave out nvidia-glG03, you can use the nvidia chip for rendering (CUDA), and the intel for the display.
But: nvidia-bumblebee will not work on standard (i.e. non-Optimus) nvidia systems.
I found what I was talking about here.
Though seems it’s not exactly Bumblebee, but PRIME, which I have no clue about what it is but I guess it’s not the same as Bumblebee’s Primus…
As far as I know, PRIME is the thing that’s integrated into the kernel and open source (Mesa) drivers, as I mentioned.
So actually it should be available on openSUSE as well. I don’t know more about it though.
First, Ubuntu’s nvidia-prime seems to be an implementation based on Nvidia’s recent initial Optimus support, or something like that.
Then, found this thread. The 2 most remarkable points here would be:
–There seems to be confusion with the “prime” name here. PRIME itself is indeed what mr Wolfi just mentioned in the post above, but for some reason Ubuntu people named their thing “nvidia-prime” as well.
–Ubuntu’s nvidia-prime probably does a thing (though graphic and automated) similar to what Nvidia doc ch. 33 describes and also altering lightDM by using a startup script, and according to user Tyler_K it should not be that difficult to manually implement…
I wish there was a way to mimic Ubuntu’s unfortunately exclusive nvidia-prime package, or if Tyler_K could be around… I read comments in other forums saying that nvidia-prime has better performance than Bumblebee and primusrun, since these ones normally introduced lag (the topic was about Steam and games on Wine). Besides, it would be a bit better if one can switch GPUs for desktop environment at will.
I know it’s a bit offtopic respect to original issue, but now that it was mentioned…
What is CUDA, or what is it for? I read it was kind of a programming language for the Nvidia GPU’s to increase performance… but performance in what sense? From what I read, I doubt it’s about gaming or heavy applications… And in what cases would one install CUDA instead of nvidia-glG03?
CUDA allows one to use the nvidia GPU for calculations, i.e. as a coprocessor to the main CPU.
For certain kind of calculations the GPU does have (much) higher performance.
And in what cases would one install CUDA instead of nvidia-glG03?
You do not install CUDA instead of nvidia-gl03. They are completely different things.
nvidia-glG03 is necessary for rendering and displaying 3D graphics on the nvidia GPU with hardware acceleration. This doesn’t work on Optimus systems where the display is not connected to the nvidia chip, only to the intel.
This is where Bumblebee (and PRIME) comes in. It allows to offload the rendering to the nvidia chip and pipe the result through the intel chip to the display (this is what Optimus is all about AIUI).
Again, installing nvidia-glG03 breaks the intel driver’s OpenGL support, so you should not do it on Optimus systems when you want to use the intel chip as well.
If you don’t install nvidia-glG03, the intel driver will still work.
So you can run OpenGL applications on the intel chip, but not on the nvidia chip as nvidia’s OpenGL support is missing (it is in nvidia-glG03).
But you can still use the nvidia chip for calculations via CUDA. E.g. blender has a CUDA backend, so you can render scenes on the nvidia chip.
But again, CUDA is not OpenGL. For running a 3D application (a game e.g.) you need OpenGL, not CUDA. CUDA is not for displaying 3D graphics. CUDA is for using the nvidia GPU as second CPU.