Gentoo Linux on iMac
These are my notes on the iMac hardware and running Linux on it.
- Architecture: x86_64
- Apple iMac11,2
- Intel Core i3 540 3GHz: 2 cores with HyperThreading, QuickPath interconnect (QPI)
- 133 MHz bus
- 4 MB Level-3 cache
- Chipset: Intel 5 Series/3400 with PCIe/PCI/ISA(LPC)
- SATA IDE Controller
- USB: UHCI and EHCI controller
- Sound: Intel HDA, ATI HDMI
- Graphics: AMD/ATI Radeon 4670 M96XT (RV730), 256MB GDDR3
- Gigabit Ethernet: Broadcom NetXtreme BCM5764M
- Wireless: Atheros AR928X IEEE-802.11 a/b/g/n
- Firewire: TI IEEE-1394 OHCI
- Display: 21.5" 1920x1080 (Full HD) 16:9, TFT LCD, with LED backlight
- RAM: 4 GB 133MHz DDR3
- HDD: 500 GB
- DVD ROM
- Built-in iSight webcam
- SD Card slot (XC compatible)
- Infrared receiver
- Bluetooth 2.1 + EDR
- Bluetooth keyboard
- Bluetooth Magic Mouse (with touch surface instead of wheel)
- Mini DisplayPort (DP) for DVI, VGA, dual-link DVI upto 2560x1600, so probably Type B
- Firwire 800
- 4x USB
- Audio Line Out + optical out IEC958
- Audio Line In
The Mac has no BIOS, but uses EFI. However EFI support in Linux is not mature enough. Use Bootcamp and rEFIt.
USE="aio smp sse sse2 sse3 ssse3 -3dnow -3dnowext" CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -fomit-frame-pointer -pipe" ALSA_CARDS="hda-intel" INPUT_DEVICES="evdev keyboard mouse synaptics v4l" VIDEO_CARDS="radeon vesa fbdev" LIRC_DEVICES="macmini"
Works as of kernel 3.0.1
radeon KMS drives the display panel properly as of 3.0.1. With MESA 7.10, xorg-server 1.10.2, xf86-video-ati 6.14.2 Compositing in KDE works well as of MESA 7.11.2 and xorg-server 1.11.2.
Drives the display at 1400x1050 60Hz. No OpenGL acceleration. Still good enough to watch DVD.
Even though I have added ModeLines for the Full HD resolution neither VESA nor the radeon driver would pick them up. They are discarded during initialization.
The properitary ATI driver as of 11.3 is able to drive the display at 1920x1080. There are less problems with Compositing here than with old MESA 7.10 and it uses 4 Watts less power than radeon.
XorgX works fine as of
mesa-7.11.2with Gallium (see
eselect mesa). Here is the xorg.conf.
When you first install your computer keep a USB keyboard ready. Otherwise you will not be able to pair your Bluetooth keyboard! OS-X works a lot better here: it detects that there is no keyboard connected, tries to find the Bluetooth one and configures it in boot protocol mode. This way you can use the keyboard even as long as it's not paired yet.
To pair the keyboard, open two root shells. In the first run
and answer yes to any upcoming authorization requests. Remove and reinsert the batteries
from the keyboard. Turn the keyboard on by pressing the side button. The green light
should be flashing. In the second shell do:
hcitool scan Scanning ... 11:22:33:44:55:66 Apple Wireless Keyboard hcitool cc 11:22:33:44:55:66 hcitool auth 11:22:33:44:55:66
Type a PIN (any four numbers) followed by Enter on the keyboard. Enter the PIN into simple-agent when prompted in your first shell.
Here is an Xmodmap file for the keyboard: imac-deCH.modmap. It should be loaded when you startup X.
Note that as of xorg-1.8 the input device configuration resides (again) in xorg.conf.
Remote controlInstall lirc with the
macminidriver. The infrared port is a USB raw HID device, which will be made available by udev as
/dev/usb/hiddev0. You need USB_HIDDEV in your kernel config. In
LIRCD_OPTS="-H macmini -d /dev/usb/hiddev0"Enable the
lircUSE flag. Then configure your
~/.lircrcas you wish, with
remote = APPLE_A1156. Snippet for VLC:
# playback pause toggle begin remote = Apple_A1156 button = PLAY prog = vlc config = key-play-pause end