Skip to content

Fedora 20, revisited

Back in November when I installed Fedora 20 beta on this MacBook Pro I considered this as some kind of experiment on how long it would take me to get used to "Linux on the desktop".

Coming from MacOS 10.7 (Lion), it took me a few days until I got used to different keyboard shortcuts (Command-Tab vs. ALT-Tab to switch between applications (or Windows) Command-O vs. Enter to open files, Command-{ vs. ALT-number to switch between tabs, etc.) and to setup all these little things that are working out-of-the-box on MacOS but need manual tinkering on Linux. A few things were listed in this earlier posting already, so I won't repeat them here. But in the course of 3 months of usage, more stuff came up and I wanted to share this with the outside world:

  • WiFi, this never-ending story. And not really a fault in Linux or Fedora (since it cannot be solved on a technical level but has to be solved on a legal level), but an annoyance nevertheless. This MacBook Pro has a Broadcom BCM4322 WiFi chip and needs a firmware blob to function properly. The whole setup is easy enough, but still annoying that one has to do this manually.

  • I noticed that the keyboard backlight is gone and the keys on this MacBook Pro (F5, F6) were not doing anything to change that. I set up xbindkeys to enable and adjust the keyboard backlight. Automatic adjustment is still not possible but I didn't care for that.

  • No Twitter clients: sometimes I'd like to use Twitter on the desktop (no, not the awful web frontend) but because Twitter Inc. changed its API in 2013, many clients had to fix their codebase to reflect those changes. Fedora offeres quite a few clients, but all were in a non-working or non-usable state:
  • I use VLC to watch movies because Totem (now called "Videos", sigh...) won't play files with non-free codecs and installing gstreamer plugins did not help. But VLC won't inhibt the screensaver while watching movies. Major annoyance on a desktop system!

  • After all those years, power management on Linux with pm-suspend still has issues: pm-suspend won't work when /proc is mounted with hidepid=2 - and I do use this option. The bug is still open, not sure if this one is on anyone's focus.

  • Hibernating to an encrypted swap partition is still not possible (although the bug says it was fixed in Fedora 13), so hibernation was not an option here. But suspending resp. waking up from suspend was indeed the biggest problem on this machine. Often enough, a blue Fedora logo is displayed after waking up and there's no way to login. Switching to a text-console was possible though - but logging in here was accompanied by a strange System is booting up. See pam_nologin(8) message. One could go to init 3 and back to init 5 again but then all applications had to be restarted, not a pretty thing to do on a desktop system. Eventually this got tracked down and a fix has been released but only 2 months after initial release - quite annoying for such a basic usecase.

  • Oh, and there's still this problem with sound: I know, I've covered this already in my earlier posting but since it's such a drag, let me repeat this: sound is unusable on a MacBook Pro running Fedora Linux. Overlooking the mute/unmute issues, getting the microphone to work was even harder. After booting I always ended up messing around with pavucontrol for 10 to 20 minutes, unmuting every control, toggling and sliding all the knobs and bars I could find and sometimes, if the moon was full and the gods were benevolent, I could get the microphone to work. Until the next reboot and the cycle begins again. Looks like things haven't improved since Fedora 11 (April 2009) when it comes to sound, which is kind of a big issue for a desktop system. (See also: why-alsa-sucks.png)

That's quite a list and all those little things (and the things I already forgot about) piled up and consumed a large amount of time to debug instead of doing actual work. The sound problem and the Fedora-logo-after-suspend issue were the biggest issues for me and when the latter problem finally got fixed, some other update sneaked in and now this MacoBook's display won't come back on after wakeup - so now the whole thing has to be debugged again - this was the point when I decided to go back to MacOS, I just could not take it anymore. Yes, there's a PowerBook G4 in the closet here, working as a small file server and happily running Debian/GNU Linux for years now but maybe Apple hardware just isn't the right choice when it comes to running Linux on the desktop. Maybe I shall try again in a few years, when Fedora 30 or so comes out and I'll take another look.

df(1) in MacOS 10.9

I haven't used "Mavericks" that much yet, but one thing that caught my eye early on was a change in df(1):
$ df -h /
Filesystem   Size   Used  Avail Capacity iused    ifree %iused  Mounted on
/dev/disk1  118Gi   14Gi  104Gi    12% 3626080 27340805   12%   /
Wtf? Why are they displaying inode allocation by default? Well, in their manpage they state:
 -i      Include statistics on the number of free inodes. This option is now the default
         to conform to Version 3 of the Single UNIX Specification (``SUSv3'')
         Use -P to suppress this output.
Ah, SUSv3. That was released in 2002 - of course MacOS 10.9 has to catch up on portability here, sure1 :-)

Let's look at SUSv3 (aka "IEEE Std 1003.1-2001") then:
   The df utility shall write the amount of available space [XSI] > and file slots <
And this XSI stands for "Extension":
The functionality described is an XSI extension. Functionality marked XSI is also an
extension to the ISO C standard. Application writers may confidently make use of an
extension on all systems supporting the X/Open System Interfaces Extension.
So, it's not so much a conformity issue but a mere choice to include the ouput of inode usage in the newest iteration of MacOS X. While it's still not clear why they changed it (and left -t a no-op), let's look at other Unix versions:
$ uname -srv; df -h /
SunOS 5.10 Generic_144500-19
Filesystem             size   used  avail capacity  Mounted on
/dev/md/dsk/d1         7.9G   3.0G   4.8G    39%    /

$ uname -srv; df -k /
AIX 3 5
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           262144    175244   34%     3919    10% /
To restore the old behaviour in MacOS, use -P:
$ df -Ph /
Filesystem   Size   Used  Avail Capacity  Mounted on
/dev/disk1  118Gi   14Gi  104Gi    12%    /

1Overlooking the fact that their manpage still reads "May 8, 1995" at the end...

Sorted by pmem

On this SLES11sp2 system, ps won't sort by "percent of physical memory":
$ ps -eo vsz,rss,pmem,pid --sort -rss | head -4
   VSZ   RSS %MEM   PID
597624 515344  3.0 3201
395936 108752  0.6 15819
2254136 59280  0.3 39188

$ ps -eo vsz,rss,pmem,pid --sort -pmem | head -4
   VSZ   RSS %MEM   PID
 10528   840  0.0     1
     0     0  0.0     2
     0     0  0.0     3
Turns out SLESsp2 (released 29 Feb 2012) still ships with procps version 3.2.7, even though this had been fixed back in 2010:
$ rpm -q --queryformat "%{NAME} %{VERSION} %{URL}\n" $(rpm -qf `which ps`) 
procps 3.2.7 http://procps.sf.net