openSUSE on a MacBook
For generic install instructions, please read the main OpenSUSE on a Mac page. This page details the specific details of installing openSuse on the Macbook hardware where it differs from the main instructions. When adding information to this page, please detail which Macbook and which version of openSuse it applies to.
MacBook 5,1 (Late 2008 Aluminium Unibody)
- openSUSE 11.1 x64 RC1 network install.
- openSUSE 11.1 x64 KDE4 Live CD 1.2.0 with KDE 4.2.
See Ubuntu wiki for assistance https://help.ubuntu.com/community/MacBook_Aluminum .
nVidia Corporation GeForce 9400M (rev b1) (10de:0863)
- openSUSE 11.1 x64 KDE4 Live: Install does not detect, uses framebuffer instead, presume unsupported by X11 nv driver. Supported by nVidia proprietory drivers 177.80 and later now available in Nvidia repository. Once Nvidia driver installed SAX2 can configure, I experienced crashes with the initial xorg.conf and with changes NVidia setup made, so I recommend doing an 'init 3' then deleting the xorg.cont and running sax2 from the command line, this has produced near flawless performance.
Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01) (14e4:432b)
- openSUSE 11.1 x64 KDE4 Live: Is a N card so not supported by b43 kernel driver, but works with Broadcom's STA drivers or NDISWrapper. The Broadcom driver can be installed via the Packman repository. See wiki page http://en.opensuse.org/Broadcom_BCM43xx_Wireless for instructions. These have been tested to work well under G and N at both 2.4 and 5Ghz. For ndiswrapper, if you have Windows installed using the Apple supplied drivers, the 32 bit .inf on my install is found in /media/winxp/WINDOWS/system32/DRVSTORE/bcmwl5_F5BE9A8C2B3180816D6F01CB1D3A7D8C2749F029, otherwise get the driver .exe from the OSX Install DVD.
nVidia Corporation MCP79 Ethernet (rev b1) (10de:0ab0)
- openSUSE 11.1 x64 KDE4 Live: Supported by forcedeth kernel driver and correctly configured by openSUSE.
nVidia Corporation MCP79 High Definition Audio (rev b1) (10de:0ac0)
- openSUSE 11.1 x64 RC1: Partially supported by Alsa 1.0.18, but not configured correctly by openSUSE. In YAST edit sound configuration to set option 'model' to be 'mbp3' and set to use Pulse. Sound will now work out of headphones only and not speakers. In a sound mixer enable all Channels and change 'Channel Mode' from 2 channels to 6 channels ('6ch'). Save the settings and sound should work out of speakers, but plugging in headphones does not cut sound to speakers. This is probably due to the dual nature of the socket which supports both analog and digital output and requires the sound system to detect which is plugged in. Will probably require support in future version of Alsa.
Apple, Inc. Built-in iSight (05ac:8507)
- openSUSE 11.1 x64 KDE Live: Supported by uvcvideo kernel driver, works out of the box. Works perfectly in Skype, doesn't work in Kopete 4.1 but does with bad colour in 4.2.
Broadcom Corp. BCM2045B2 (0a5c:4500)? Apple, Inc. Bluetooth USB Host Controller (05ac:8213)?
Apple, Inc. IR Receiver (05ac:8242)
Apple, Inc. Apple Internal Keyboard / Trackpad (05ac:0237) ? Apple, Inc. HID Keyboard (05ac:820a) ?
Pommed has support added for extra keys from v1.22, except for dimming the screen backlight. However I have yet to get this working in spite of this version being in 11.1.
- openSUSE 11.1 x64 RC1: Detected as Macintosh keyboard, most keys work, but function keys do not, and other keys are not correctly mapped. Choosing MacbookPro keyboard has same issues.
Apple, Inc. Apple Internal Keyboard / Trackpad (05ac:0237) ? Apple, Inc. HID Mouse (05ac:820b) ?
- openSUSE 11.1 x64 RC1: Detected as 'Apple Keyboard/Touchpad' but does not support right-click or multi-touch. Synaptics is reported to work in Ubuntu, trying that, but no joy as yet.
openSUSE 11.1 x64: My device ID is shown as 05ac:0231 (Apple Internal Keyboard / Trackpad). Tried synaptics driver and it works. My xorg.conf is as follows:
Section "InputDevice" Driver "synaptics" Identifier "Mouse" Option "Buttons" "12" Option "Device" "/dev/psaux" Option "Name" "Touchpad" Option "Protocol" "auto-dev" Option "VertTwoFingerScroll" "1" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "ClickFinger2" "3" Option "ClickFinger3" "2" Option "SHMConfig" "on" Option "Vendor" "Synaptics" EndSection
I wanted vertical scrolling (VertTwoFingerScroll) with 2 fingers (Mac style). Right-click is configured as a button click with 2 fingers on the pad (ClickFinger2) and middle-click is configured as a button click with 3 fingers on the pad (ClickFinger3). I tried to achieve the right-click and middle-click with TabButton2 and TabButton3 but the result was not encouraging. Also, other settings recommended at other sites were not giving satisfactory results.
General Configuration Details
Below are a collection of tips and Tricks to make life with openSUSE on a MacBook easier.
If you have a first generation MacBook (Core Duo), then your wireless should work out-of-the-box. However, the second generation MacBooks (Core 2 Duo) have a later version of the Atheros wireless chipset, which require the use of the latest Atheros MadWifi drivers or the use of NDISwrapper. Below covers the use of NDISwrapper to gain control of a wireless card (Atheros AR5418 802.11a/b/g/n Wireless PCI Express Adapter).
Display the make and model of the wireless card.
# /sbin/lspci | grep 02:00.0
Display the PCI ID of the wireless card and look it up to find if it's supported and where to find the driver here
# /sbin/lspci -n | grep 02:00.0 02:00.0 Class 0280: 168c:0024 (rev 01)
Run the following in a terminal. It will create a temp directory, download the driver file specified by the NDISwrapper list, and install the driver.
mkdir temp;cd temp wget http://download.boulder.ibm.com/ibmdl/pub/pc/pccbbs/mobiles/7iwc28ww.exe cabextract 7iwc28ww.exe sudo /usr/sbin/ndiswrapper -i WINXP_2K/NET5416.INF sudo /usr/sbin/ndiswrapper -l net5416 : driver installed device (168C:0024) present
Load the ndiswrapper module:
sudo /sbin/modprobe ndiswrapper
To add the alias directive to the module configuration:
sudo /usr/sbin/ndiswrapper -m
At this point, the module has been loaded, but it will also need to be added to a kernel configuration file (/etc/sysconfig/kernel) so that it is load every time the system boots. This is done by adding "ndiswrapper" into MODULES_LOADED_ON_BOOT section (e.g.: MODULES_LOADED_ON_BOOT="ndiswrapper") of the file. The following command will edit the file with this information:
sudo perl -pi -e 's/MODULES_LOADED_ON_BOOT=""/MODULES_LOADED_ON_BOOT="ndiswrapper"/' /etc/sysconfig/kernel
You have to run hid2hci Bug 286769. After this, bluetooth should just work.
Also known as accelerometers, which are built-in devices for measuring acceleration and gravity. Run the following command to enable the kernel's built-in support of the devices, and then fire up Neverball... (or any other game that uses a joystick)
sudo /sbin/modprobe applesmc
At this point, the module has been loaded, but it will also need to be added to a kernel configuration file (/etc/sysconfig/kernel) so that it is load every time the system boots. This is done by adding "applesmc" into MODULES_LOADED_ON_BOOT section (e.g.: MODULES_LOADED_ON_BOOT="applesmc") of the file. The following command will edit the file with this information:
sudo perl -pi -e 's/MODULES_LOADED_ON_BOOT=""/MODULES_LOADED_ON_BOOT="applesmc"/' /etc/sysconfig/kernel
In order to get the touchpad to respond similar to the way it does in OS X, you will need to edit the xorg.conf file (/etc/X11/xorg.conf). Please note that the following configuration does not work perfectly, so feel free to update the parameters and values if more suitable ones are identified.
Section "InputDevice" Identifier "Mouse" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "SHMConfig" "true" # General options #Option "LeftEdge" "150" #Option "RightEdge" "1070" #Option "TopEdge" "100" #Option "BottomEdge" "310" #Option "FingerLow" "25" #Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "SingleTapTimeout" "100" Option "MaxDoubleTapTime" "180" Option "LockedDrags" "off" Option "MinSpeed" "1.10" Option "MaxSpeed" "1.30" Option "AccelFactor" "0.08" # Multi-finger taps - one-finger tap for left-click, two-finger tap for right-click, and three-finger tap for middle-click Option "TapButton1" "1" Option "TapButton2" "3" Option "TapButton3" "2" # Two-finger scrolling - enabled Option "HorizTwoFingerScroll" "1" Option "VertTwoFingerScroll" "1" # Edge scrolling - disabled Option "HorizEdgeScroll" "0" Option "VertEdgeScroll" "0" # Scrolling speed Option "VertScrollDelta" "20" Option "HorizScrollDelta" "50" EndSection
Sound and volume control should work out-of-the-box. However, KDE users will notice that while using the function key to control increasing (fn+F5) and decreasing (fn+F4) the volume, muting the volume (fn+F3) does not appear to work. To correct this, one must right-click on the KMix system tray icon and select "Select Master Channel...". A list of sound devices will appear in a new window, and the user should select the "Front" device and click "OK". At this point, muting and unmuting should work properly.
Bug reports concerning the MacBook
- No right-click support for the touchpad Bug 250427 – See Touchpad section.
- During Installation there is no touchpad available: Bug 223450
- MBR and GPT are not synchronized Bug 220839
- Fn+F3 does not mute the speakers Bug 254164 – See Volume Control section.
- /etc/init.d/hotkey-setup gives error Bug 255676
- Brightness control is not working Bug 255676 – It is working with the dbus command from the bugreport, but not from kpowersave ...