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?
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.
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!
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.
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.
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.
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.
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. =)
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:
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:
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."
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 https://github.com/patjak/mba6x_bl, 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.
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. =)