nVidia Bumblebee and nvidia-Prime drivers - Various issues and questions

Hello,

I am new-ish to Manjaro as I mostly used Ubuntu to date. Apologies if my first post is still lacking information. Then let me know.

The past week I decided to go full Manjaro (KDE) when I received my two replacement 'new' used-hand laptops. And I haven't regretted it what so ever!
The out of the box experience is just great! On both of those systems. Building Chromium-vaapi was more of a challenge time wise, but got it running on both system. First time ever I got Chromium with vaapi to work, never got it to work under Ubuntu. So very pleased!

The couple of driver related issues and questions

Are related to the nVidia drivers for my MSI GS70 2PC, with GTX860M (Kepler) regarding both Bumblebee and nVidia-Prime drivers.
I have searched the forums but had trouble finding good or clear related issues and useful solutions.

The system information:

$ inxi -Fxz
System:    Host: gkir-gs702pcstealth Kernel: 5.6.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.1.0 
           Desktop: KDE Plasma 5.18.5 Distro: Manjaro Linux 
Machine:   Type: Laptop System: Micro-Star product: GS70 2PC Stealth v: REV:1.0 serial: <filter> 
           Mobo: Micro-Star model: MS-1772 v: REV:0.B serial: <filter> UEFI: American Megatrends 
           v: E1772IMS.10F date: 04/13/2015 
CPU:       Topology: Quad Core model: Intel Core i7-4710HQ bits: 64 type: MT MCP arch: Haswell rev: 3 
           L2 cache: 6144 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 39923 
           Speed: 3296 MHz min/max: 800/3500 MHz Core speeds (MHz): 1: 3296 2: 3265 3: 3162 4: 2978 
           5: 2712 6: 2446 7: 3231 8: 3110 
Graphics:  Device-1: Intel 4th Gen Core Processor Integrated Graphics vendor: Micro-Star MSI driver: i915 
           v: kernel bus ID: 00:02.0 
           Device-2: NVIDIA GK104M [GeForce GTX 860M] driver: N/A bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.8 driver: intel resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2) v: 4.5 Mesa 20.0.7 
           direct render: Yes 
Audio:     Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio vendor: Micro-Star MSI 
           driver: snd_hda_intel v: kernel bus ID: 00:03.0 
           Device-2: Intel 8 Series/C220 Series High Definition Audio vendor: Micro-Star MSI 
           driver: snd_hda_intel v: kernel bus ID: 00:1b.0 
           Sound Server: ALSA v: k5.6.16-1-MANJARO 
Network:   Device-1: Qualcomm Atheros Killer E220x Gigabit Ethernet vendor: Micro-Star MSI driver: alx 
           v: kernel port: c000 bus ID: 04:00.0 
           IF: enp4s0 state: down mac: <filter> 
           Device-2: Intel Wireless 7260 driver: iwlwifi v: kernel port: c000 bus ID: 05:00.0 
           IF: wlp5s0 state: up mac: <filter> 
Drives:    Local Storage: total: 119.24 GiB used: 30.73 GiB (25.8%) 
           ID-1: /dev/sda vendor: Kingston model: RBU-SMS100S3128GD size: 119.24 GiB 
Partition: ID-1: / size: 93.99 GiB used: 30.73 GiB (32.7%) fs: ext4 dev: /dev/sda2 
Sensors:   System Temperatures: cpu: 29.8 C mobo: 27.8 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 230 Uptime: 33m Memory: 15.56 GiB used: 1.39 GiB (8.9%) Init: systemd Compilers: 
           gcc: 10.1.0 clang: 10.0.0 Shell: bash v: 5.0.17 inxi: 3.0.37 

Out of the box MHWD shows only Bumblebee 390xx & 418xx to be compatible:

$ mwhd -l --pci
> 0000:01:00.0 (0302:10de:119a) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-418xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-340xx-bumblebee            2019.10.25               false            PCI
    video-nvidia-418xx            2019.10.25               false            PCI
    video-nvidia-390xx            2019.10.25               false            PCI
    video-nvidia-340xx            2019.10.25               false            PCI
           video-linux            2018.05.04                true            PCI

A note: I am now reverted back to the 390xx-bumblebee driver, as it ran without issues and was installed stock.

The dGPU is GTX 860M (Kepler based) and still supported in the proprietary hybrid nVidia-Prime (435xx & 440xx) drivers according to nVidia's listed supported GPU's.

So my eventual goal was to go with either the hybrid 435xx-prime or 440xx-prime driver to have prime offloading and vulkans support and then setup Optimus Manager for hybrid GPU setups through this guide.

For initially removing the 390xx-bumblebee driver i used the GUI.
All following driver installations/removals of listed, non listed bumblebee driver and the nVidia-prime drivers used:
$ mhwd -r // -i pci video-hybrid-intel-nvidia-xx-

Testing with the Bumblebee drivers

The Pre-installed the 390xx-bumblebee just works with Unigine-heaven and Phoronix. Nothing to add.
The nVidia X Server Settings also gives no issues and shows full X info & config options besides above the GPU 0 temp section (screenshot for reference later below)
nVidia-settings_on_390xx-bumblebee

Tested the 418xx-bumblebee and also tested the 430xx-bumblebee drivers.
Both drivers install & boot without issues and 3D acceleration works when testing $ optimus/primusrun glxgears.
But on executing heavier 3D application, like $ primusrun unigine-heaven, or a $ primusrun phoronix-test-suite run a gpu benchmark, both divers gives a (same) memory addressing error.
(did not saved the error message, can still reproduce if needed/asked for)

My questions regarding the Bumblebee drivers:
Question 1: is there a solution to the 418xx/430xx-bumblebee giving memory addressing errors?
I searched the forums but couldn't find info besides 'run prime drivers when supported'.

Question 2: or is 390xx-bumblebee driver the only driver that works most flawlessly on mobile Kepler based gpu's, if I wanted to go with the Bumblebee solution? (which I do not)

Testing the hybrid 435xx & 440xx nVidia-prime drivers

According to the nVidia the GPU is supported in 435xx-prime and 440xx-prime and this is my preferred option.
Removed the Bumblebee driver and manually installed 440xx-prime. Also tested 435xx-prime.

Both drivers rebooted to desktop without issues and it tests successfully running 3D acceleration with both:
$ prime-run glxgears
$ prime-run unigine-heaven

