It's been a while since my last upgrade and there has also been a gap to the latest Fedora 21 release, so now seemed like a good time. I upgraded my laptop by installing over the existing root partition but leaving the /home partition in place to maintain all my settings and files. I wasn't able to even attempt this in the Fedora 16 installer, but it was easy enough in the Fedora 21 installer and it worked surprisingly well. Downtime was only 20 minutes or so for the installation, though a couple of hours was needed to investigate various new settings etc.

So after a week of use here is my review compared to Fedora 16.

In summary, the distro is more polished and stable and I'm glad I upgraded.



The good

Gnome 3 status icons are more functional and have a better layout

Problematically slow yum and seapplet are much faster

The firewall is better integrated with ports auto opened upon service enablement. For example allowing ssh access is as simple as

for op in enable start; do sudo systemctl $op sshd; done

Package updates are better integrated into the system

Notifications have got some design improvement

Perfect hardware support for my laptop, including extended keys etc.

Bootup is cleaner, and a better experience than I noticed with Fedora 18 and 19

Firefox 34, Thunderbird 31 and Libreoffice 4.3 are included

Very nice dark background and palette on gnome-terminal by default. It's tempting to enable the global (gtk3) dark theme option in gnome-tweak-tool, however apps aren't ready for that yet as they often don't adjust their colours accordingly, or inconsistencies are introduced with apps not using gtk3 widgets like gtk2 apps or libreoffce etc.

A very useful feature of the new gnome-terminal is its reflowing text on resize

I setup my openvpn using network manager. This worked very well, even down to appropriately presented errors for selinux misconfiguration. There was an issue with corrupted firewall profile names when a non default firewall profile was selected, though I didn't need that feature anyway. I also notice that password retry is supported which wasn't the case in Fedora 20

Also related to VPNs, is better handling of DNS, which is awkward in the presence of multiple networks. With VPNs for example you usually don't want general DNS requests going over the VPN as it's generally slower, and prone to timeouts when you bring the VPN down. NetworkManager handles this nicely by setting up a split DNS setup in a helper dnsmasq process. To enable: crudini --set /etc/NetworkManager/conf.d/99-split-dns.conf main dns dnsmasq . Details of this setting are in man NetworkManager.conf , and you can see the entries populated at /var/run/NetworkManager/dnsmasq.conf. Note in Fedora 24 there will be a local DNS resolver used by default, to support DNSSEC, and so this should be supported automatically.

. Details of this setting are in , and you can see the entries populated at /var/run/NetworkManager/dnsmasq.conf. Note in Fedora 24 there will be a local DNS resolver used by default, to support DNSSEC, and so this should be supported automatically. I noticed some general speed improvements from low level tools. The following coreutils task pulls together a lot of low level logic and is indicative of the speedup f15$ time make sc_long_lines 0.677s f21$ time make sc_long_lines 0.441s

The bad

I couldn't figure out how to add a swap partition in the manual partition setup in the installer

I couldn't select uid 500, to match my existing install, due to Fedora aligning UIDs with other distros. Not very problematic, though I needed to do this with my /home dir from a virtual console during the install:

chown -R 1000:1000 .

The installer GUI still spins the CPU unnecessarily

gnome-tweak-tool really should be installed by default. There is just too much config hidden away. Some of the things I change from the default are: Set middle click on title bar to the "lower window" function Set window action key to Alt rather than Super. Note I also have Alt-x to close windows. Enable sloppy focus. This is a must for an overlapping window manager. Note there is a new problematic focus delay which caused me to input to the wrong window a few times now. That can be avoided (noting the caveats in this commit) using: gsettings set org.gnome.shell.overrides focus-change-on-pointer-rest false . I did notice another small issue with "focus follows mouse" where a new window will not get focus if it starts up outside the current mouse location, and the mouse is hovering over certain elements like the browser url entry. Rarely an issue though. I also noticed this can be an issue when accessing the global app menu on the top bar if the mouse moves over other windows, as they'll get focus and change the top menu bar. That can be avoided by using the Meta-F10 shortcut to access the global menu. Enable the alternate-tab extension, to essentially give a "Back" button to the desktop, where Alt-Tab will switch to the previous window . Note there is also a standard gnome setting to bind Alt-Tab to "switch windows", but this didn't seem to change anything for me Note however there are other settings not available even in gnome-tweak-tool, like disabling the redundant and annoying transitions and animations with gsettings set org.gnome.desktop.interface enable-animations false , and other settings below

