Published on

Upgrading FC20 to FC21 - AMD fglrx

Authors

This post is likely to talk about radeon and AMD drivers...

  • Notebook upgrade = Fine (after some fiddling around with kmod-wl)

  • Desktop machine 'epoch' = Fine (almost zero issues)

  • Desktop machine 'square' = Non-responsive Failed to get to systemd.initialized

Comment out (for now) in /etc/modprobe.d/fglrx.conf :

blacklist radeon

This allows (for instance) 3.17.4-301.fc21 to boot, but Plymouth not Quitting (radeon is loaded). Therefore, chief suspect is the AMD graphics drivers.

Building fglrx on 3.17.6-300

Make sure that kernel-devel and kernel-headers available for the latest kernel available in the machine.

cd fglrx-install.xxxxxx/
cd install/lib/modules/fglrx/build_mod
./make.sh

This last command will probably fail with an error similar to this :

/<path>/fglrx-14.501.1003/fglrx-install.2Kq7qH/install/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c: In function ‘KCL_ACPI_Slot_No_Hotplug’:
/<path>/fglrx-14.501.1003/fglrx-install.2Kq7qH/install/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:845:21: error: ‘struct acpi_device_flags’ has no member named ‘no_hotplug’
          tdev->flags.no_hotplug = true;
                     ^

The simplest (kludgiest) way to eliminate this error is to remove the reference to flags.no_hotplug, by commenting it out (cringy, I know). So, simply :

joe 2.6.x/kcl_acpi.c
#(goto line ~845)
// no_hotplug // comment out line

Then redo the make.sh and (if eveything goes through without complaint) carry on :

#after fixing up 2.6.x/kcl_acpi.c
./make.sh
cd ..
./make_install.sh

At this point, there should be no problem going back to the 'GUI' screen and running the installation from there - the source has been fixed up sufficiently. This will also re-do the blacklist thing, and (IIRC) set up the code to regenerate the module when the kernel is (minorly) upgraded.