My experinces with Macbook Air 6.1 (2013 model).

Hello everyone,

In case anyone else is looking and thinking about installing opensuse on his mba, I thought I’d write a short summary of my experiences. So what happened? I downloaded a .iso, copied it to a usb memory and installed.

During the install, the trackpad did not work, so I had to install opensuse using only the keyboard. Once everything was up and running, the wireless didn’t work, but at least the trackpad worked as soon as I logged in. After this, I downloaded all updates and made sure to install the broadcom wl driver, and all of a sudden, the wireless started to work.

What is still not working?

  1. When doing suspend (to memory) the backlight gets messed up. At first I thought the screen was dead, but in fact, once you fiddle around with the screen brightness settings and set them to maximum brightness, suspend works. Anything less than maximum, and the screen will be black after wake up. There is one way to “fix” this without having to reboot, and that is to hibernate the computer. Once you wake up the computer, screen brightness works again.

  2. I have some strange bugs when I browse through firefox. Occasionally I get a lot of small black spots, so I guess this is some kind of graphics driver bug that might be solved with some future updates. It doesn’t always happen, and you can just reload the pages or scroll past the area to fix it, but it is still a bit annoying.

Overall I am very impressed that it was so easy to install opensuse on the macbook. Only two things didn’t work for me, the wireless, which was possible to fix, and the suspend. The graphics work, except that small bug, but it does not stop me from using the computer in any way. Also, I don’t have to use refit or refind, but can boot straight to opensuse from the apple boot loader, which is also a nice advantage!

So you did a great job, development team, in case you see this!

Best regards,
Nath

Hello everyone,

After a bit of fiddling around in the web browser, the way to get rid of the annoying graphics bug is to deselect “smooth scrolling”. Once that was done, the graphics are great.

So the only annoying thing that’s left is that the suspend will eliminate the screen brightness and only allow 100% or 0%. Hopefully that will be fixed in patches to come.

Best regards,
Nath

That is great news. Now I can go out and purchase a Macbook Air.

**FYI **Don’t forget to install the “pommed” package so that you have control of the hotkeys and backlight. And, install “x11-input-mtrack” package for the multi-touch control of the touchpad.

Ref: http://software.opensuse.org/package/pommed?search_term=pommedWhen you have time, your are welcome to add your Macbook Air to our hardware wiki page. http://en.opensuse.org/HCL:Apple_laptops

Hello again,

Just some fixes. I discovered once I started to play some video and sound, that neither worked, but fear not, here’s what made everything work. First, add all codecs you can find. That made video work, but still no sound. Second step was to upgrade to kernel 3.13.7-1, which made sound work, but I lost the wl.ko module so no wireless.

To fix that, I added the tumbleweed repository and upgraded the kernel to 3.13.7-21, and then I added the broadcom-wl driver for 3.13.7-21, and now everything works again.

Hope this saves someone a lot of time. =)

Btw, tried to add this information to the HCL, but never received the email validating my login, so I’ll try it again later.

Best regards,
Nath

I use to login to HCL with my forum ID and password :wink:

Hello again,

