Need help setting up Nvidia Optimus: Bumblebee / Prime?

About my system:

$ inxi -Fxz
System:    Host: RID04689 Kernel: 4.19.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 8.2.1 Desktop: KDE Plasma 5.14.5 
           Distro: Manjaro Linux 
Machine:   Type: Laptop System: ASUSTeK product: N550JV v: 1.0 serial: <filter> 
           Mobo: ASUSTeK model: N550JV v: 1.0 serial: <filter> UEFI: American Megatrends v: N550JV.207 date: 09/17/2013 
Battery:   ID-1: BAT0 charge: 46.7 Wh condition: 47.1/60.5 Wh (78%) model: ASUSTeK N550-40 status: Unknown 
CPU:       Topology: Quad Core model: Intel Core i7-4700HQ bits: 64 type: MT MCP arch: Haswell rev: 3 L2 cache: 6144 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 38333 
           Speed: 1368 MHz min/max: 800/3400 MHz Core speeds (MHz): 1: 1368 2: 2629 3: 2882 4: 1904 5: 1928 6: 1518 7: 1627 
           8: 1681 
Graphics:  Device-1: Intel 4th Gen Core Processor Integrated Graphics vendor: ASUSTeK driver: i915 v: kernel bus ID: 00:02.0 
           Device-2: NVIDIA GK107M [GeForce GT 750M] driver: N/A bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.3 driver: intel resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel Haswell Mobile v: 4.5 Mesa 18.3.2 direct render: Yes 
Audio:     Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio driver: snd_hda_intel v: kernel bus ID: 00:03.0 
           Device-2: Intel 8 Series/C220 Series High Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel 
           bus ID: 00:1b.0 
           Sound Server: ALSA v: k4.19.16-1-MANJARO 
Network:   Device-1: Qualcomm Atheros AR9485 Wireless Network Adapter vendor: AzureWave driver: ath9k v: kernel port: f040 
           bus ID: 04:00.0 
           IF: wlp4s0 state: up mac: <filter> 
           Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK driver: r8168 v: 8.045.08-NAPI 
           port: d000 bus ID: 05:00.0 
           IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 465.76 GiB used: 280.14 GiB (60.1%) 
           ID-1: /dev/sda vendor: Samsung model: SSD 840 EVO 500GB size: 465.76 GiB 
Partition: ID-1: / size: 465.46 GiB used: 140.07 GiB (30.1%) fs: btrfs dev: /dev/dm-0 
           ID-2: /home size: 465.46 GiB used: 140.07 GiB (30.1%) fs: btrfs dev: /dev/dm-0 
Sensors:   System Temperatures: cpu: 52.0 C mobo: N/A 
           Fan Speeds (RPM): cpu: 2300 
Info:      Processes: 290 Uptime: 1d 1h 32m Memory: 15.55 GiB used: 3.89 GiB (25.0%) Init: systemd Compilers: gcc: 8.2.1 
           Shell: bash v: 5.0.0 inxi: 3.0.30

Using the automatic GUI driver setup stuff, I managed to get so far that I can run GUI applications using optirun and primusrun to run that single application using my Nvidia card. (Though only with optirun I get FPS>60, primusrun seems to be locked to 60fps just as running with Intel graphics.)

What doesn't work is the Bumblebee indicator (which I had hoped would allow me to switch the whole desktop to using Nvidia instead of Intel graphics).

I get this error:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

UPDATE:
Ahh, okey, so while I'm running anthing using optirun or primusrun the Bumblebee indicator will show the Nvidia GPU's temperature and when I click on it it shows me a popup with scrollbar with a huge list of variables most of which have the value "N/A".

So I guess this indicator is not meant for the functionality I thought (switching the whole desktop between the two GPU's) but just showing whether any application is using the Nvidia GPU and if so display some stats of the now active GPU.

Is this functionality of switching the whole desktop available using some other piece of software? I know of Nvidia PRIME but if I remember correctly it requires logging out and back in again. Is there something that doesn't require that?

UPDATE2:
Okey. So I stumbled upon this post from 2014


which sound's like I can either have

  • Bumblebee which allows me to run single applications using the Nvidia GPU from start to finish, OR
  • Prime which allows me to switch the whole desktop with all currently running applications between both the GPUs, and it sound's like it doesn't require logging out and back in again.

UPDATE3:
Okey, so I read a bit more here:


and here:

I don't really want to switch over to using only the Nvidia GPU all the time, since battery.

From what I understand Manjaro has Bumblebee as default, which allows running single applications using the NVidia GPU but you have to start them that way and they will continue using the dedicated GPU till they terminate. No way to switching while running.

Prime seems to be more complicated to install on Manjaro, and I'm unsure if it allows switching or will run everything on the NVidia GPU all the time.

Most sources say Prime has better performance, though it seems there have been some visual bugs with it like screen tearing though they are supposed to have been all fixed by now.

There is one more option, Optimus-Manager, you might want to check if it suites your needs.

2 Likes

Looks like bumblebee is working fine, you can only launch specific applications to use the nvidia gpu.

To check the bumblebee status use optirun --status, which will tell you if the nvidia gpu is being used.

Bumblebee status: Ready (3.2.1-2017-02-27-Format:%h$). X is PID 11619, 2 applications using bumblebeed.
Bumblebee status: Ready (3.2.1-2017-02-27-Format:%h$). X inactive. Discrete video card is off.

To switch between gpus completely try optimus-manager, as suggested above, but do some reading about it first.

It is new, interesting, Arch distro specific, must be manually setup (ie no mhwd support), only supports X, and you must close all apps before switching as X session is restarted.

You may have to tune your nvidia xorg config also if there is tearing, particularly as you use KDE.

thanks for the replies!

I'm reluctant to try optimus-manager.

  1. because the linked HowTo Guide lists it with the disadvantage of "Very much pre-release and under rapid development".
  2. because it requires manual setup, which means time investment and plenty potential to do something wrong.
  3. because if it requires restarting the X session and therefore closing all applications for switching between the GPUs, as @sueridgepipe said it does, I don't see any advantage over the Bumblebee setup I have right now.

The only feature I'm missing with Bumblebee is the ability to switch applications (or the desktop as a whole, I don't care much which) between GPUs without restarting them.

Some functionality bumblebee doesn't support, like vdpau hardware acceleration, but it really depends on what you use your nvidia gpu for.

Ah well, at the moment for nothing really. I'm still in the "evaluation" phase for Manjaro KDE on my laptop. I think I'll stick with Bumblebee for now.

if gpu performance is less important to you than battery life is then bumblebee works just fine, it has certain limitations like vulkan support.

PRIME itself does not use switching, optimus-manager works the way prime-select does with ubuntu where its an nvidia session or a intel session and logout is required to switch.

1 Like

thanks for the clarifications.
I don't know what vulkan is so I guess for now I won't run into problems with that.

1 Like

well, in that situation, if it aint broke, dont fix it.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by