I installed the F32 beta and the bumblebee by following the instructions at NVIDIA Optimus Bumblebee :: Fedora Docs. But the bumblebee doesn’t work. There is even no bbswitch.
$ cat /proc/acpi/bbswitch
cat: /proc/acpi/bbswitch: no such file or directory
That’s what they’re trying to say. Since this version of Fedora has not yet been released, “resolving the problem” is hard. The best way of doing so is reporting the bug. In general, unless you are testing software and are willing to report bugs, please do not use unstable releases. They are not meant for public consumption. They are meant for advanced users to test so that they can report bugs to ensure that these are fixed before the software is released for public consumption.
In this particular scenario, though, the solution should be relatively simple—it’s probably because Bumblebee is no longer required (probably not supported either). The RPMFusion page describes support for Optimus hardware also. Please try that:
Thank you very much for your information. I have read the Howto’s. The Nvidia howto gives some instructions on the installation of the nvidia driver. The Optimus howto mentions that full optimus support is achieved with the new xorg-x11-server on F30 and later and there is nothing else to be done beyond normal driver installation. I installed the driver but it seems that the optimus is not achieved since the Nvidia graphics card is not turned off.
The fact that lspci can enumerate the GPU function in the PCI bus doesn’t necessarily means the device is active. So the test you provide isn’t relevant in the fully supported Optimus case.
Thank you for your answer. The Optimus howto is not so straightforward. Is there any step-by-step instruction on the configuration of the Optimus on the modern Fedora?
The howto mentions “Once the module is built, “modinfo -F version nvidia” should outputs the version of the driver such as 440.64 and not modinfo: ERROR: Module nvidia not found.”
It can be a side effect of not having updated fedora before installing the driver, in which case you only have installed the latest kernel-devel for the latest kernel which is not the current kernel.
All kernel modules needs to be rebuilt against each Fedora kernel, so kernel and kernel-devel have to exactly match.
You can try to build with akmods --force
If you reboot to the latest kernel and the kernel is still not here, it will be built during boot, in which case you may have to reboot a second time to have it loaded automatically.
$ sudo akmods --force
Checking kmods exist for 5.6.0-0.rc5.git0.2.fc32.x86_64 [ confirmed ]
Building and installing nvidia-kmod [failed]
Building rpms failed; see /var/cache/akmods/nvidia/440.64-2-for-5.6.0-0.rc5.git0.2.fc32.x86_64.failed.log for details
Hint: Some kmods were ignored or failed to build or install.
You can try to rebuild and install them by by calling
‘/usr/sbin/akmods --force’ as root.
Actually, bbswitch does not compile on Fedora 32. I don’t know if a change of the kernel api or the gcc 10 compiler of Fedora 32 is causing this. I append the log of the attempt of building bbswitch.
akmodsbuild --target x86_64 --kernels 5.6.0-0.rc7.git0.2.fc32.x86_64
/usr/src/akmods/bbswitch-kmod.latest
* Rebuilding /usr/src/akmods/bbswitch-kmod.latest for kernel(s)
5.6.0-0.rc7.git0.2.fc32.x86_64: prep build build build
rpmbuild failed with errorcode 1; last 35 Lines of log:
---
+ cp -al bbswitch-0.8 _kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ZCnTMS
+ umask 022
+ cd /tmp/akmodsbuild.49YFjUZu//BUILD
+ cd bbswitch-kmod-0.8
+ for kernel_version in
5.6.0-0.rc7.git0.2.fc32.x86_64___/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64
+ make -j8 -C /usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64
M=/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64
modules
make: Entering directory '/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64'
CC [M]
/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64/bbswitch.o
/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64/bbswitch.c:
In function 'bbswitch_init':
/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64/bbswitch.c:460:63:
error: passing argument 4 of 'proc_create' from incompatible pointer
type [-Werror=incompatible-pointer-types]
460 | acpi_entry = proc_create("bbswitch", 0664, acpi_root_dir,
&bbswitch_fops);
|
^~~~~~~~~~~~~~
| |
|
struct file_operations *
In file included from ./include/acpi/acpi_bus.h:83,
from ./include/linux/acpi.h:32,
from
/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64/bbswitch.c:32:
./include/linux/proc_fs.h:64:122: note: expected 'const struct proc_ops
*' but argument is of type 'struct file_operations *'
64 | struct proc_dir_entry *proc_create(const char *name, umode_t
mode, struct proc_dir_entry *parent, const struct proc_ops *proc_ops);
|
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:268:
/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64/bbswitch.o]
Error 1
make: *** [Makefile:1683:
/tmp/akmodsbuild.49YFjUZu/BUILD/bbswitch-kmod-0.8/_kmod_build_5.6.0-0.rc7.git0.2.fc32.x86_64]
Error 2
make: Leaving directory '/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64'
error: Bad exit status from /var/tmp/rpm-tmp.ZCnTMS (%build)
RPM build errors:
user mockbuild does not exist - using root
user mockbuild does not exist - using root
Bad exit status from /var/tmp/rpm-tmp.ZCnTMS (%build)
That should be the problem I once had. However, a clean installation of the F32 system and the driver of Nvidia card from the rpmfusion resolved my problem.
$ modinfo -F version nvidia
440.64
Now the power consumption is low and the buttery life is acceptable. As was mentioned by FranciscoD, Bumblebee may be no longer required in new versions of Fedora.