Just wanted to report that the suspend issue was almost solved by compiling and installing the module found here (https://bugs.freedesktop.org/show_bug.cgi?id=67454).

The problem with the module is that it locks the brightness in one setting and it is then not possible to to change it, but suspend works. I guess this proves that it is just a matter of a couple of kernel versions or two, before the problem is fixed. Or if the module author revises the module code somehow.

For those of you who like to virtualize your work laptop, to use it on your linux laptop at home, VMware player version 6.0 also works after the following tweak (http://ping8888.com/2013/12/13/vmware-modules-kernel-3-13/).

So now I successfully run a virtualized windows 7 machine as well.

Some issues have surfaced the last couple of days though, and that is some instability with the hibernate function. Sometimes the screen doesn’t come alive after hibernate as well, and this does not seem to be related to the suspend issue, but it is very infrequent and I suspect a new kernel will fix this one. Let’s wait and see. For now, the mba 6.1 is definitely in a workable state with opensuse. =)

Best regards,
Nath

VmWare has a tendency of being behind when supporting the newer kernel releases. Hence the need to patch the player and workstation.
On the other hand VirtualBox adds patches much more frequently.

There is a package for Arch(AUR) and Ubuntu ‘mba6x_bl’ that fixes the suspend/resume issue. I was looking to see if openSUSE had the package and I have not been able to find it so if anyone wants to work on porting it that would be fantastic. Or I will look into porting it myself eventually. Only thing stopping me from installing on my MBA.

Since for some reason I can’t edit the last post… after a little bit more research it seems the package is just compiled/packaged from git.


I’ve managed to work around the issue by programming the backlight driver directly. This is not an optimal solution but consider it a workaround for now. I’ve written a driver and tested it on my MBA 6,2 but the 6,1 should work as well. Use it at your own risk, I take no responsibility. Don’t try to load this driver unless you have a MacBook Air (mid 2013) 6,1 or 6,2.

To get it running you need to download and build the driver:

git clone https://github.com/patjak/mba6x_bl

cd mba6x_bl/ && make && make install

Make sure the module is loaded at boot time. E.g add “mba6x_bl” to /etc/modules
You also need to configure i915 to hand over the backlight control to mba6x_bl. I added this to my /etc/X11/xorg.conf:

Section “Device”
Identifier “Intel Graphics”
Driver “intel”
Option “Backlight” “mba6x_backlight”
EndSection

Now reboot and you should have working brightness even after suspend/resume. Unloading the module (modprobe -r mba6x_bl) will restore the backlight to whatever state we had when loading it."

Taken from here https://bugs.freedesktop.org/show_bug.cgi?id=67454#c78

Hope this helps you, myself, and anyone else who wants to use openSUSE on a new MBA.

Hello everyone,

Another update. Patrik has updated the code for his backlight driver, so now you don’t even need to modify your X11 configuration file. Just download/clone from GitHub - patjak/mba6x_bl: MacBook Air 6,1 and 6,2 (mid 2013) backlight driver, and follow the instructions. Also don’t forget to download the development kernel for the version you’re running. My backlight now works without any problems at all, which means I’m an even happier opensuse user than before.

Best regards,
Nath

Hello everyone,

Some of you mba owners might have discovered this bug. When I suspend to ram, the computer resumes again after a couple of seconds. After a bit of searching I found this thread (https://bbs.archlinux.org/viewtopic.php?pid=1086929#p1086929) that suggested manually stopping NetworkManager (service NetworkManager stop) would solve the problem.

In my case, it worked! =)

After a bit of searching I found this comment in the file /usr/lib/pm-utils/sleep.d/50rcnetwork

"# NetworkManager is handled by 55NetworkManager via dbus. "

However, no file 55NetworkManager exists in the directory /usr/lib/pm-utils/sleep.d/. So after creating one that looks like this…

#!/bin/bash

Prevent lease timing out for networks controlled by ifup/ifdown

bnc#603291

. “${PM_FUNCTIONS}”

NetworkManager is handled by 55NetworkManager via dbus.

This script handles only netcontrol alias sysconfig alias ifup.

network_service_id=systemctl --no-pager -p Id show network.service 2>/dev/null

case “$1” in
hibernate|suspend)
# use /etc/init.d/network directly here
# /etc/init.d/network stop-all-dhcp-clients
service NetworkManager stop
;;
thaw|resume)
# use /etc/init.d/network directly here
# /etc/init.d/network restart-all-dhcp-clients
service NetworkManager start
;;
*) exit $NA
;;
esac

… suspend now works without any problems. Be warned however! The price you pay for this solution, is that it will take you a couple of seconds to reconnect to the network. I’m certain that the default behaviour is using some other fancy technique which might result in instant network reconnect, but in my case, this resumes the laptop. So I can definitely manage to wait for the couple of extra seconds it takes. =)

Best regards,
Nath