As an otherwise happy owner of a Dell XPS 17, I too am disappointed in the lack of Fedora Optimus support. However, I at least found how to shut down the nvidia card by using a kernel module called acpi_call.
My BIOS has no option to disable the nvidia card, plus I dual-boot Win7 and want it available there, so a software toggle is great. In Linux, I can reduce power drain by roughly 40% (generally, the 'left' fan stays off rather than run constantly). /proc/acpi/battery/BAT0/state shows 2803 mA discharge rate and the Gnome Power Settings icon shows ~2.5 hours of battery with nvidia "on". Compare that to ~1900 mA / 4 hours of battery when "off", plus drastically reduced fan noise + wear & tear, life is better. FYI, Win7 reports more than 10hrs and with some kill-a-watt checks, I believe it is accurate.
Get, compile, and install acpi_call kernel module:
Code:
git clone https://github.com/mkottman/acpi_call
make
sudo make install
sudo depmod
sudo modprobe acpi_call
Grab the
dellL702x.sh script (I named it 'optimus') to check the status, enable, or disable the nvidia card by writing complex commands to the /proc/ interface. Test by running "./optimus off"; fans should quiet down and if you unplug, note your battery discharge rate.
To automated loading the module on boot, I followed
Fedora Persistent Kernel Modules Instructions and saved the following as /etc/sysconfig/modules/acpi_call.modules
Code:
#!/bin/sh
if [ ! -e /proc/acpi/call ]; then
modprobe acpi_call
[ -e /proc/acpi/call ] && echo acpi_call ready || echo acpi_call not ready
/root/optimus off
fi
After reboot, check autoloading results via:
sudo dmesg | less -p acpi_call
You'll need to recompile the acpi_call kernel module after installing kernel updates. Some basic steps and requirements were omitted above (e.g., compiler installation, chmod +x on scripts, etc).
I still load nouveau, gnome shell works, but have hang issues on suspend, reboot acts like poweroff. YMMV.
Hope this helps!