Nvidia - Bumblebee - Optimus - Prime - Envycontrol

Catalin

Member
Joined
Feb 9, 2022
Messages
33
Reaction score
17
Credits
445
Hello again Linux community! <3 :D

Code:
System:    Kernel: 5.10.0-14-amd64 x86_64 bits: 64 compiler: gcc v: 10.2.1
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.10.0-14-amd64
           root=UUID=<filter> ro quiet pcie_aspm=off pci=nomsi
           pci=noaer splash
           Desktop: Xfce 4.16.0 tk: Gtk 3.24.24 info: xfce4-panel wm: xfwm 4.16.1 vt: 7
           dm: LightDM 1.26.0 Distro: MX-21.1_x64 Wildflower April 9  2022
           base: Debian GNU/Linux 11 (bullseye)
Machine:   Type: Laptop System: ASUSTeK product: X541UV v: 1.0 serial: <filter>
           Mobo: ASUSTeK model: X541UV v: 1.0 serial: <filter> UEFI: American Megatrends
           v: X541UV.309 date: 04/17/2019
Battery:   ID-1: BAT0 charge: 23.4 Wh (91.1%) condition: 25.7/34.6 Wh (74.3%) volts: 10.8
           min: 10.8 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A status: Discharging
           cycles: 1028
CPU:       Info: Dual Core model: Intel Core i5-6198DU bits: 64 type: MT MCP arch: Skylake
           family: 6 model-id: 4E (78) stepping: 3 microcode: EC cache: L2: 3 MiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19200
           Speed: 500 MHz min/max: 400/2800 MHz Core speeds (MHz): 1: 500 2: 500 3: 500 4: 500
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable
           Type: meltdown mitigation: PTI
           Type: spec_store_bypass
           mitigation: Speculative Store Bypass disabled via prctl and seccomp
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2
           mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
           Type: srbds mitigation: Microcode
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel HD Graphics 510 vendor: ASUSTeK driver: i915 v: kernel
           bus-ID: 00:02.0 chip-ID: 8086:1906 class-ID: 0300
           Device-2: NVIDIA GM108M [GeForce 920MX] vendor: ASUSTeK driver: nvidia v: 460.91.03
           bus-ID: 01:00.0 chip-ID: 10de:134f class-ID: 0302
           Device-3: Chicony USB2.0 VGA UVC WebCam type: USB driver: uvcvideo bus-ID: 1-6:3
           chip-ID: 04f2:b52b class-ID: 0e02 serial: <filter>
           Display: x11 server: X.Org 1.20.11 compositor: xfwm4 v: 4.16.1 driver:
           loaded: modesetting,nvidia unloaded: fbdev,nouveau,vesa alternate: nv
           display-ID: :0.0 screens: 1
           Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.2x8.0")
           s-diag: 414mm (16.3")
           Monitor-1: eDP-1 res: 1366x768 hz: 60 dpi: 101 size: 344x193mm (13.5x7.6")
           diag: 394mm (15.5")
           OpenGL: renderer: Mesa Intel HD Graphics 510 (SKL GT1) v: 4.6 Mesa 20.3.5
           direct render: Yes
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: ASUSTeK driver: snd_hda_intel
           v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3 chip-ID: 8086:9d70 class-ID: 0403
           Sound Server-1: ALSA v: k5.10.0-14-amd64 running: yes
           Sound Server-2: PulseAudio v: 14.2 running: yes
Network:   Device-1: Realtek RTL810xE PCI Express Fast Ethernet vendor: ASUSTeK driver: r8169
           v: kernel port: d000 bus-ID: 02:00.2 chip-ID: 10ec:8136 class-ID: 0200
           IF: eth0 state: down mac: <filter>
           Device-2: Realtek RTL8723BE PCIe Wireless Network Adapter vendor: Lite-On
           driver: rtl8723be v: kernel modules: wl port: c000 bus-ID: 03:00.0 chip-ID: 10ec:b723
           class-ID: 0280
           IF: wlan0 state: up mac: <filter>
Bluetooth: Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8 bus-ID: 1-8:4
           chip-ID: 0bda:b721 class-ID: e001 serial: <filter>
           Report: hciconfig ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 2.1 lmp-v: 4.0
           sub-v: 9f73 hci-v: 4.0 rev: e2f
           Info: acl-mtu: 820:8 sco-mtu: 255:16 link-policy: rswitch hold sniff park
           link-mode: slave accept service-classes: rendering, capturing, audio
Drives:    Local Storage: total: 1.13 TiB used: 23.48 GiB (2.0%)
           SMART Message: Unable to run smartctl. Root privileges required.
           ID-1: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37240G size: 223.57 GiB
           block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter>
           rev: 0103 scheme: GPT
           ID-2: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST1000LM024 HN-M101MBB
           size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
           type: HDD rpm: 5400 serial: <filter> rev: 0001 scheme: GPT
Partition: ID-1: / raw-size: 48.83 GiB size: 47.76 GiB (97.81%) used: 10.01 GiB (20.9%) fs: ext4
           dev: /dev/sda2 maj-min: 8:2
           ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%) used: 288 KiB (0.1%)
           fs: vfat dev: /dev/sda1 maj-min: 8:1
           ID-3: /home raw-size: 97.66 GiB size: 95.56 GiB (97.86%) used: 12.31 GiB (12.9%)
           fs: ext4 dev: /dev/sda3 maj-min: 8:3
Swap:      Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
           ID-1: swap-1 type: partition size: 12.19 GiB used: 0 KiB (0.0%) priority: -2
           dev: /dev/sda4 maj-min: 8:4
Sensors:   System Temperatures: cpu: 43.0 C mobo: N/A
           Fan Speeds (RPM): cpu: 2200
Repos:     Packages: note: see --pkg apt: 2189 lib: 1090 flatpak: 0
           No active apt repos in: /etc/apt/sources.list
           Active apt repos in: /etc/apt/sources.list.d/debian-stable-updates.list
           1: deb http://deb.debian.org/debian bullseye-updates main contrib non-free
           Active apt repos in: /etc/apt/sources.list.d/debian.list
           1: deb http://deb.debian.org/debian bullseye main contrib non-free
           2: deb http://security.debian.org/debian-security bullseye-security main contrib non-free
           Active apt repos in: /etc/apt/sources.list.d/megasync.list
           1: deb [signed-by=/usr/share/keyrings/meganz-archive-keyring.gpg] https://mega.nz/linux/repo/Debian_11/ ./
           Active apt repos in: /etc/apt/sources.list.d/mx.list
           1: deb https://mirrors.netix.net/mx/MX-Packages/mx/repo/ bullseye main non-free
           Active apt repos in: /etc/apt/sources.list.d/onlyoffice.list
           1: deb https://download.onlyoffice.com/repo/debian squeeze main
Info:      Processes: 211 Uptime: 1h 39m wakeups: 3 Memory: 7.58 GiB used: 2.29 GiB (30.3%)
           Init: SysVinit v: 2.96 runlevel: 5 default: 5 tool: systemctl Compilers: gcc: 10.2.1
           alt: 10 Shell: Bash v: 5.1.4 running-in: quick-system-info-mx
           inxi: 3.3.06
Boot Mode: UEFI
Code:
$ inxi -Fza
System:    Kernel: 5.10.0-14-amd64 x86_64 bits: 64 compiler: gcc v: 10.2.1
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.10.0-14-amd64
           root=UUID=cbb182bd-2fc8-4549-85fe-6403a84f4b40 ro quiet pcie_aspm=off pci=nomsi
           pci=noaer splash
           Desktop: Xfce 4.16.0 tk: Gtk 3.24.24 info: xfce4-panel wm: xfwm 4.16.1 vt: 7
           dm: LightDM 1.26.0 Distro: MX-21.1_x64 Wildflower April 9  2022
           base: Debian GNU/Linux 11 (bullseye)
Machine:   Type: Laptop System: ASUSTeK product: X541UV v: 1.0 serial: <filter>
           Mobo: ASUSTeK model: X541UV v: 1.0 serial: <filter> UEFI: American Megatrends
           v: X541UV.309 date: 04/17/2019
Battery:   ID-1: BAT0 charge: 22.5 Wh (87.5%) condition: 25.7/34.6 Wh (74.3%) volts: 10.8
           min: 10.8 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A status: Discharging
           cycles: 1028
CPU:       Info: Dual Core model: Intel Core i5-6198DU bits: 64 type: MT MCP arch: Skylake
           family: 6 model-id: 4E (78) stepping: 3 microcode: EC cache: L2: 3 MiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19200
           Speed: 500 MHz min/max: 400/2800 MHz Core speeds (MHz): 1: 500 2: 500 3: 500 4: 500
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable
           Type: meltdown mitigation: PTI
           Type: spec_store_bypass
           mitigation: Speculative Store Bypass disabled via prctl and seccomp
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2
           mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
           Type: srbds mitigation: Microcode
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel HD Graphics 510 vendor: ASUSTeK driver: i915 v: kernel
           bus-ID: 00:02.0 chip-ID: 8086:1906 class-ID: 0300
           Device-2: NVIDIA GM108M [GeForce 920MX] vendor: ASUSTeK driver: nvidia v: 460.91.03
           bus-ID: 01:00.0 chip-ID: 10de:134f class-ID: 0302
           Device-3: Chicony USB2.0 VGA UVC WebCam type: USB driver: uvcvideo bus-ID: 1-6:3
           chip-ID: 04f2:b52b class-ID: 0e02 serial: <filter>
           Display: x11 server: X.Org 1.20.11 compositor: xfwm4 v: 4.16.1 driver:
           loaded: modesetting,nvidia unloaded: fbdev,nouveau,vesa alternate: nv
           display-ID: :0.0 screens: 1
           Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.2x8.0")
           s-diag: 414mm (16.3")
           Monitor-1: eDP-1 res: 1366x768 hz: 60 dpi: 101 size: 344x193mm (13.5x7.6")
           diag: 394mm (15.5")
           OpenGL: renderer: Mesa Intel HD Graphics 510 (SKL GT1) v: 4.6 Mesa 20.3.5
           direct render: Yes
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: ASUSTeK driver: snd_hda_intel
           v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3 chip-ID: 8086:9d70 class-ID: 0403
           Sound Server-1: ALSA v: k5.10.0-14-amd64 running: yes
           Sound Server-2: PulseAudio v: 14.2 running: yes
Network:   Device-1: Realtek RTL810xE PCI Express Fast Ethernet vendor: ASUSTeK driver: r8169
           v: kernel port: d000 bus-ID: 02:00.2 chip-ID: 10ec:8136 class-ID: 0200
           IF: eth0 state: down mac: <filter>
           Device-2: Realtek RTL8723BE PCIe Wireless Network Adapter vendor: Lite-On
           driver: rtl8723be v: kernel modules: wl port: c000 bus-ID: 03:00.0 chip-ID: 10ec:b723
           class-ID: 0280
           IF: wlan0 state: up mac: <filter>
Bluetooth: Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8 bus-ID: 1-8:4
           chip-ID: 0bda:b721 class-ID: e001 serial: <filter>
           Report: hciconfig ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 2.1 lmp-v: 4.0
           sub-v: 9f73 hci-v: 4.0 rev: e2f
           Info: acl-mtu: 820:8 sco-mtu: 255:16 link-policy: rswitch hold sniff park
           link-mode: slave accept service-classes: rendering, capturing, audio
Drives:    Local Storage: total: 1.13 TiB used: 23.48 GiB (2.0%)
           SMART Message: Unable to run smartctl. Root privileges required.
           ID-1: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37240G size: 223.57 GiB
           block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter>
           rev: 0103 scheme: GPT
           ID-2: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST1000LM024 HN-M101MBB
           size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
           type: HDD rpm: 5400 serial: <filter> rev: 0001 scheme: GPT
Partition: ID-1: / raw-size: 48.83 GiB size: 47.76 GiB (97.81%) used: 10.01 GiB (20.9%) fs: ext4
           dev: /dev/sda2 maj-min: 8:2
           ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%) used: 288 KiB (0.1%)
           fs: vfat dev: /dev/sda1 maj-min: 8:1
           ID-3: /home raw-size: 97.66 GiB size: 95.56 GiB (97.86%) used: 12.31 GiB (12.9%)
           fs: ext4 dev: /dev/sda3 maj-min: 8:3
Swap:      Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
           ID-1: swap-1 type: partition size: 12.19 GiB used: 0 KiB (0.0%) priority: -2
           dev: /dev/sda4 maj-min: 8:4
Sensors:   System Temperatures: cpu: 42.0 C mobo: N/A
           Fan Speeds (RPM): cpu: 2300
Info:      Processes: 204 Uptime: 1h 45m wakeups: 3 Memory: 7.58 GiB used: 2.38 GiB (31.5%)
           Init: SysVinit v: 2.96 runlevel: 5 default: 5 tool: systemctl Compilers: gcc: 10.2.1
           alt: 10 Packages: note: see --pkg apt: 2189 lib: 1090 flatpak: 0 Shell: Bash v: 5.1.4
           running-in: xfce4-terminal inxi: 3.3.06

I have successfully installed MX Linux Xfce edition on my family's laptop. (this time Debian Stable as Manjaro was not a good option)
Since it's being used in a very conservative fashion, only for e-mail, office, web browsing and occasionally some Youtube, I thought of disabling it's Nvidia GPU for two reasons: mainly to increase its battery life but also to have it stay at a cooler temperature.

I used the MX driver installer and it seems that the choice for this Nvidia 920 MX offered in the repos is the nvidia-driver 460.91.03-1 and this is the one I installed. Everything works okay.
This GPU also has Optimus technology. The MX Driver installer was also supposed to install Bumblebee but, for some reason, it didn't.
On their forums a person said to uninstall everything with: 1. sudo ddm-mx -p nvidia 2. sudo apt-get --auto-remove purge bumblebee* and then reinstall the bumblebee nvidia driver with 3. sudo ddm-mx -i nvidia -f bumblebee
However this did not work as it doesn't recognize -i nvidia command.
If I use their installer and then manually install Bumblebee Nvidia X Server Settings would not open and nvidia-smi would not provide me any information. Same would happen if I do it all from Synaptic.

I also tried to follow this link-tutorial from debian.org they provided me with but it feels incomplete.. and I wasn't able to install this
sudo apt install primus-libs:i386 libprimus-vk1:i386 nvidia-primus-vk-wrapper:i386 nvidia-driver-libs-i386
as it told me that nvidia-driver-libs-i386 could not be found in the repo, not sure how this could be possible, I have activated all the repo links except bulleyes test and bulleyes AHS.

Indeed, I don't know which one would actually be better for this hardware, Bumblebee or Prime. I understood that with Prime you select integrated or dedicated and then you restart the computer while Bumblebee is a daemon doing the offload in the background mainly prioritizing the integrated GPU.
I also heard about Envycontrol but I also don't know how to install it.

5 months ago I did not know how to install Windows on a computer #lol. Now I know how to install different operating systems with Dual-boot with different filesystems and manual partitioning - this is what Linux made out of me #LOL. But it's still a long process of learning.

In conclusion:
1. What should I install on it? Bumblebee, Prime or Envycontrol
2. What would be some easy and explanatory steps to sucessfully achieve this on my hardware?

Your help will be greatly appreciated!

P.S. I was not able to get an answer for this on MX Forums. (also the internet seems to be a mess regarding this topic)
 


Unfortunately I don't have the option to turn it off from Bios.
Or even use integrated graphics.
Obviously. As I said, I am not dying over using Nvidia graphics card. If I had the option to take it out from the laptop I would have done it a long time ago but it's soldered. Never again will I buy Nvidia.

Could there be an option to use nvidia nvidia_modeset=0 nvidia_uvm=0 nvidia_drm=0 in the GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=0" to turn it off completely?

What I've also done yesterday was to follow this youtube tutorial which also has this website tutorial. And at the end I pretty much got the same output in the terminal as that person, although I am still not quite sure that it worked (some files opened with nano did not really look like he had on the screen).

What do you guys think? I mean, I am also okay with completely disabling Nvidia for good!
 
Bumblebee is a 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.
I have never used Bumblebee drivers since they are not from Nvidia - I have only used the driver from the repository and I run a Nvidia MX940
 
Ok, then what do you recommend me that I should do?
For example, how can I completely deactivate Nvidia GPU? (since that would seem the easiest way to go)
 
Ok, then what do you recommend me that I should do?
For example, how can I completely deactivate Nvidia GPU? (since that would seem the easiest way to go)
Ask yourself - Does it work well with just the Nouveau Drivers, which are default? If so and it does everything you need it to why install NVIDIA at all if the default Nouveau are working - here is from my inxi -F
Code:
System:
  Host: expirion Kernel: 5.17.12-xanmod1 x86_64 bits: 64
  Desktop: Xfce 4.16.0 Distro: Expirion Xfce XanMod 11
Graphics:
  Device-1: Intel HD Graphics 620 driver: i915 v: kernel
  Device-2: NVIDIA GM108M [GeForce 940MX] driver: nouveau v: kernel
  Device-3: Chicony HD WebCam type: USB driver: uvcvideo
  Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting
  unloaded: fbdev,vesa resolution: 1920x1080~60Hz
  OpenGL: renderer: Mesa Intel HD Graphics 620 (KBL GT2) v: 4.6 Mesa 20.3.5
as you can see I have no NVIDIA drivers installed running a NVIDIA 940MX - if you are having issues then I would only install the Proprietary Drivers from the repository - I do not game on my machine
 
Ask yourself - Does it work well with just the Nouveau Drivers, which are default?
Just because the laptop works is not a good reason to not tweak it accordingly.
I've been told that battery doesn't last for too long (although it already has TLP and it also has an original and relatively new Asus battery installed in February 2020) and that sometimes it's getting too warm (even though I did apply it thermally conductive paste like 2 weeks ago and cleaned it from dust).
From what I was able to see, the heat does not come from battery place, but from where the GPUs are. The battery place only gets slightly warm when it's charging but I guess that's normal. Which can only mean that Nvidia GPU is working more than the integrated graphics. Moreover, I was also able to see via a thermal clock that Nvidia GPU would go to 43 degrees for no reason, when for the same tasks the integrated was doing just fine.

My parents are old people, they use it in a very conservative fashion, they don't even keep more than 3 tabs opened at the same time in the browser. MX Linux is super fast and snappy on it.

But I agree with you, the laptop doesn't really need Nvidia Drivers, it can stay on Nouveau as well. The idea is to have the Nvidia GPU work very little under some certain conditions or to not work at all.

Don't you find it weird too that there are no explanatory and relatively accessible tutorials on the internet about doing this kind of stuff? But there are many explaining what Bumblebee is and what Optimus is etc. :p
 
Just because the laptop works is not a good reason to not tweak it accordingly.
My philosophy is if it ain't broke don't fix it - Since your parents are old and probably not gamers, any benefit from installing NVIDIA drivers will most likely go unnoticed - I have done some temp test on my machine and I really did not see much variations from NVIDIA vs Nouveau at least on my machine, mine usually runs between 34 and 44 right now it is running from
Code:
sensors
Code:
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +36.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +36.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:        +35.0°C  (high = +100.0°C, crit = +100.0°C)
nouveau-pci-0100
Adapter: PCI adapter
GPU core:         N/A  (min =  +0.60 V, max =  +1.20 V)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +36.0°C
The only time I have seen much benefits is from gaming the NVIDIA drivers did run more smoothly while under heavy tasking over the Nouveau drivers, but like I said I am not much of a gamer and for everyday use the Nouveau drivers are sufficient
If you are worried about the occasional temp rise then installing the NVIDIA Drivers may help
 
Last edited by a moderator:
My philosophy is if it ain't broke don't fix it
Your philosophy comes from engineering. But just because something works it doesn't mean that it doesn't have to also be efficient. In certain situations KISS is just a bad excuse.

But this is the problem in the Linux community as far as I've experienced. People don't actually care. I am actually active not just on this forum but on others as well and when you ask for a thing which is a little bit more out of the line (as having Nvidia seems to be something extraordinary), like installing Bumblebee or Prime, everybody disappears or criticises you.

There is so much gibberish talk about Linux in general. Take a look at some of the most important figures on Youtube from the Linux community. DistroTube guy recently posted a video about "Linux GNU Philosophy" (like, who cares about this man?), guy from Linux Experiment recently posted about differences between foss licenses (not really interesting or helpful). The Luke Smith guy from youtube thinks GUIs are stupid and normies should use terminal too. And many, many others that test the same damn distro over and over again for views on youtube. You have Chris Titus Tech talking about his favourite laptop and nonsense, raising eyebrows like he would be Will Smith in front of the camera.

All these guys living in their world man.. I don't know what they expect people to do! From all of us - normal people, who are not tech savy and who are not programmers and hackers and IT guys and who got tired of Windows for stealing our information and hardware while not being able to modify a taskbar or even change a god damn folder icon. DistroGuy thinks we should all go and start installing vanilla Arch to learn, why not LFS?! It's not like people have other jobs, problems and hobbies.
Meanwhile the guys that actually do the dirty work are so few.. like The Averge Linux User and Learn Linux TV that really teach people step by step how to do things but they can't cover everything by themselves.

I donated money to some Linux projects by now man, I am not cheap. But I am not going to afford the bourgeois Mac-Apple at any point in the forseeable future (and I don't like the idea of paying for updates anyway).

All I did was to ask some beginner steps for Bumblebee or Prime or disabling GPU and suddenly it's too much for everyone on the forums. Appearently saving laptop battery and keeping it from heating is something too sophisticated to ask for. Meanwhile you have LinusTechTips teaching you how to connect a middle-tower GPU to a RaspberryPI - very useful indeed.

This is the problem - too much gibberish talk and way too few useful, beginner-friendly tutorials. And people don't understand that this is not for me or for my family, it is for the people in general, you help a community.

However, I did search for solutions to my problem. And it happened that a guy on a forum was kind enough to provide me with baby steps but guess what, I had to download the Bumblebee tarball and it did not work from the terminal - it did not work from their website neither because their website is down, probably taken down by the hackers, I don't know. I went on GitHub and to try to compile it myself, read the README but I did not understand a thing from that.
So I did my thing man but this is way too much.

I swear to you that I am going to find that Bumblebee and Prime installation and I am going to spam it all over the internet.
 
To install Bumblebee open the Synaptic Package Manager if installed and search for Bumblebee right clcik and 'Mark for Installation" and click apply - you may have to add the Debian Non-Free repository - I do not know if they are in MX Linux or not
deb https://deb.debian.org/debian/ bullseye main contrib non-free
deb-src https://deb.debian.org/debian/ bullseye main contrib non-free


1.png


Do that for just about anything to do with NVIDIA

I do not know about anything of the people you are talking about YouTube I seldom look at it - the last youtube video I look at was a couple of months ago to fix my RainBird distribution solenoid for my lawn sprinkler system that had went bad, but I digress

For some older Optimus hardware it is still useful to have bumblebee to handle switching between discrete and integrated GPU.
On newer Nvidia Optimus systems it is recommended to take optimus-manager, optimus-switch, or render-offload.
Some computers may need BIOS adjustments before Bumblebee installation.
The M stands for “Mobile”. But having a M card isn’t enough to be sure that you’re having an Optimus laptop. There must also be an integrated video controller in your processor. To check that, run this command in a terminal:
Code:
lspci -vnn | grep '\''[030[02]\]'
There should be two output lines usually one for Intel the other for NVIDIA - here is mine
Code:
expirion:~$ lspci -vnn | grep '\''[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 620 [8086:5916] (rev 02) (prog-if 00 [VGA controller])
01:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 940MX] [10de:134d] (rev a2)

The next thing is the BIOS - 1) does it try to control the integrated video card or 2) it does not control the integrated video card - the second one is a lot more bumblebee friendly then the first one - but then remember Bumblebee is for older Optimus not the newer ones
 
Last edited by a moderator:
Welp, this thread went from "my video card isn't working" to ...

But this is the problem in the Linux community as far as I've experienced. People don't actually care. I am actually active not just on this forum but on others as well and when you ask for a thing which is a little bit more out of the line (as having Nvidia seems to be something extraordinary), like installing Bumblebee or Prime, everybody disappears or criticises you.
Except, a lot of us do care. I dedicate time to participate on this and another forum, trying to help others where I can. I participate in a local LUG and help new users.

In this thread, in particular, I see people offering help, most likely from experience. But you don't seem to be accepting it, because maybe you don't think it's optimal for your situation.

There is so much gibberish talk about Linux in general. Take a look at some of the most important figures on Youtube from the Linux community. DistroTube guy recently posted a video about "Linux GNU Philosophy" (like, who cares about this man?), guy from Linux Experiment recently posted about differences between foss licenses (not really interesting or helpful). The Luke Smith guy from youtube thinks GUIs are stupid and normies should use terminal too. And many, many others that test the same damn distro over and over again for views on youtube. You have Chris Titus Tech talking about his favourite laptop and nonsense, raising eyebrows like he would be Will Smith in front of the camera.
If you understand how the GNU philosophy and FOSS has helped shape the Linux ecosystem, and how it has affected the world, then you'll know that a lot of us care about it. It's important, and has made innovation easier.

But sure, a lot of stuff on YouTube is opinion pieces. Take it as you wish, throw away what isn't valuable.

Kind of sounds like you're getting a bit disillusioned about Linux. Linux isn't for everyone; but it's also for everyone. You don't have to agree with the Unix philosophy, or care about licensing or ideologies, to be a user of Linux. Linux is just a tool. If it doesn't fit in your toolbox, you have other options available to you.
 
and things will get better, hopefully sooner rather than later.
I agree sir, and I am actually a very optimistic person. Yesterday I helped my parents install a new LED TV and I was going through the manual, and it's a new one, and it was written there Operating System: Linux and it made me smile. When you think about China which is going to switch 50 million computers to Linux and I also read that a municipality from Turkey saved 1 million dollars by switching to Linux... Steamdeck etc. - I think Linux is slowly but surely winning this in the long run.

Kind of sounds like you're getting a bit disillusioned about Linux
I can do my job on Linux very well. What I was thinking is like this: if these youtubers come up with 4-5 stupid videos in a row.. you would kind of expect to come with at least one useful one in the end. Certainly, philosophy has its place but I think there are too many videos about it - why? because the stakes are low.
10-15 years ago if you would have told someone that you run Linux that person would have said that you are probably crazy (me included)! But also at that time you were barely able to find some games that work on Mac and now.. most of them work on Mac and now 80% of Steam's top 100 games also work on Linux!

I have a lot to read on the computer, many books and PDFs, and at the beginning of the year I tried for two weeks in a row to change folder icons as I was confusing and missclicking them. I was fed up with Windows and then a friend told me about him using Linux and I was sold to trying it. Now I can change everything not just folder icons, I can make them bigger, also the text etc.

There should be two output lines usually one for Intel the other for NVIDIA - here is mine
I would say that I got the right one
Code:
$ lspci -vnn | grep '\''[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 510 [8086:1906] (rev 07) (prog-if 00 [VGA controller])
01:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 920MX] [10de:134f] (rev a2)

I did not use the MX Nvidia driver installer as I understood that it doesn't work well with adding other things afterwards, or at least not with Bumblebee.
So.. not I'm not sure I've done this the right way.. What I did was to on a fresh installation on a separate partition as a test:
1. Installed nvidia-driver 460.91.03-1 metapackage (the non-tesla one) This GPU is Maxwell architecture via synaptic
2. Blacklisted the nouveau - I create the /etc/modprobe.d/blacklist-nouveau.conf and then added
blacklist nouveau
options nouveau modeset=0
3. installed the first Bumblebee option from Synpatic

After this I have
Code:
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 510 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 920MX] (rev a2)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5286 PCI Express Card Reader (rev 01)
02:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 06)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter

Now, the reason why I went for Nvidia driver is that with Nouveau the laptop is actually much hotter. Now I don't know how Bumblebee can actually be tested to see if it works.. I thought that by also adding bbswitch I will be able to toggle it on and off from Nividia X Settings (it gives a psychological ease of mind that Nvidia is not running the background as it wants to).
And I am not sure whether I have to install mesa-utils at any point in this equation..

Regarding the Bios.. this is what I have there: 1 2 3 - I don't know how much is Bios controlling the integrated one.
 
You can check if bumblebee is working with glxgears

Code:
glxgears -info
Running synchronized to the vertical refresh. The frame-rate should be
approximately the same as the monitor refresh rate.
GL_RENDERER = Mesa Intel(R) HD Graphics 620 (KBL GT2)
GL_VERSION = 4.6 (Compatibility Profile) Mesa 20.3.5
GL_VENDOR = Intel - [AND A LOT OF OUTPUT]

but if you do:

Code:
optirun glxgears -info
GL_RENDERER = GeForce GTX 960M/PCIe/SSE2
GL_VERSION = 4.6.0 NVIDIA 418.56
GL_VENDOR = NVIDIA Corporation
GL_EXTENSIONS = GL_AMD_multi_draw_indirect...... [AND A LOT OF OUTPUT]

So, it is clear that the NVIDIA card is only used when you use the optirun option
 
Ok, so with optirun glxgears -info it did not recognize Nvidia, at least not according to the steps that I previously mentioned. I was also not able to see Nvidia X Server Settings menu.

So, what I did was to use MX Nvidia Driver tool for reinstalling Nvidia Driver but without removing or purging anything before. Then those two commands that pop up those gears would work. Probably you could stay that it works.

However, I was still able to see Nvidia go over 40 degrees on a 720p and 1080p on youtube video and I don't really see why that would happen since the integrated should be able to manage at least the 720p on its own, only Firefox and 2-3 tabs opened.

So I think the best thing would be to also add the bbswitch. And I have a tutorial here for that but my question is:
  1. if I still have to start from
    Code:
    sudo apt install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//') nvidia-driver
    which is line 15 or if I can skip to line 24 by making # sudo touch /etc/X11/xorg.conf .
  2. can nano be used instead of touch

I guess I should just go with the rest of bbswitch process, no need to start from the beginning right?
 
Last edited:
Okay so I'm back with some information.

I had another partition with MX Linux Xfce set up for testing and I tried to install both Bumblebee and bbswitch. I failed to install bbswitch but here's the thing.

The guys from MX Linux came with some big updates lately, for many software programs and kernel. After a talk with developers on MX forums, including Dolphin Oracle, I mentioned that for Nvidia 920 MX it was not automatically installing Bumblebee via MX Nvidia Driver Installer tool (which was supposed to starting from version 460 upwards)

They did something on their end and now Nvidia Bumblebee is working without any extra steps. I tried to install bbswitch according to the tutorial mentioned above but something, somewhere needs some more tweaking. However, I am going to give bbswitch another try, one day, in the distant future.

At the moment I am testing, I want to see which way is more power efficient. The laptop is not even using Bumblebee. It's using only Intel proprietary driver for integrated graphics (by using the MX Tweaks option which automatically modifies the .conf file) without installing Nvidia driver. TLP comes preinstalled on MX Linux.
So far I tried with:
Code:
1. glxinfo|egrep "OpenGL vendor|OpenGL renderer"
Code:
2. xrandr --listproviders
Code:
3. lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
Code:
4. glxinfo -B
That all show, in a way or another, which GPU is the active one - the integrated or dedicated. So, for me, after I selected the proprietary Intel from MX Tweaks --> Other panel it showed only Intel as working (even when 1440p Youtube Video was working in the background)

After this I will also try to see if more battery can be saved with Bumblebee. For this specific type of usage, to which this laptop is being subjected to, there is no question about performance as it is very snappy doing the basic stuff.

I have to say, it feels good when developers listen to community and resolve the issues. But again, that recent topic was not even opened by me - Nvidia is a real pain in the ass.

Edit: With help from EndeavourOS tutorials I was able to get a grasp of Nvidia-dkms (they also have an updated fork named nvidia-inst).​

For some reason I don't understand why people don't mention more about this programs! Some distros are using it without mentioning about it, others have only recently adopted it (ArcoLinux).
These are CLI easy to use programs that allows a user to install video drivers without any manual hassle and by offering multiple choice via hardware detection (including Bumblebee for optimus computers). They can also be used to show what packages and dependencies would be needed in case someone wants to go for manual installation.
Of course, Bumblebee is not the king of software but it is pretty much the only option when it comes to Debian based systems, otherwise Prime might be a better choice if running Arch. In my case, only Debian (more specifically MX) works, not without small hiccups but it is what it is.
If I find more info I will post it here - until next time.
 
Last edited:

Members online


Top