Wednesday, February 27, 2013

Fedora 18 Upgrade

People are really into Ubuntu these days, and I even have a few boxes around the house running it. The kids like it better than Windows 8. For my personal workstation however, I'm still loving Fedora. Maybe it is nostalgia from way back when I first switched from Slackware on floppies (and the joys of compiling my own monolithic kernels), to that sweet Red Hat CD I found taped to the back of a thousand plus page book. It "just worked" when I installed it. Heavy RHEL use at work doesn't hurt either. With Fedora, I get a preview of systemd and future RHEL innovations. Another thing I like is the smooth yum based upgrades. They seem to remove many of the nightmares I've experienced in the past with upgrading Linux.

That doesn't mean there are never problems tho. I found a few last night and I'll share how I resolved them.

Issue 1: The default ramdisk has the nouveau driver built-in, loading it into the system even if it is blacklisted in /etc/modprobe.d/blacklist.conf (or /etc/modprobe.d/nvidia-installer-disable-nouveau.conf). This prevents the NVIDIA binary drivers from compiling or loading.

Solution: First, you need to rebuild the initrd and explicitly disable nouveau:


# dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)


and make sure it is blacklisted in one of the above mentioned /etc/modprobe.d/ files with some lines like:

blacklist nouveau
options nouveau modeset=0

Then reboot. If you used the easy rpmfusion drivers by following this link, then they probably have been updated on your fedup from Fedora 17 -- in which case you are already working now. If you install your drivers the stubborn old-man way, like I do, then it's time to go and download and compile them yourself. After Linux starts loading, hit ESC (if the graphical boot is running) and then Ctrl-Alt-F2 (after booting is finished) to go to a text console. Login and grab the latest NVIDIA drivers:

# wget http://us.download.nvidia.com/XFree86/Linux-x86_64/310.32/NVIDIA-Linux-x86_64-310.32.run
# chmod +x ./NVIDIA-Linux-x86_64-310.32.run
# ./NVIDIA-Linux-x86_64-310.32.run

...now wait for it...

Start cursing! Somehow your 3.7 kernel headers aren't there! Or, are they...

Since /lib/modules/3.7.9-201.fc18.x86_64/build/include/linux/ is on the box what could be missing? Looks like a sneaky kernel dev moved version.h somewhere. Fix it by:

# cd /lib/modules/$(uname -r)/build/include/linux/
# ln -s ../generated/uapi/linux/version.h .

Now, go back and run "./NVIDIA-Linux-x86_64-310.32.run", install the drivers and reboot.

Issue 2: My wonky "alien -r" converted version of Spotify 0.8.4 bit the dust. It seems symlinks and crossed fingers are no longer sufficient to make it scrape by.

Solution: I came accross a really kewl find here. Basically, someone created a spec file which will build a very nice (and working!) RPM of Spotify 0.8.8. To get this going yourself:

# yum install wget rpmdevtools rpm-build yum-utils
$ rpmdev-setuptree
$ cd $(rpm --eval %_sourcedir)
$ wget http://leamas.fedorapeople.org/spotify/0.8.8/spotify-client.spec
$ spectool -g spotify-client.spec
# yum-builddep spotify-client.spec
$ env QA_RPATHS=$((0x02|0x08)) rpmbuild -bb spotify-client.spec

When all is said and done you should have a RPM in your home which you can install with:

$ sudo yum install /home/$USER/rpmbuild/RPMS/x86_64/spotify-client-0.8.8.323.gd143501.250-3.fc18.x86_64.rpm

Before you run spotify, do a: 

$ rm -rf ~/.cache/spotify

then you should be good to go.

Another tip: In Gnome 3.6 the scrollbar behavior (among other things) is wonky. When you click the empty space above or below a scrollbar, you don't go up/down a page... you are moved to that absolute position. This can get ugly with a really large scroll area as you can't precisely scroll up by "pulling" the slider without going way too far. I decided to dig around and found a solution:

Add the following to ~/.config/gtk-3.0/settings.ini (create it if necessary):


[Settings]
gtk-primary-button-warps-slider = false

More settings can be found here.


No comments:

Post a Comment