Note however there are other settings not available even in gnome-tweak-tool, like disabling the redundant and annoying transitions and animations with , and other settings below There is still a delay after you typo a command, where it goes looking for matching uninstalled commands. Also this process locks up if packagekit is downloading updates for example. To avoid: rpm -e PackageKit-command-not-found

256 colours disabled by default in gnome-terminal due to it no longer setting the COLORTERM env variable (as it did in <= Fedora 20). See bug 1165439

gparted is still not included on the live image

There is no way to select a "terminal app" used for the "start terminal" shortcut. You can use a custom shortcut instead

gnome-terminal prompts about "running processes" when I close it (since F14). This really should have an option in the GUI to disable, as I often have processes with no state running like viewing man pages or an ssh session etc., so I have to disable that with: gsettings set org.gnome.Terminal.Legacy.Settings confirm-close false

The gnome-terminal menu bar is strange. You use F10 to highlight it which isn't obvious to me at least, and that very often conflicts with existing terminal apps. Also there is no option presented to disable the terminal menu bar globally or per profile, only per window ? See gnome bug 672433. To disable globally you can gsettings set org.gnome.Terminal.Legacy.Settings default-show-menubar false . Also when the menu is displayed, why is there no menu item to create a new tab (Ctrl-Shift-t)?. [Update]: Chris Irwin tells me that the settings above are accessible through the global app menu on the top bar which although awkward to access in "focus follows mouse" mode, can be accessed using the Meta-F10 shortcut.

. Also when the menu is displayed, why is there no menu item to create a new tab (Ctrl-Shift-t)?. Chris Irwin tells me that the settings above are accessible through the global app menu on the top bar which although awkward to access in "focus follows mouse" mode, can be accessed using the Meta-F10 shortcut. Nautilus lost its dual pane mode which handles many (most?) file management tasks very nicely. Also the nautilus keybindings are weird. At least it's not too onerous to get two nautilus windows side by side. Use Super-{left, right} to tile windows, and Ctrl-N to create window.

google chrome will return a "shockwave flash crashed" error when playing flash videos. Disabling selinux avoids the issue, but the main issue is there were no sealert messages, nor anything logged in /var/log/audit/audit.log. BTW I did notice a separate nacl selinux alert related to chrome. Now given there was existing .config/ for chrome I decided to restorecon -R -v $HOME . That reset lots of stuff including changing some selinux types from user_home_t to config_home_t which fixed the issue

. That reset lots of stuff including changing some selinux types from user_home_t to config_home_t which fixed the issue Notifications still confuse me greatly. There doesn't seem to be a permanent icon anywhere? Why not add an icon to the top bar that indicates new messages? I searched and found I can show the notification bar with "windows key + m". There are more issues though. For example I see an xchat and sealert icon there which can't be cleared and do nothing specific when clicked? Well clicking with the mouse doesn't work, but usually you can use the keyboard to navigate the icons and hitting enter shows the message list, and clears the icon. Though I'm seeing the xchat icon sometimes and enter doesn't show any messages. Also sometimes using the xchat icon to bring up the xchat window will hide the window completely from the gnome interface. Restarting gnome-shell doesn't bring the window back, so I need to kill the process and restart it :/ Showing the message bar by moving the mouse pointer down is finicky and I'm still not sure of what gestures display the bar and don't. I installed the "notifications alert" extension, which will make the notifications obvious in the always visible top bar. Perhaps the designers are more easily distracted than I and a temporary popup is enough to catch their attention and register in their brains that there are pending notifications. Anyway I've been able to work around the mouse interaction bugs mentioned above with the keyboard, but it's still far too finicky and needs some attention. [ Update: Feb 2015 Looks like Fedora 22 will have big improvements to notifications by integrating them with the date/time display at the top. It seems however there is still not going to be a permanent indicator that notifications are available.]