Their are two issues I encountered and could not find a info on it on the forums or a solution (perhaps I didn't search far enough, dunno)

First issue.

  • nVidia X Server Settings. It only shows me: GPU 0/Thermal Setting & Powermixer, App Profiles and nV-Setting Configuration menu's
    (see screenshot posted above, that was made with Bumblebee driver, that does show full X options)

Question: is this correct behavior of the nVidia X Server Settings on the 435xx or 440xx-prime drivers after installing them? Or have I missed a configuration step?

Second issue.

  • Power management of the Prime drivers. On my install the GPU & fan do not seem to be put 'offline' or ' shut down' when not being used/addressed compared to how it functions with Bumblebee drivers. Thus the laptop is comparably much louder

If I am not mistaken, by default the nVidia-Prime drivers (without optimus manager) runs in 'hybrid mode', this correct?

Question 1: is it a configuration issue regarding Kepler based GPU's running the nVidia-prime drivers, that it do not fully powers down the dGPU & fan (it always running) versus unlike Bumblebee?

Question 2: or is this the normal behavior when running nVidia-prime drivers with Kepler or later GPU's? That when in hybrid mode the GPU + fan remain active?

If q2 is the case, will for example installing optimus-manager (through the guide) be the only work around solution for this, intel-mode only to deactivate the dGPU and fan till swtiching when you need it?

Apologies if my first ever post on these forums is a bit long and if I forgot to add some basic information.

I hope someone can help or shed some light on my issues and questions!

Gkirmathal.

In hybrid mode discrete GPU is constantly on, drawing power and heating the laptop, so it's rather to be expected that fans will work more often than on Bumblebee setup, where only Intel GPU is active and Nvidia only on demand.

I may be wrong, but it is possible that during the drivers change, the nvidia config stayed so the same settings are applied now.
Note, that if you go optimus-manager route, don't start Nvidia settings, because it will create config, which will cause issues with the optimus-manager settings.
Also, if you have only Nvidia drivers now, you need to have also Intel drivers installed for optimus-manager to work. If you didn't remove them from Bumblebee setup times, there are still there, so all should be fine. Anyway, I usually recommend to use mhwd to install proper drivers and configs, but it looks you are capable of setting this manually.

As to questions:
Q1: this is super specific error and probably driver related, so it's unlikely that someone will address it here, unless he/she had the same issue.
Q2: Bumblebee is not supporting Vulkan, so this is a bad idea to use it if you want to game. The reason that 435xx and 440xx drivers don't have bumblebee combo in mhwd is that there was no more reason to create it now since the hybrid mode is possible on them. So it's not a matter of drivers versions working well with your GPU, at least from Manjaro side, but it's possible that some driver version will work better for your GPU. If you want, you can still setup Bumblebee manually for 440xx drivers, but what is the point?

2 Likes

Ah thanks for the clarifications!

The 'on demand' functionality (switching) of Bumblebee was imo rather nice, compared to how Prime functions in that regard.
So optimus-manager will be the most viable solution for me I reckon. Defaulted it to intel-only mode and only switch to hybrid mode when needed (for Steam as is describe in the guide).

I'll check out if some is some old nVidia config remains after removing the default installed 390xx drivers and see if that causes the lack of available 'X Server Settings' in nVidia-settings control panel (of course before I do the installation guide of optimus-manager).

Found it odd the auto-detect of mhwd only shows/default installs 390xx-bumblebee, considering 440xx-prime installed fine through mwhd -i and works (except for that nvidia-settings issues) fine as well.

Thanks for this headsup. Then considering, that odd nvidia-setting issue I had with the 430/440xx-prime drivers, should not be less an actual issue.

Btw does reading out nVidia dGPU temps through shell command $ nvidia-settings -q gpucoretemp then impose this issue as well?

nvidia-settings is designed to create configs, otherwise, what is the point?

The problem is, that optimus-manager creates own nvidia config, so when another config exists, it's possible that this will be used and thus creates conflict with optimus-manager. You can still create custom configurations manually for optimus-manager if you really need it - read the documentation.

just in case

we have optimus-manager working out of the box with mhwd

may be @philm will add it to manjaro mhwd-db

2 Likes

Does your version of mhwd will remove configs, including mhwd's one when installing optimus-manager? For example, someone may test various MHWD configurations and then decides to use optimus-manager via MHWD. Will it happen smoothly and correctly?

we dont create mhwd configs

in optimus-manager config

and it is working
in live usb

it is tested as working

I guess we just have to wait to see how it behaves on a real metal.

Out of curiosity, does it also add -qt for tray on non-Gnome versions?

yes as it conflicts with other mhwd configs such as prime render offload
so they will be uninstalled when installing optimus manager

2 Likes

yeah it adds optimus-manager-qt

it currently only works for garuda linux
i had created only one iso for testing
on which it worked on real metal.
when choosing nonfree in grub

Thanks, I'll read up upon the docs in due time, still waiting for spares to finish the rebuild of the laptop.

Okay, this looks interesting and very promising.
I'm still rather new to how things work on Manjaro/Arch. So I'll keep an eye on this and hopefully it can get officially added at some point.

My feeling is, that @philm won't be adding this feature just yet as it is not widely tested, so I wouldn't make high hopes for it at the moment. It's even not clear if he is aware about it, so there is a long road ahead.

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

Forum kindly sponsored by