Linux support for nvidia graphics cards in Optimus, Cosmos, UltraNote?

batfastad

Member
Hi everyone

It's been ages since I last bought a laptop and been eyeing up a new one for 6 months or so. Now my old Lenovo ThinkPad has given up so here we go.

The models I'm looking at are (mass quoted for my own reference):
All with 1x 8GB RAM, 120GB SSD, i5 processor and dedicated graphics card + full HD display where available.

I'm not a big PC gamer but mainly because the laptops I've always had have been 3+ years behind or not powerful enough. So something with discrete graphics might be good, mainly for emulation rather than playing the latest and greatest games.
But full HD resolution is very important to me, for too long laptop panel makers have been taking the p*ss with 1366x768
Also no longer travelling with work as much so portability is not as much of an issue these days.

I've been running Linux (Mint+XFCE or Xubuntu) as my primary desktop OS for the past 3 years or so now. Only downside is that there are often a few things that don't quite work in my experience... suspend/resume, wifi after suspend, preventing suspend when lid closed, keyboard backlights, fn keys, wifi/bluetooth toggling.

1) Anyone use Linux on any of these models and found things that don't quite work as expected?

2) Since previous machines I've owned have been older, I've never had new hardware that needed additional/external/proprietary drivers for Linux.
Should I expect pain on this front with these machines?

3) It looks like nvidia publish Linux drivers on a reasonably frequent basis... http://www.nvidia.co.uk/download/driverResults.aspx/78499/en-uk
Should I use those nvidia drivers or are there more stable drivers included in the distributions repos?

4) How does the toggling of the graphics card work?
I've only ever used Linux with machines that only had integrated graphics and the last time I had a dedicated graphics card you had to disable the on-board graphics in the BIOS.

I'm pretty sure I'll go with one of these machines anyway but just looking for some reassurance that most of the functions of the machine will work most of the time :)
Thanks in advance!

Cheers, B
 

TheGSL

Silver Level Poster
I've got a 17.3 Optimus with the 765 gtx in it

I dual boot Ubuntu 14.04 and w7, with grub handling the os choice.

Ubuntu 14.04 works flawlessly with it, and will install a reasonably up to date nividia driver, .33 as I recollect.

The optimus effect you will have to either work by hand or use something like a 3rd party program (Bumblebee etc,
but I have not used it or anything else as I prefer to change the gpu by hand.)

It will default to using the nvidia gpu.

If you want it to use the intel on board, get to a prompt, or the dash, and type
nvidia-settings

press return, select intel from there.

To set it to use the nvidia, do the same, apart from select nvidia.

Simple enough, and effective. Not many linux games need the nvidia truth be told.
 

scottm

Active member
TheGSL - your reply is very interesting and useful. I am very keen to understand more about the "[NVidia] Optimus Effect" - and how to make things work properly, simply.

Ubuntu 14.04 works flawlessly with it, and will install a reasonably up to date NVIDIA driver, .33 as I recollect.
This is the proprietary NVIDIA driver? (Just want to make sure I install the right thing, if it's not bundled with my Linux)

get to a prompt, or the dash, and type nvidia-settings
I hadn't heard of this utility before; it looks like it's made by NVIDIA, but they release it as open-source and Ubuntu (more than other Linux distros) uses and promotes it. This seems to imply that NVIDIA now support graphics switching directly within their driver - is that right?

Or is the nvidia-settings utility doing something else, eg switching drivers? (rather than selecting a different gpu within their driver)

If the intel gpu is selected, does this power-down the NVIDIA gpu? (thinking about maximising battery life)

And finally - does the nvidia-settings utility just change the gpu for applications launched thereafter, or does it completely switch the system, including the running desktop environment, etc, to the selected gpu?
 
Last edited:

TheGSL

Silver Level Poster
-TheGSL - your reply is very interesting and useful. I am very keen to understand more about the "[NVidia] Optimus Effect" - and how to -make things work properly, simply.


- This is the proprietary NVIDIA driver? (Just want to make sure I install the right thing, if it's not bundled with my Linux)

Yes, this is the proprietary Nvidia driver, comes with Ubtuntu 14.04 lts, it will be installed and selected if you install
it on an Optimus machine.


-I hadn't heard of this utility before; it looks like it's made by NVIDIA, but they release it as open-source and Ubuntu (more than other Linux distros) uses and promotes it. -This seems to imply that NVIDIA now support graphics switching directly within their driver - is that right?

Kind of right. You will have to do it by hand using the method outlined above, typing nvidia-settings at a prompt
(ctrl alt t)


- Or is the nvidia-settings utility doing something else, eg switching drivers? (rather than selecting a different gpu within their driver)

It's the linux equivalent of the nvidia control panel in windows, but cut down a lot. It works though.

- If the intel gpu is selected, does this power-down the NVIDIA gpu? (thinking about maximising battery life)

Yes it does. The green gpu light will come on on the optimus laptop, the orange one will go out.


-And finally - does the nvidia-settings utility just change the gpu for applications launched thereafter, or does it completely switch the -system, including the running desktop environment, etc, to the selected gpu?


Changes the entire system. You can toggle it by hand as I do as I explained above. There are ways to get it work automatically
like it does in windows, but in truth, by hand is easy enough for me. It will do what you want, and gives you control over
either discrete or on board gpu's. In terms of ubuntu/linux on board is fine for most things.
 
Last edited:

Wozza63

Biblical Poster
I've got no issues with Xubuntu or Mint currently installed on my laptop alongside Windows. Although I haven't really attempted any kind of gaming on those OSs
 
Project bumblebee. Let's optimus work in Linux.

Using that I was able to get it working on optimus v 13.3" . Glxgears on Intel graphics 60fps, nvidea graphics 220fps.

that said, not sure if I got it working in steam games however
 
Last edited:

CEUOTC

Enthusiast
Running ubuntu 14.04 on a P170EM, l have just ordered a Optimus Series: 13.3".

Nvidia works great on my P170EM, all l did was update the Nvidia PPA:

sudo add-apt-repository ppa:xorg-edgers/ppa -y
sudo apt-get update

Run additional drivers.

Restart your laptop and you should be good to go.

In the Nvidia control panel you just select either Intel or Nvidia to drive the system via the Prime tab. Log out then log back in and it will run which ever you have chosen.
 

scottm

Active member
For completeness:

bumblebee: the system uses the embedded GPU by default; the user can select specific applications to run using the NVIDIA GPU. This per-application switching is the intent of Optimus, and gives the full benefit of the additional GPU power when needed coupled with maximum power saving when it isn't.

NVIDIA control panel: allows the user to choose one or other GPU (the embedded one or the NVIDIA one) per session, not per application. Unfortunately, although Optimus is NVIDIA's own technology they've chosen not to fully support it on Linux, only providing the per-session switching. This doesn't follow the intent of Optimus.
 

uber_tom

Member
Project bumblebee. Let's optimus work in Linux.

Using that I was able to get it working on optimus v 13.3" . Glxgears on Intel graphics 60fps, nvidea graphics 220fps.

that said, not sure if I got it working in steam games however

steam doesn't do the automatic switching thing well, you have to either run steam itself with primusrun (or maybe optirun) or add it to the launch options of the individual games followed by %command% e.g "primusrun %command%"
 
Top