Powermanagement setup for laptop with NVIDIA card

I’ve bought a laptop with NVIDIA videocard and I want to have proper power management to make it work on battery charge as long as possible. I don’t really need 3D accelerator for the most of the time and for many years I didn’t use a laptop with discrete videocard (especially NVIDIA one) so I need an advise.

I already added an official NVIDIA repo and installed OpenGL drivers, but not X11 ones - should I? AFAIK there is a Bumblebee drivers that are supposed to save battery for laptops with NVIDIA cards, but is it still needed with modern NVIDIA drivers? Can both Bumblebee and NVIDIA drivers be installed on the same machine?

Also I heard about TLP. It is installed by default but the service itself is not enabled - should I enable it? Does it interfere with Bumblebee?

Can you provide more info about your video hardware?

/usr/sbin/hwinfo --gfxcard

I already added an official NVIDIA repo and installed OpenGL drivers, but not X11 ones - should I? AFAIK there is a Bumblebee drivers that are supposed to save battery for laptops with NVIDIA cards, but is it still needed with modern NVIDIA drivers? Can both Bumblebee and NVIDIA drivers be installed on the same machine?

That only applies to systems with Optimus graphics systems AFAIU. Is this what you have?

That only applies to systems with Optimus graphics systems AFAIU. Is this what you have?

I have no clue so maybe not.


/usr/sbin/hwinfo --gfxcard

12: PCI 02.0: 0300 VGA compatible controller (VGA)               
  [Created at pci.378]
  Unique ID: _Znp.3Z4KvHPq3y7
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "Intel VGA compatible controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x5917  
  SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
  SubDevice: pci 0x163e  
  Revision: 0x07
  Driver: "i915"
  Driver Modules: "i915"
  Memory Range: 0xed000000-0xedffffff (rw,non-prefetchable)
  Memory Range: 0xc0000000-0xcfffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 127 (12926 events)
  Module Alias: "pci:v00008086d00005917sv00001043sd0000163Ebc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

24: PCI 100.0: 0302 3D controller
  [Created at pci.378]
  Unique ID: VCu0.4F62k4JPpz5
  Parent ID: z8Q3.2+Khqi0Oht7
  SysFS ID: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "nVidia 3D controller"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x1d10  
  SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
  SubDevice: pci 0x163e  
  Revision: 0xa1
  Driver: "nvidia"
  Driver Modules: "nvidia"
  Memory Range: 0xee000000-0xeeffffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  Memory Range: 0xe0000000-0xe1ffffff (ro,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0xef000000-0xef07ffff (ro,non-prefetchable,disabled)
  IRQ: 16 (no events)
  Module Alias: "pci:v000010DEd00001D10sv00001043sd0000163Ebc03sc02i00"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia_drm is active
    Driver Activation Cmd: "modprobe nvidia_drm"
  Driver Info #2:
    Driver Status: nvidia is active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #17 (PCI bridge)

Primary display adapter: #12


That’s ok. The hwinfo output confirms that you have an Intel/NVIDIA hybrid graphics system. I’m not sure if bumblebee is working in Leap 15 as of yet. Here’s a recent thread on the subject that might be helpful to you…

https://forums.opensuse.org/showthread.php/531453-Installing-openSUSE-Leap-15-0-and-bumblebee-on-hardware-with-NVIDIA-Optimus-graphics

BTW, please be aware of the following with respect to using the proprietary NVIDIA driver…

4.1 Hang on Machines with Nvidia GPUs and Hybrid Graphics +&comment=4.1%20%20Hang%20on%20Machines%20with%20Nvidia%20GPUs%20and%20Hybrid%20Graphics%0A%0Ahttps%3A%2F%2Fdoc.opensuse.org%2Frelease-notes%2Fx86_64%2FopenSUSE%2FLeap%2F15.0%2F%23sec.driver.nvidia-hybrid&assigned_to=sknorr%40suse.com"]Report Bug](Log in to Bugzilla[doc) #

 With the kernel shipped in openSUSE Leap 15.0 GM, the Nouveau driver for     Nvidia graphics card may hang at reboot, shutdown, or during runtime power     management actions. This bug occurs primarily on system with hybrid     graphics, such as laptops that include integrated Intel graphics and a     discrete Nvidia graphics card.    
 The bug will be fixed in a maintenance update for the kernel. However, as     the installation image does not receive updates, this issue may occur     during installation or first boot even after that update has shipped.     In that case, as a temporary workaround, boot with the option     nouveau.modeset=0. After the updated kernel     including the fix is installed, you can remove this option again.    

4.2 KDE on Wayland Is Not Supported with Proprietary Nvidia Driver +&comment=4.2%20%20KDE%20on%20Wayland%20Is%20Not%20Supported%20with%20Proprietary%20Nvidia%20Driver%0A%0Ahttps%3A%2F%2Fdoc.opensuse.org%2Frelease-notes%2Fx86_64%2FopenSUSE%2FLeap%2F15.0%2F%23sec.desktop.kde-wayland-nvidia&assigned_to=sknorr%40suse.com"]Report Bug](Log in to Bugzilla[doc) #

 The KDE Plasma Wayland session is not supported with the proprietary     Nvidia driver. If you are using KDE and the proprietary Nvidia     driver, stay with the X session.

First of all, do not fiddle with tlp. The default udev power saving rules are pretty good already. You may be able to squeeze half an hour of battery time more out of the system but the effort is simply not worth it. Tune down screen brightness which is the biggest power drain besides discrete graphics.

As for the nvidia card, check dmesg for vgaswitcheroo messages. If that is active, then your nvidia card is probably powered down already. In case vgaswitcheroo does not manage your cards and you do not need the card, you could forcefully disable the card preferably via a bios option or, if that is not available, via bumblebee switcher (search for it as I forgot the name) oder acpi_call (which is what I use). Disabling the card results in massive power saving, my laptop jumps from 5 hrs remaining to 10 hrs.

Lastly, remember to enable DRI3 on the intel card. That especially seems to be needed for optimus controlled by vgaswitcheroo but it will not hurt for the other options.

It turned out that nouveau driver was preinstalled on my laptop (I guess Leap automatically installs GPU drivers during OS installation). Following this instruction I’ve installed bumblebee and enabled its service, blacklisted nouveau, ran sodu mkdinitrd, rebooted and now battery indication tells me that there is 10 hours left :). Thanks for the help guys!

The open source driver is included as part of the kernel. It’s the proprietary drivers that need to be added manually if needed/desired.

Following this instruction I’ve installed bumblebee and enabled its service, blacklisted nouveau, ran sodu mkdinitrd, rebooted and now battery indication tells me that there is 10 hours left :). Thanks for the help guys!

Well done! :slight_smile: