Fedora 19… on a Macbook Air (2013 Model)!

Update 02-04-2014 – this blog has been updated with Fedora 20.  Fedora 20 works much better so I would highly recommend following the instructions there.

Warning – This information is now out of date and replaced with the blog entry on Fedora 20

 

Update 07-29-2013 – the new kernel supports the touchpad out of the box.  Getting better every day!

This is a slight deviation from my traditional posts but I’m a techie at heart and when a Linux guy gets a new Macbook, he’s gotta try putting on Fedora.  Anderson Silva was my primary inspiration since he got this working on a mid-2012 model Macbook Air ().  However, when deploying on a 2013 model, I hit a couple of bumps in the road.  The good news is that I was able to fix everything but it took me a while to track down all the fixes.  Warning – if you aren’t interested in building some packages, it’s probably just better to wait a couple of months.  However, if you are impatient like myself, read on!

Step 1 – Building RPM’s

You are going to need to build some RPM’s here so you’ll need some development tools installed.

sudo yum install @development-tools
rpmdev-setuptree

Step 2 – Wireless

The new Macbooks ship a BCM4360 wireless chipset which isn’t supported today in Fedora or available via RPMFusion.  However, the RPMFusion guys are working on it and you can build your own RPM with the latest driver to get this working.  You can track the progress at https://bugzilla.rpmfusion.org/show_bug.cgi?id=2721.

# Download and build the source RPM's
cd ~/rpmbuild/SRPMS
wget http://dl.dropboxusercontent.com/u/25699833/rpmfusion/bug2721/broadcom-wl-6xx-6.30.223.30-1.fc20.src.rpm
wget http://dl.dropboxusercontent.com/u/25699833/rpmfusion/bug2721/wl-6xx-kmod-6.30.223.30-1.fc20.src.rpm
rpm -Uvh *.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -ba wl-6xx-kmod.spec
rpmbuild -ba broadcom-wl-6xx.spec

# Install those RPM's
cd ~/rpmbuild/RPMS
sudo yum install RPMS/`uname -i`/akmod-wl-6xx* RPMS/`uname -i`/kmod-wl-6xx* RPMS/noarch/broadcom-wl-6xx*

Step 3 – Touchpad support (e.g. two finger scroll, two finger click)

Update: You used to have to build a custom kernel but now that 3.10 is out, this works out of the box!

Issues

1. Light sensor / backlight – after a reboot, I can adjust screen brightness with the correct steps / increments using the hot keys. However, after suspend / resume, I can still use the hot keys but it’s either max / min brightness. Not the end of the world, but a bit of a pain.  I’ve opened the following bug to track – https://bugzilla.redhat.com/show_bug.cgi?id=989555

2. Internal speakers.  I can’t seem to get the internal speakers to work.  Headphones work fine but I went ahead and opened a bug to track – https://bugzilla.redhat.com/show_bug.cgi?id=989582

