Switching off "discrete graphics" #computers #gpu

🕤︎ - 2021-06-13

Around a year and a half ago I treated myself to a Lenovo ThinkPad X1 Extreme Gen 2.

The screen looked alluring - OLED, 3840x2160 - and I was happy with my previous Lenovo ThinkPad X1 Carbon Gen 3, so why not?

They are quite different: the X1 Carbon is light and not much wider than the keyboard, while the X1 Extreme is larger and heavier. That's the way it has to be, going from 14" to 15".

One thing I did not consider was that the new laptop has a "hybrid graphics" setup - it has a "basic" integrated Intel 630 GT2 GPU for saving power and a more "powerful" Nvidia GeForce GTX 1650 Max-Q GPU for heavy lifting - and it is supposed to switch between them seamlessly.

When I got the machine I had some problems using the hybrid configuration, so what I ended up doing was to configure the laptop to use "discrete graphics" in the BIOS and installing the proprietary Nvidia drivers. This means that the Nvidia GPU is used all the time.

This also meant that battery life was quite bad - on the X1 Carbon it was good enough for me not to notice around the house, but with the GPU running full tilt on the X1 Extreme, it was between 2 and 3 hours. Not critically low, but not impressive either.

Another thing started to happen recently: the laptop got too hot to hold in a lap. Kind of annoying. I ran powertop --autotune and often used cpufreq.set --max to throttle the CPU to 0.8 GHz. That helped a little on the temperature, but the lack of speed was kind of annoying in some circumstances, especially in Emacs displaying a lot of pictures. Definitely noticable. I started looking at new laptops, but stopped when I realized how new this one is.

A couple of days ago I read a blogpost "Laptop review: ThinkPad X1 Extreme (Gen 2)" which mentioned using only the Intel GPU, and turning off the Nvidia GPU by telling the kernel to remove it from the PCI bus, saving power. Interesting!

At first I tried disabling the proprietary Nvidia driver, but I didn't manage to, so instead I purged the package altogether, thus using the Intel GPU only, and added the commands to remove the Nvidia GPU from the PCI bus to my startup script.

What a difference!

The problems that made me go discrete graphics only are gone (they must have been ironed out during the last 1½ year), and now I get 4-6 hour battery life instead. Best of all: the laptop doesn't get hot enough to scorch my legs any more. Yay!

Add comment

To avoid spam many websites make you fill out a CAPTCHA, or log in via an account at a corporation such as Twitter, Facebook, Google or even Microsoft GitHub.

I have chosen to use a more old school method of spam prevention.

To post a comment here, you need to:

¹ Such as Thunderbird, Pan, slrn, tin or Gnus (part of Emacs).

Or, you can fill in this form: