I had put off system upgrades for so long that I found myself having to go from Fedora 20 to 23. It took a while but everything was going smoothly until I hit Fedora 23. There, after the mandatory reboot, hooking up my secondary monitor would freeze the display and screen repainting on some programs (like Eclipse) had become problematically slow and CPU demanding. This being Linux, I scoured the web on a quest to find some clues on what was not configured correctly but nothing came up. I’m running an AMD A6-3420M APU and while AMD provides driver for that chip, they are according to reports very finicky and a pile of trouble to get running.
I resorted to simply downgrading the driver. It was working correctly in the past, so I could see no obvious reason an older version would not do it this time.
First find the version of the driver currently installed:
dnf info xorg-x11-drv-ati
Which should spit out something along the lines of:
Name : xorg-x11-drv-ati
Arch : i686
Epoch : 0
Version : 7.6.0
Release : 0.4.20150729git5510cd6.fc23
Size : 151 k
Repo : fedora
Summary : Xorg X11 ati video driver
URL : http://www.x.org
License : MIT
Description : X.Org X11 ati video driver.
So the faulty driver is version 7.6.0. Now, run:
sudo dnf --showduplicates --allowerasing --releasever=22 downgrade xorg-x11-drv-ati
Here, we’re asking dnf to go look in release 22 of Fedora for an earlier version of the driver. If the problems you are experiencing appeared with a recent update, you could avoid the –releasever argument altogether to just revert back to the previous version.
If the downgrade does not work, you rerun the command to roll back the driver even further in the past, but if after a couple times you haven’t had success, the issue probably lies with another package so run a dnf update to and take your investigation elsewhere, maybe the kernel, wayland, X, the window composer or gnome-shell.
When you update your system in the future, you’ll have to run:
sudo dnf --exclude=xorg-x11-drv-ati update
Otherwise, dnf will reinstall the broken later version of the package. This command will also give you packages with broken dependencies. That’s normal, those are packages that share dependencies with the one you have downgraded and for all I know could actually have been the ones causing you trouble. Just let them be.
Make sure you check back from time to time if another version of the offending package has been released by issuing a simple dnf update and checking the version now available.