3. 15-30 second hangs.  This seems to be somewhat CPU / IO related but every once in a while, my machine will hang for 15 or 30 seconds.  Nothing more than an annoyance but I’m going to try adding libata.force=1:noncq to my kernel boot parameters and see if that helps based on this article (https://bbs.archlinux.org/viewtopic.php?pid=1295212#p1295212).

# Edit the default grub file
sudo vim /etc/default/grub

# Add 'libata.force=1:noncg' to the end of the GRUB_CMDLINE_LINUX parameter

# Regenerate the grub configurations
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cf

Please comment on the bugs if you are experiencing the same issues or if you have fixes!

69 thoughts on “Fedora 19… on a Macbook Air (2013 Model)!

  1. Hi, I have followed the instructions for touchpad support but it doesn’t seemed to work. I’ve built the kernel from the 3.9.9 source version instead of 3.9.8, which is the version that the patch is reported to work. Which version did you build your kernel on?

    Reply
    • Hey Justin, I was able to build this against version 3.9.9-302. What error are you seeing?

      Reply
      • Along the building process, I saw warnings similar to:

        fs/compat_ioctl.c: In function ‘serial_struct_ioctl’:
        fs/compat_ioctl.c:611:38: warning: typedef ‘SS’ locally defined but not used [-Wunused-local-typedefs]
        typedef struct serial_struct SS;
        ^
        Other than these warnings I didn’t encounter any error which prevents the process from completing. After the kernel is built I proceed with installing the kernel and rebooted but the touchpad problem persisted.

        On the other hand, following the instructions for wireless I got an error after inputing the line rpmbuild -ba *.src.rpm:

        error: File /home/justin/rpmbuild/SRPMS/broadcom-wl-6xx-6.30.223.30-1.fc20.src.rpm does not appear to be a specfile.

      • Well, that’s embarrassing, I had completely the wrong commands in there for building the wireless RPM’s. Try that section again – it should be updated. You need to install the source RPM’s and run the rpmbuild command on the specs.

        After you built and installed the kernel, did you see ‘local’ in the kernel name in the grub menu? Also, did you go into Settings -> Mouse & Touchpad to enable 2 finger scroll (updated the blog with that as well).

  2. Hey Matt, One thing I didn’t quite understand… on the macbook air (mid-2012) two-finger scroll and two-finger click work out of the box, they just need to be turned on in the GNOME 3 settings… Did you patch the kernel because it didn’t work on mba 2013? The only thing that doesn’t work is 3 finger scroll for something like scroll through virtual desktops.

    Reply
  3. So, you got Fedora Linux to work on a 2013 Macbook? Did you do anything specific to make it work? Most Linux distros I’ve tried won’t even boot after install.

    Reply
    • You have to jump through a few hoops to get it installed on the SSD but in general Fedora just runs out of the box. For a low risk way of doing this, you can check out Anderson’s blog for running Fedora from a USB3 key (). Then if you want to jump to running on the SSD, you can follow Anderson’s instructions or mine (depending on the model of your Macbook). I kept the original OSX partitions and can dual boot fine as well by just holding down ‘Option’ when the machine boots. Definitely worth a try if you are a Linux fan!

      Reply
  4. Hi for the wireless, the last command ‘sudo yum install RPMS/`uname -i`/akmod-wl-6xx* RPMS/`uname -i`/kmod-wl-6xx* RPMS/noarch/broadcom-wl-6xx*’ returns

    No package RPMS/x86_64/akmod-wl-6xx* available.
    No package RPMS/x86_64/kmod-wl-6xx* available.
    No package RPMS/noarch/broadcom-wl-6xx* available.
    Error: Nothing to do

    So I went directly into the directories of the rpms and install them instead. However I bumped into these errors:

    ‘sudo yum install akmod-wl-6xx-6.30.223.30-1.fc19.x86_64.rpm’ returns
    –> Finished Dependency Resolution
    Error: Package: akmod-wl-6xx-6.30.223.30-1.fc19.x86_64 (/akmod-wl-6xx-6.30.223.30-1.fc19.x86_64)
    Requires: wl-6xx-kmod-common >= 6.30.223.30

    ‘sudo yum install kmod-wl-6xx-6.30.223.30-1.fc19.x86_64.rpm’ returns
    Error: Package: kmod-wl-6xx-6.30.223.30-1.fc19.x86_64 (/kmod-wl-6xx-6.30.223.30-1.fc19.x86_64)
    Requires: kmod-wl-6xx-3.9.9-302.fc19.x86_64 >= 6.30.223.30-1.fc19

    ‘sudo yum install kmod-wl-6xx-3.9.9-302.fc19.x86_64-6.30.223.30-1.fc19.x86_64.rpm’ returns
    Requires: wl-6xx-kmod-common >= 6.30.223.30

    And ‘sudo yum install broadcom-wl-6xx-6.30.223.30-1.fc19.noarch.rpm’ returns
    Requires: wl-6xx-kmod >= 6.30.223.30

    For the touchpad support, I did a clean install of fedora from a live usb today. Updated to kernel 3.9.9-302 and followed the steps again. Still, it doesn’t work after a reboot. I did see ‘local’ in the kernel name and am certain the custom kernel is booted. Mouse & Touchpad settings did not show options to enable 2 finger scroll.

    I did not configure anything after the clean install except for adding rpmfusion repo and doing a yum update. Did you install anything that might have affected the result?

    Reply
    • For the wireless RPM’s, you’ll have to install them all in a single command. They have some circular dependencies between broadcom-wl and the wl-6xx-kmod RPM’s, so they will need to be installed in a single command. Not sure why the wildcard expression isn’t matching with yum. Maybe try ‘sudo rpm -Uvh RPMS/`uname -i`/akmod-wl-6xx* RPMS/`uname -i`/kmod-wl-6xx* RPMS/noarch/broadcom-wl-6xx*’? Otherwise, you can copy all the RPM’s to a single directory (e.g. /tmp) and try installing them with ‘rpm -Uvh *.rpm’.

      Around the touchpad, I have unfortunately installed and tweaked quite a few things at this point to try and get stuff working. I tried to take good notes but looks like not good enough :( Let me stew on what I might have installed that could influence the results. My first thought would be to install and run fedorautils () and under ‘Essential Tips and Tweaks’, select the ‘Enable systemwide touchpad tap’. Granted, this didn’t have any visible effect, but I did this before I patched the kernel. Maybe the combination did the trick.

      Let me know if this helps!

      Reply
      • Managed to get the wireless up by copying them to a single directory and executing ‘rpm -Uvh *.rpm’ you provided.

        Still no luck yet with the touchpad. Ran rpmlint against the kernel.spec file and got:


        kernel.spec: W: patch-not-applied Patch2901: v4l-dvb-experimental.patch
        kernel.spec: W: patch-not-applied Patch27000: bcm5974-macbook.patch
        kernel.spec: W: patch-not-applied Patch27001: hid-macbook.patch
        kernel.spec: W: patch-not-applied Patch390: defaults-acpi-video.patch

        Not sure what went wrong there. Tried to follow the steps as closely as possible except for issuing cd ~/rpmbuild/SPECS before building the kernel so that the rpmbuild command is able to target the kernel.spec file. I don’t think this has any implications on the result though.

  5. Hello,

    Maybe you should be interested by these review requests:

    https://bugzilla.rpmfusion.org/show_bug.cgi?id=2889
    https://bugzilla.rpmfusion.org/show_bug.cgi?id=2890

    You can fetch the src.rpm files from these review, and then build the respective packages with:

    rpmbuild –rebuild path_to/packages.src.rpm

    for each one in a user console. Then install the built packages in a root console:

    yum localinstall –nogpgcheck /path_to/the_build_packages.rpm

    In order to get this working across the regular updates of Fedora without the need to rebuild the packages every time a new kernel is installed, you should just install the broadcom-wl and the akmod-wl packages. The kmod-wl package will be rebuild every time it’s necessary automatically (once you installed the akmod-wl one).

    Cordially,


    NVieville

    Reply
  6. Worked like a charm. BTW latest fedora update kernel 3.10 has the touch pad patches merged.

    Reply
  7. Hi,
    I’m thinking about buying MBA this tax free weekend. I don’t like plug in USB stick to laptop. Neither do I prefer to install Linux in VM. So I have a few questions for you about installing F19 on SSD.

    1. Bootloader. Which bootloader do you use? refind or grub2?

    2. Partition. Can you explain how your partition looks like? Do you reuse apple EFI System partition? I heard that apple ESP is empty. But I’m not sure if it will mess up Fedora boot.

    3. Battery life. How long does it last in Fedora?

    Reply
    • Hey Ricky, I am running Fedora 19 off the SSD. I use rEFIt (http://refit.sourceforge.net/) for the bootloader. Here are the rough instructions of what I followed to dual-boot, but it’s worth reading Anderson’s blog as well for some details:

      1. Install rEFIt on your Mac. Reboot and make sure it works.
      2. Using your Mac disk utility, shrink the Mac OSX partition to 100GB to free up some room.
      3. Burn the USB with Fedora to do the installation.
      4. Plug it in, reboot holding the ‘Option’ key. This should allow you to boot using the USB.
      5. Do the Fedora installation using the free space – do not install over the Mac partitions. I do remember hitting one issue here with the automatic Fedora layout. I had to go in and manually setup some of the partitions.

      Here is what my partition table looks like:

      $ sudo fdisk -l /dev/sda
      WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

      Disk /dev/sda: 251.0 GB, bytes, 490234752 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 4096 bytes
      I/O size (minimum/optimal): 4096 bytes / 4096 bytes
      Disk label type: gpt

      # Start End Size Type Name
      1 40 409639 200M EFI System EFI System Partition
      2 409640 195722135 93.1G Apple HFS/HFS+ Customer
      3 195722136 196991671 619.9M Apple boot Recovery HD
      4 196993024 197402623 200M Apple HFS/HFS+
      5 197402624 198426623 500M Microsoft basic
      6 198426624 419627007 105.5G Linux LVM
      7 419627008 419631103 2M BIOS boot parti

      And for LVM (basically one partition for the install and 8GB for swap):

      $ sudo lvdisplay -v
      Finding all logical volumes
      — Logical volume —
      LV Path /dev/fedora/00
      LV Name 00
      VG Name fedora
      LV UUID xGDnpk-B2DN-Lpgv-LLy7-v67C-1vx7-ba00V5
      LV Write Access read/write
      LV Creation host, time localhost, 2013-07-12 19:47:41 -0400
      LV Status available
      # open 1
      LV Size 97.66 GiB
      Current LE 25000
      Segments 1
      Allocation inherit
      Read ahead sectors auto
      – currently set to 256
      Block device 253:0

      — Logical volume —
      LV Path /dev/fedora/01
      LV Name 01
      VG Name fedora
      LV UUID vhVCSD-oNri-ZWaQ-SJSq-6H3u-gosw-D0r8xr
      LV Write Access read/write
      LV Creation host, time localhost, 2013-07-12 19:47:48 -0400
      LV Status available
      # open 1
      LV Size 7.81 GiB
      Current LE 2000
      Segments 1
      Allocation inherit
      Read ahead sectors auto
      – currently set to 256
      Block device 253:1

      As for battery life, it’s quite good if the screen brightness isn’t at the max. However, one of my pain points with the brightness issue is that the battery life is cut way down. I’m going to open a couple bugs for those to try and get them fixed.

      Reply
      • Thanks for your reply! Sorry to post my questions again. I don’t notice that the comment needs to be approved before showing up.

        For partition, I want to know if partition 5 is mounted as /boot in Fedora? How about partition 7? Is partition 7 created by rEFIT?

        5 197402624 198426623 500M Microsoft basic
        6 198426624 419627007 105.5G Linux LVM
        7 419627008 419631103 2M BIOS boot parti

        One more thing: when boot Linux by rEFIT, does it boot grub2 after that?

        thanks!

      • Sorry for the slow reply on this one. Partition 5 is mounted as /boot in Fedora.

        $ df
        Filesystem 1K-blocks Used Available Use% Mounted on

        /dev/sda5 487652 104668 353288 23% /boot
        /dev/sda4 204800 15724 189076 8% /boot/efi

        As for partition 7, I believe Fedora creates that parition. Looking at the Fedora documentation for partitioning (http://bit.ly/1659IpZ), I believe that is the ‘Bios boot’ partition described.

  8. Hi,
    I’m going to buy macbook air this tax free weekend. I want to install FC 19 on macbook air SSD and dual boot with mac os x.

    I’m not sure if you have installed FC19 on SSD or not.

    If you do, I want to know:

    1. how’s your partition look like? I heard mac os keep an empty ESP in fat 32. But is it OK to install grub2 and linux boot partition there?

    2. how is battery life in FC19?

    3. do you use any bootloader?

    Reply
    • Hey Ricky, I think I covered everything in the other reply. If not, just let me know and good luck!

      Reply
      • Recently I upgrade my PC to kernel 3.10. Because 3.10 change the couple function that register proc entry. Neither NVIDIA proprietary driver nor my 802.11 ac wifi dongle driver works now. Too much headache to fix driver for Linux. Linux is not a perfect candidate for desktop.

        So I decided that I should try VM first on my Macbook Air first. It turns out that the experiences are not that bad. The only drawback is that it eats up battery dramatically when using GNOME 3.8. I can see that CPU is always 98% busy. At one point time, it crash Mac OS host. I’d guess it is because fancy GUI effect in GNOME 3.8. So I used mate. Now CPU is not as busy as before. It only takes 3 or 4% in background. I don’t feel the heat on the left any more. I’m still using it. If things go bad, I will try to install it on SSD.

        Thanks for your guidance.

      • No problem – I’ve been trying the local VM out more as well (mainly given the Thunderbolt VGA projection problems). I’ve been using VirtualBox and didn’t hit the CPU issues so that might be worth a shot. Good luck!

  9. Pingback:

  10. would you recommend to buy a macbook air only for fedora use? i like their hardware but not their software …. you cannot use thunderbold with fedora or?
    till now i got a old thinkpad and i am looking for something new

    Reply
    • I find the experience of Fedora on a Macbook Air pretty nice – you have to deal with some issues (most of which I’ve tried to list on this post) but I think the hardware is top notch and you then get to pair it with a top notch OS :)

      The biggest recent thing I hit which makes me boot into OSX every once in a while is that Thunderbolt doesn’t work with VGA projectors. It works with DVI just fine but with VGA it’s completely busted. I do presentations a decent amount so that is a bit of a pain. Some people I know use a USB VGA connector (DisplayLink I think) for that purpose which works okay.

      Reply
      • thanks. And using fedora in a VM is not that recommendable, because of performance? Because what really gets annoying sometimes are driver issues, like at the moment my thinkpad crashes in suspend with kernel 3.10 … and i guess it s nice to have a producer that does hardware and software together. best chances for great drivers and long battery life …
        hard decision:
        1. mba and vm fedora
        2. mba and only fedora
        3. thinkpad and only fedora …
        that are my thinkings at the moment

      • Around using Fedora in a VM, the performance isn’t actually that bad. I’ve been using VirtualBox with Fedora 19 in a VM on OSX to try it out. Performance is slower than native but not terrible. The one nit that drives me crazy with the VM is that the hotspots (e.g. upper left to bring up the Applications view don’t work. Definitely easy to work around but it’s in my muscle memory and definitely drives me crazy :) Haven’t spent too much time trying to figure it out though…

    • I’ve been running Fedora (FC16 and FC19) on an MBA since Feb 2011, dual boot with OSX using rEFIt. I would recommend it without reservation. (I never, ever, boot into the OSX partition.) I have upgraded to the MBA mid-2013 and I fully expect that the issues that Matt lists here will be dealt with in future Fedora upgrades.

      Reply
      • Not sure I can give you an exact number since it depends on a lot of factors such as screen brightness, amount of CPU you are using, etc. However, with the screen brightness low, I have been able to get through fairly long flights doing emails and building presentations – I would say at least 5 hours in that case. Not sure of the total battery life time but it’s pretty long…

  11. Are you able to boot a kernel with ‘smp’ enabled? ‘Cause on MBA I can only boot kernels with ‘nosmp’ – which is kinda sucky

    Reply
  12. Setting my system to EFI boot makes things work! :-) Not the touchpad/f1 keys though, but my CPUs are detected

    Reply
  13. Hi

    i could get the wifi running, but now i get stuck using the trackpad, only left click is possible.
    could you please tell me which kernel version you are running and if you had to install any tools?

    Reply
    • I’m running fully updated F19 with kernel 3.10.10-200.fc19. I forget which version of the kernel the trackpad support shipped in but it was a while ago (I would guess 1 month). I did install FedoraUtils () and would have selected any trackpad options in there – not sure if that was required though. Hope that helps!

      Reply
      • I had a hard time to install the wl src.rpms due package buidl-sys-… wanted kernel 3.10.9, so i’m stuck with it.
        Updating the Kernel always broke my wifi. Any ideas why yours work?

        Otherwise i see no reason why my trackpad shouldn’t work.

        Thanks for your help.

      • On most of the kernel updates, I have to manually remove the kmod-wl package (I think that was the right one) and then the module is rebuilt for the new kernel. Not sure why it fails on the initial update, but after removing and then updating, the akmod-wl package will rebuild and install the kmod-wl package from source.

      • I’ve rebuild my modules and updated the rpmfusion build tools.
        This worked and i could install the modules in the new kernel.

        But still my trackpad is not working properly.
        I’ve run “fedorautils –exec enable_touchpad”
        Besides there is no tap activation in the “mouse and touchpad” settings menu.

        Booting the fedora nightly build with kernel 3.11 was also not working.

  14. Thanks for posting this.

    Though I have a little problem… I am trying to install the wireless drivers on the MacBook Air mid-2013, and have copied over the dependencies by usb stick, but when it comes to the kernel, there’s only the latest kernel rpms (3.10.10-200), which I have installed and then rebooted…

    kernel-3.10.10-200.fc19.x86_64.rpm
    kernel-devel-3.10.10-200.fc19.x86_64.rpm
    kernel-headers-3.10.10-200.fc19.x86_64.rpm
    kernel-modules-extra-3.10.10-200.fc19.x86_64.rpm

    But, the problem is, the buildsys-build-rpmfusion packages rely precisely on the 3.10.9-200 kernel, and no other, whereas I have the very slightly newer 3.10.10-200 kernel. Consequentially, the rpmbuild complains that I don’t have precisely the kernel-devel numbered “3.10.9-200.fc19.x86_64” which “is needed by the wl-6xx-kmod-6.30.223.30-1.fc20.src.rpm”.

    Is there anything I can do about this?
    I installed the buildsys-build-rpmfusions with “–nodeps”, which goes ok, but still it all fails to work with the above complaint that I don’t exactly have “3.10.9-200” when I do the rpmbuild on the wl-6xx.

    I was perhaps thinking of just installing the slightly older 3.10.9-200 kernel rpms that it needs, but I’ve had a good search and can’t find them anywhere, – not even cached.

    I’m not sure what I need to change on give it to work against the 3.10.10-200 kernel.

    Your help will be gratefully appreciated.

    Reply
    • Hi

      I had the same problem, but i thought last week the ‘buildsys-build-rpmfusions’ package got updated and stopped complaining about the kernel version.
      Do you have an actual package of ‘buildsys-build-rpmfusions’ (especially it was a dependency named ‘buildsys-build-kerneldev’ (or so) which caused the incompatibility)?
      Otherwise the kernel rpms are reachable by http://koji.fedoraproject.org/koji/ .
      Search for kernel and scroll a little bit down (first i thought there were only src.rpms but there are also old rpms).
      Hope this helps.

      Reply
  15. I’ve been trying to install BackBox Linux on my MacBook Air 6,1 for a few days now, and I came across this post mentioned a few times around the Internet. Anyways, I know you’re working with a different distribution of Linux, but I seem to have finally gotten BackBox to somewhat boot on my machine, you can see my progress here: http://forum.backbox.org/general-support/installation-on-macbook-air-6-1-(mid-2013)/

    Since you seem pretty knowledgeable, I was curious if you could break down the process of installing the driver a bit more, since I haven’t really done anything like this before.

    Also, I don’t have an ethernet connection when booted to Linux at all, so is there any way to build the Wi-Fi driver without a connection to the internet?

    Any info you could provide would be super helpful, and thanks for your time!

    Reply
  16. Just got my macbook air today, and thanks to you guys I’m up and running!!

    I wiped the entire drive and installed Fedora 19. I’m just using grub for the boot loader. Here’s my disk layout.
    Part. # Size Partition Type Partition Name
    —————————————————————-
    1007.0 KiB free space
    1 200.0 MiB Apple HFS/HFS+
    2 500.0 MiB Microsoft basic data (ext4, boot partition)
    3 7.6 GiB Linux swap
    4 225.4 GiB Microsoft basic data (btrfs, root partition)
    431.5 KiB free space

    The first partition (EFI system partition) needs to be of type HFS+, not vfat. Otherwise, UEFI won’t find the disk at boot time.
    I took out the following lines from /etc/grub.d/30_os_prober to prevent OSX entries from displaying in the grub boot menu. I’m not sure why these entries even appear in the boot menu at all, as I don’t have osx installed.
    macosx)
    OSXUUID=”`${grub_probe} –target=fs_uuid –device ${DEVICE} 2> /dev/null`”
    osx_entry xnu_kernel 32
    osx_entry xnu_kernel64 64
    ;;

    In order to build the wireless drivers (as shown above) on kernel 3.10.11-200.fc19.x86_64, I had the pull the buildsys-build-rpmfusion packages from the rpmfusion-free-updates-testing repo.

    Now, can somebody please list clear instructions on how to get the internal speakers working?

    Reply
    • Thanks for the tip on cleaning up the boot menu Leif – I’ll try that out today if possible. I haven’t had any luck on the internal speakers yet (or traction on the Bugzillas)… I’ll update if I find anything.

      Reply
    • I guess I shouldn’t assume that everyone’s a techie. After removing the following lines from /etc/grub.d/30_os_prober
      ————————————————————————-
      macosx)
      OSXUUID=”`${grub_probe} –target=fs_uuid –device ${DEVICE} 2> /dev/null`”
      osx_entry xnu_kernel 32
      osx_entry xnu_kernel64 64
      ;;
      ——————————————————————————-
      run the following command to rebuild the grub configuration file:
      grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

      **this is a quick and dirty method to remove osx entries from the grub menu. There’s probably a more more elaborate way of doing it.

      Reply
      • This is great stuff Leif (the boot menu and the speaker fix). I’ll test it out shortly and update it in the blog.

  17. Cool, I got the the speakers to work. Here’s what I did:

    $ yum install alsa-tools
    -once that was installed, I ran the following commands:
    $ hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_MASK 0x01
    $ hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_DIR 0x01
    $ hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_DATA 0x01

    to automate this:
    $ touch /etc/rc.d/rc.local
    $ chmod 755 /etc/rc.d/rc.local

    edit /etc/rc.d/rc.local with
    #!/bin/sh
    hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_MASK 0x01
    hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_DIR 0x01
    hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_DATA 0x01

    Please let me know if you have any questions on anything I’ve posted, and I’ll explain it in greater detail.

    Reply
    • Hey Leif, I tried this but unfortunately it didn’t work for me… Running the commands functioned and I read through the initial bugzilla but nothing jumped out at me that I missed. I’m seeing output like the following:

      mhicks@localhost ~$ sudo hda-verb /dev/snd/hwC1D0 0×01 SET_GPIO_MASK 0×01
      nid = 0x0, verb = 0x716, param = 0x0
      value = 0x0

      mhicks@localhost ~$ sudo hda-verb /dev/snd/hwC1D0 0×01 SET_GPIO_DIR 0×01
      nid = 0x0, verb = 0x717, param = 0x0
      value = 0x0

      mhicks@localhost ~$ sudo hda-verb /dev/snd/hwC1D0 0×01 SET_GPIO_DATA 0×01
      nid = 0x0, verb = 0x715, param = 0x0
      value = 0x0

      mhicks@localhost ~$ rpm -q alsa-tools
      alsa-tools-1.0.27-2.fc19.x86_64

      mhicks@localhost ~$ uname -r
      3.11.1-200.fc19.x86_64

      Any ideas?

      Reply
      • Here’s the output I get when I run those commands:

        $ sudo hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_MASK 0x01
        nid = 0x1, verb = 0x716, param = 0x1
        value = 0x0
        $ sudo hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_DIR 0x01
        nid = 0x1, verb = 0x717, param = 0x1
        value = 0x0

        $ hda-verb /dev/snd/hwC1D0 0x01 SET_GPIO_DATA 0x01
        nid = 0x1, verb = 0x715, param = 0x1
        value = 0x0

        $ rpm -q alsa-tools
        alsa-tools-1.0.27-2.fc19.x86_64

        $ uname -r
        3.11.1-200.fc19.x86_64

        The only difference I’m noticing is that param value that’s returned for you is 0x0 and for me it’s 0x1.

        As soon as I enter the last hda-verb command, the internal speakers start working. However, it’s not perfect — when I plug in headphones, the sound will out through both the headphones and through the speakers at the same time.

        Ok, when I cut and paste what you have posted, I get the same result as you do. It’s because the “x”‘s aren’t right as you didn’t use an “x” from the keyboard. Try manually manually entering the “x” for the “0x01” part of the commands and let me know if that works.

      • update: It’s looks like it’s your web page that’s converting the x into a multiplication sign.

    • Unfortunately, I don’t think it’s helping much. I hadn’t experienced the hangs much recently but just the other day I hit several doing an OpenOffice presentation. Will have to try something else…

      Reply
  18. Sooo…. Fedora 20 so far looks really nice. Sound is working, the wireless driver installed from rpmfusion with no complaint… I recommend to upgrade.

    Reply
  19. Hi, amazing article. Can you post a minor update regarding the state as of the start of 2014? ie. The functionality possible with MBA 6,2 + Fedora 20.

    Reply
  20. Pingback: Fedora 20 on a Macbook Air | Matt on Cloud

  21. Magnificent site. Lots of useful info here. I’m sending it to some friends ans also sharing in delicious.
    And obviously, thanks on your sweat!

    Reply

Leave a Reply