I'd always seen terrible power efficiency on battery with Fedora. It was much worse than any previous Thinkpad. I mostly treat it like a luggable, always plugged into the wall. I wasn't sure if it was the CPU or chipset, but it never got into deeper package-level idle states like other machines.
However, I recently discovered that if I suspend and resume the laptop right after I switch from AC to battery power, the laptop runs in a much more efficient mode. It gets into those deeper idle states and can get almost 6 hours of life out of its aging batteries for basic office/communication tasks with wifi. If I don't suspend it once, it will only get close to 2.5 hours even if almost completely idle the whole time.
The Nouveau driver was so bad here that I blacklisted all the drivers and just use the Intel GPU. It's the difference between 3 hours or 6 hours of battery.
It apparently ran the Nvidia power on even when no program wanted to use it.
Are you sure you didn't install nvidia drivers? That is a common symptom with nvidia binary drivers. Nouveau on the other hand is fine with powering the device off when not used. For nvidia drivers, the bbswitch method is more reliable, but is apparently deprecated by distros these days.
Yup. By adding a Nvidia card (or, far less commonly, an ATI/AMD one) they can sell that laptop as a specialty "Gaming" machine - and with margins on commodity hardware being so razor-thin these days, that's exactly what shrewd marketers need!
Managing and multiplexing access to hardware is a core responsibility of the kernel. When video drivers are implemented in user space as X11 has traditionally done there are a bunch of issues: the program that includes them has to be setuid root to have the right access to the hardware, opening up the possibility of security bugs; only one such program can run at a time; and if something goes wrong in user space, it can bring down the system.
The newer kernel subsystem responsible for handling video cards is the Direct Rendering Manager, with the unfortunately confusing acronym DRM. [1] nVidia declined to support DRM in its proprietary driver for quite some time but eventually chose to do so.
They have some quibbles with GBM, one of the parts of the kernel API, but they didn't raise them until after the API was implemented in the kernel, was implemented in the AMD and Intel drivers, and had become a dependency for the Wayland reference compositor Weston. They refused to implement GBM and instead implemented their own alternative, EGLStreams, which is far more complicated. The open source world believes this is the wrong architecture and has had a lot of discussion about how to (reluctantly) support it. The current KDE and Gnome approach seems to be to accept patches from nVidia for EGLStreams support [2][3], but not everyone feels the same way. [4]
nVidia has implemented DRM already. They could implement GBM if they wanted to. I'm sure that having their proprietary driver in kernel space instead of user space makes licensing more complicated, but it hasn't stopped them yet.
[1] https://en.wikipedia.org/wiki/Direct_Rendering_Manager
[2] https://blog.martin-graesslin.com/blog/2017/10/plasmawayland...
[3] https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-K...
2. People like to run fully open source systems
3. Adding support for things like kms and wayland are really up to the whims of nVidia as to when it happens with the closed driver, while an open driver is more likely to do so (or at least can be forked to do so). In the past features like config-less X were also much later coming to nvidia drivers which made it harder for people to get started on Linux.
Point #3 is also really good. Who wants to wait around at the mercy of a corporation which has an active interest in NOT being transparent about "its" IP (as speculated elsewhere most of the GPUs probably infringe on some or other patent)?
Anyone buying an nvidia card for Linux should know exactly what they are doing: funding an anti-Free Software company, deeply entrenched in the ethos of secrecy, patents and bullshit; saddling themselves with a white elephant which will suck hours of their precious time.
Further, its not open source the nvidia drivers. Although, I dont understand why anyone would buy hardware from nividia and feel good about it
On a more serious note what is the motivation for Nouveau? The drivers provided by Nvidia are not good enough or we just need an opensource alternative?