I was using the Nvidia driver installed using rpmfusion akmod-nvidia under F34 and earlier. This failed after upgrading to F35.
My card is a GeForce GT740 (an older card).
It seems this is now included in a ‘legacy’ RPM
I had to uninstall the original RPM and install the legacy RPM.
The nvidia driver for F35 is now 495.44 so there have been some changes. Apparently they dropped some of the older cards. For fedora 34 it remains at 470.74 for now.
[josephsaber@fedora ~]$ sudo dnf remove --skip-broken *nvidia*
Error:
Problem: The operation would result in removing the following protected packages: kernel-core
[josephsaber@fedora ~]$ sudo dnf install --skip-broken akmod-nvidia-470xx-3:470.82.00-1.fc35.x86_64
Last metadata expiration check: 0:38:29 ago on Mon 08 Nov 2021 11:50:13 AM EET.
Error:
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
(base) [josephsaber@fedora ~]$ sudo dnf remove *nvidia*
[sudo] password for josephsaber:
Error:
Problem: The operation would result in removing the following protected packages: kernel-core
(try to add '--skip-broken' to skip uninstallable packages)
(base) [josephsaber@fedora ~]$ sudo dnf install akmod-nvidia-470xx
Last metadata expiration check: 2:47:30 ago on Mon 08 Nov 2021 01:33:54 PM EET.
Error:
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
(try to add '--skip-broken' to skip uninstallable packages)
There is nothing I am aware of that would cause the removal of the nvidia drivers to try and remove the kernel-core package or the systemd packages but apparently something is not totally standard in what you have installed.
(base) [josephsaber@fedora ~]$ sudo dnf remove xorg-x11-drv-nvidia\*
[sudo] password for josephsaber:
No match for argument: xorg-x11-drv-nvidia*
No packages marked for removal.
Dependencies resolved.
Nothing to do.
Complete!
(base) [josephsaber@fedora ~]$ sudo dnf install akmod-nvidia-470xx
Last metadata expiration check: 4:59:42 ago on Mon 08 Nov 2021 04:41:33 PM EET.
Error:
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
(try to add '--skip-broken' to skip uninstallable packages)
(base) [josephsaber@fedora ~]$ sudo dnf distro-sync
Last metadata expiration check: 5:00:35 ago on Mon 08 Nov 2021 04:41:33 PM EET.
Dependencies resolved.
Nothing to do.
Complete!
(base) [josephsaber@fedora ~]$ sudo dnf remove *nvidia* --noautoremove
Error:
Problem: The operation would result in removing the following protected packages: kernel-core
(try to add '--skip-broken' to skip uninstallable packages)
(base) [josephsaber@fedora ~]$ sudo dnf install akmod-nvidia*470* nvidia*470* xorg-x11-drv-nvidia*470*
Last metadata expiration check: 5:01:03 ago on Mon 08 Nov 2021 04:41:33 PM EET.
Error:
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
(try to add '--skip-broken' to skip uninstallable packages)
It is clear that something was done to make the nvidia drivers installation non-standard. There is no known reason that doing a removal of the nvidia packages would attempt to remove kernel-core. The only thing I can think of that would cause that is corruption in the rpm database.
There is one fix that might clean up the errors in the rpm database and allow a proper way to move forward. It is shown here at rpm.org.
sudo rpmdb --rebuilddb
Read the reference, then try the database rebuild and see if it makes a difference in what dnf is able to do.
(base) [josephsaber@fedora ~]$ sudo rpmdb --rebuilddb
(base) [josephsaber@fedora ~]$ sudo dnf remove *nvidia*
Error:
Problem: The operation would result in removing the following protected packages: kernel-core
(try to add '--skip-broken' to skip uninstallable packages)
(base) [josephsaber@fedora ~]$ sudo dnf install akmod-nvidia-470xx
Last metadata expiration check: 0:05:24 ago on Mon 08 Nov 2021 09:59:18 PM EET.
Error:
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
(try to add '--skip-broken' to skip uninstallable packages)
If you have an older kernel then boot from the older kernel. I know that f35 was released with the 5.14.10 kernel. You have not said what kernel is currently in use, but try booting from the older kernel, then remove the newer kernel. Once that is done then do the nvidia driver steps. Following that then reinstall the newest kernel.
Then reboot again to the latest kernel and the 470 nvidia drivers.
This does, of course, assume you have the latest kernel (5.14.16) installed. If not then you can see which kernel you booted from with “uname -a” and all the kernels actually installed with “sudo dnf list installed kernel”
(base) [josephsaber@fedora ~]$ uname -r
5.14.10-300.fc35.x86_64
(base) [josephsaber@fedora ~]$ sudo dnf upgrade
Last metadata expiration check: 1:00:30 ago on Tue 09 Nov 2021 11:22:48 AM EET.
Dependencies resolved.
Nothing to do.
Complete!
(base) [josephsaber@fedora ~]$ sudo dnf remove *nvidia*
Error:
Problem: The operation would result in removing the following protected packages: kernel-core
(try to add '--skip-broken' to skip uninstallable packages)
(base) [josephsaber@fedora ~]$ sudo dnf install akmod-nvidia*470* nvidia*470* xorg-x11-drv-nvidia*470*
Last metadata expiration check: 1:00:38 ago on Tue 09 Nov 2021 11:22:48 AM EET.
Error:
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
(try to add '--skip-broken' to skip uninstallable packages)
Well of course. The nvidia drivers are in the rpmfusion repo and not in the fedora main repo. You can install the rpmfusion repo on your machine if not already installed then install the drivers as shown here. https://rpmfusion.org/Configuration
& https://rpmfusion.org/Howto/NVIDIA
If you installed the driver manually directly from nvidia then you also need to remove it manually and not with dnf.
Yes, like computersavvy said, remove the infidia driver with rpm:
The very first step is to become root: sudo su - root
Make sure you remove the listed packages.
The commandos could look like this: for i in $(rpm -qa \*nvidia\*); do echo rpm -e $i; done
(It doesn’ actually run the commands, it just echos them to the shell)
You can make a test-run: for i in $(rpm -qa \*nvidia\*); do rpm -e --test $i; done
(Remove “–test” if you are ready to go)
Depending on what you have got, I’d start with: rpm -e akmod-nvidia-....some...numbers...and...version...info
Then install the rpm fusion repos and nvidia, like in the links above.