Components are generally using more RAM: # ps_mem Private + Shared = RAM used Program 9.2 MiB + 4.2 MiB = 13.4 MiB evolution-alarm-notify 13.4 MiB + 270.5 KiB = 13.6 MiB dhclient 28.5 MiB + 3.0 MiB = 31.5 MiB Xorg.bin 40.1 MiB + 4.0 MiB = 44.1 MiB evolution-calendar-factory 60.7 MiB + 3.0 MiB = 63.7 MiB gnome-software 63.7 MiB + 831.0 KiB = 64.5 MiB packagekitd 168.3 MiB + 5.3 MiB = 173.7 MiB gnome-shell gnome-shell is increased 10% since F16, but worse it seems to be leaking as after about a week of use it's up to 600MiB! This seems to be a long known issue; see bug 977387. gnome-software and the related packagekitd are new and using a significant 128MiB? Xorg is using 300% more‽ Also why is the dhcp client started by network manager constantly running and why does it use 13MiB? (I see PERSISTENT_DHCLIENT in the network startup scripts. Perhaps it's to support consistent leases over system time changes?). Also I don't use evolution nor have never started it, so why are the evolution services above running and taking nearly 50MiB‽ The evolution-calendar is used by the gnome calender I understand, though you can get rid of evolution-alarm-notify and evolution itself with rpm -e evolution-help evolution evolution-ews bijiben

The ugly

Nautilus can't write to a mounted (VFAT) usb stick, giving a "The destination is read-only" error message. See pad.lv/1021375 and bug 844713

The default Cantarell font is very blurry and has noticeable aliasing artefacts. I changed the anti-aliasing mode from grayscale to RGBA to no avail. One could also see different text heights for the bold variant, which was apparent when navigating unread messages in the thunderbird list for example, where the message text would jump around as it changed from bold to normal. Using gnome-tweak-tool to change the font to "Sans" gave a much better experience. BTW I also changed the size to 10 for Sans, as it was much better proportioned than the default 11 size. The same goes for the default "Monospace Regular" font, which looks much better at size 10 with better proportioned letters and less aliasing. Looking into the Cantarell issue, it seems that it's the only font affected due to a CFF renderer issue in freetype >= 2.5. Note you can change most of the default fonts with gnome-tweak-tool though the setting for the default font must be manually edited as per these instructions. Note chrome only seems to honour GTK2 settings and so fonts for it would need to be adjusted separately. [Update June 2015: Notes on improving fedora font rendering.]

better experience. BTW I also changed the size to 10 for Sans, as it was much better proportioned than the default 11 size. The same goes for the default "Monospace Regular" font, which looks better at size 10 with better proportioned letters and less aliasing. Looking into the Cantarell issue, it seems that it's the only font affected due to a CFF renderer issue in freetype >= 2.5. Note you can change most of the default fonts with gnome-tweak-tool though the setting for the default font must be manually edited as per these instructions. Note chrome only seems to honour GTK2 settings and so fonts for it would need to be adjusted separately. [Update June 2015: Notes on improving fedora font rendering.] The i915 graphics driver locked up in the kernel for a minute which has been reported for Fedora 21 quite a few times already

Miscellaneous notes

$ gsettings list-schemas | grep -Fi $keyword; gsettings list-recursively $promising_schema

I found it difficult to find some of thevalues above, but found this technique useful:

I have a custom script that I run at resume time to spindown an unused hard disk (that the system spins up at a very low level). Previously this was run from the /etc/pm/sleep.d/ directory. Even though this directory is present, it's ignored in the systemd setup as the pm-utils hooks are no longer run. We probably should therefore remove the directory from the filesystem package. Options to fix this are described in Debian bug 744753. I also editied /etc/smartmontools/smartd.conf to not scan (spinup) all devices by default.

As part of this upgrade I switched back from chrome to firefox because:

chrome linux integration has got slightly worse in later versions

bug with opened search box in switched to tab, clearing selection buffer

download manager is very weak and getting worse

password manager often doesn't present passwords

fonts are awkward to change and have bad defaults

cert installation is awkward

© Nov 25 2014

Note firefox had an issue with missing titles in URL bar dropdown, which was fixed by disabling the delicious addon . Also the tweetdeck app I used for chrome was transitioned to the equivalent firefox tweetdeck app , and that running app could be seamlessly integrated with the gnome desktop by clicking "add to favorites" on gnome shell icon to persist as a "desktop" app.