Differences between revisions 73 and 74
Revision 73 as of 2008-01-08 21:45:47
Size: 9759
Comment:
Revision 74 as of 2008-01-31 11:04:58
Size: 9655
Editor: ?Eugen Dedu
Comment: Sound works with 2.6.24
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
||<tablestyle="width: 100%;" style="border: 0px hidden">~-Translation(s): none-~||<style="text-align: right;border: 0px hidden"> (!) [:/Discussion:Discussion]|| ||<tablewidth="100%" tablestyle=""style="border: 0px hidden ;">~-Translation(s): none-~ ||<style="border: 0px hidden ; text-align: right;"> (!) ["/Discussion"] ||
Line 11: Line 11:
This page describes how to install Debian on a MacBook Pro.  This page describes how to install Debian on a MacBook Pro.
Line 17: Line 17:

## If your page gets really long, uncomment this Table of Contents 
## If your page gets really long, uncomment this Table of Contents
Line 22: Line 21:
Line 28: Line 26:
Line 36: Line 33:
Line 40: Line 36:
Line 59: Line 54:
Line 61: Line 55:
Line 69: Line 62:
Line 76: Line 68:
Line 82: Line 73:

PowerPlay does not work with the fglrx driver as of v8.42. A patched radeontool is available at http://www.g2inf.one.pl/~anszom/MBP-ATI/.  
PowerPlay does not work with the fglrx driver as of v8.42. A patched radeontool is available at http://www.g2inf.one.pl/~anszom/MBP-ATI/.
Line 87: Line 76:
Line 93: Line 81:
Line 99: Line 86:
Line 101: Line 89:
 * Line in (only toggling mute possible) enables/disables built-in speakers   * Line in (only toggling mute possible) enables/disables built-in speakers
Line 104: Line 92:

Sound does not work with the mid 2007 version of MBP and kernel 2.6.22. Maybe with 2.6.23 ?
With MBPv3 (mid 2007), sound works out-of-the-box starting with kernel 2.6.24.
Line 108: Line 95:
Line 145: Line 131:
Line 147: Line 132:
Line 153: Line 137:
Line 159: Line 142:

Line 162: Line 143:
Line 167: Line 147:
See also: [https://cbg.dyndns.org/wiki/ReadingCorner/LinuxOnMacbookPro] See also: https://cbg.dyndns.org/wiki/ReadingCorner/LinuxOnMacbookPro
Line 170: Line 150:
Line 174: Line 153:
Line 178: Line 156:

The touchpad works fine with the synaptics driver, though maybe not as smooth as with OSX. Use GrabEventDevice if you want misc usb mice and synaptics touchpad special functions to work simultaneously. Patches from [http://www.mactel-linux.org] are optional.
The touchpad works fine with the synaptics driver, though maybe not as smooth as with OSX. Use GrabEventDevice if you want misc usb mice and synaptics touchpad special functions to work simultaneously. Patches from http://www.mactel-linux.org are optional.
Line 183: Line 159:
Line 188: Line 163:
Tested in debian/unstable, with vanilla linux 2.6.22/23.
Alsa, uvcvideo and madwifi drivers taken from their corresponding repositories, i.e. working with various revisions of recent development drivers.
Tested in debian/unstable, with vanilla linux 2.6.22/23. Alsa, uvcvideo and madwifi drivers taken from their corresponding repositories, i.e. working with various revisions of recent development drivers.
Line 192: Line 166:

Patch your kernel with [https://cbg.dyndns.org/store/apple-remote-quirk-hiddev.patch]. Enable CONFIG_USB_HID and CONFIG_USB_HIDDEV. When loading usbhid, a device /dev/usb/hiddev0 should be created. Use lirc to configure your remote. Reported to work with other remotes, too.
Patch your kernel with https://cbg.dyndns.org/store/apple-remote-quirk-hiddev.patch. Enable CONFIG_USB_HID and CONFIG_USB_HIDDEV. When loading usbhid, a device /dev/usb/hiddev0 should be created. Use lirc to configure your remote. Reported to work with other remotes, too.
Line 196: Line 169:
Line 200: Line 172:
         * elilo failed to boot my kernel, though efi-boot was enabled. Direct efi-boot is reported to work very bad, as drivers(nvidia,networking) depend on some BIOS calls. [http://www.madingley.org/macmini/] provides patches and some bios emulation code, but this is old and only for mac mini.
 * Figure out how to suspend and resume 
      +++ MBP v3
        * works out of the box for me with lenny, 2.6.22-2-686 in KDE; I used Settings/Power control/Laptop battery to parameter it. -- ED : what's your email please? Do you use s2ram to suspend? Are you sure it's suspend, not just blank screen? What Power parameters?
          * ED: With 2.6.22-3-amd64 and testing/unstable it does not work by choosing in GNOME System->ShutDown->Suspend, MacBookPro v3.
          * BF: I have suspend to disk working on the first MBP with the hibernate package, and using the command hibernate, and or using kpowersave to config the powerbutton to suspend.
  * elilo failed to boot my kernel, though efi-boot was enabled. Direct efi-boot is reported to work very bad, as drivers(nvidia,networking) depend on some BIOS calls. http://www.madingley.org/macmini/ provides patches and some bios emulation code, but this is old and only for mac mini.
 * Figure out how to suspend and resume
  . +++ MBP v3
   * works out of the box for me with lenny, 2.6.22-2-686 in KDE; I used Settings/Power control/Laptop battery to parameter it. -- ED : what's your email please? Do you use s2ram to suspend? Are you sure it's suspend, not just blank screen? What Power parameters?
   * ED: With 2.6.22-3-amd64 and testing/unstable it does not work by choosing in GNOME System->ShutDown->Suspend, MacBookPro v3.
   * BF: I have suspend to disk working on the first MBP with the hibernate package, and using the command hibernate, and or using kpowersave to config the powerbutton to suspend.
Line 208: Line 180:
See also: ["InstallingDebianOn/Apple"]
 CategoryLaptopComputer
 See also: ["InstallingDebianOn/Apple"]

 .
CategoryLaptopComputer

Translation(s): none

(!) ["/Discussion"]


  • This page describes how to install Debian on a MacBook Pro.

Most points are the same like the MacBook so we point out the differences only.

MacBook Pro specific bugs can be found at http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=macbook-pro;users=kraai@ftbfs.org.

?TableOfContents(2)

Install Debian

See the MacBook Install Debian section.

If the kernel panics when you press return at the ISOLINUX prompt, enter "install noapic" at the ISOLINUX prompt (the kernel may panic while enabling the IO-APIC IRQs, [http://bugs.debian.org/381719 bug 381719]).

Kernel

linux-2.6 2.6.22 should work out of the box.

linux-2.6 2.6.18-3 supports MacBook Pros out of the box, but you'll need to ensure that the appletouch module is loaded before the usbhid module. You can do so by creating a file in /etc/modprobe.d that contains the following line:

install usbhid /sbin/modprobe appletouch && /sbin/modprobe --ignore-install usbhid $CMDLINE_OPTS

For some reason, this doesn't always work.

Using stock kernel and patch from svn

You can build your own kernel using the stock Linux kernel and the patches found in the [http://svn.sourceforge.net/viewvc/mactel-linux/trunk/ mactel-linux SVN]. Here is the steps to follow:

  • download the source for the stock kernel from one of the kernel mirror,
  • get the mactel-linux patches with svn:
    svn co https://svn.sourceforge.net/svnroot/mactel-linux/trunk mactel-linux-trunk
  • apply all the mactel-linux patches:
    cd mactel-linux-trunk/kernel/mactel-patches-2.6.17
    vi version.patch   # if you are patching a kernel different than the svn one
    ./apply /where/you/have/the/kernel/sources
  • copy the config from the svn (trunk/kernel/mactel-patches-2.6.17/config-2.6.17-MBP) to your kernel dir, with name .config,

  • configure your kernel with make menuconfig, and control that CONFIG_FB_IMAC is not set,

  • build your kernel (fakeroot make-kpkg ...,

  • install your kernel (dpkg --install ...),

  • reboot.

X Window System

See MacBook page for other details.

The first MBP versions have an ATI card built in (MBP 2,2: ATI X1600). LAter versions (MBP 3,1 and up) have an Nvidia card.

The installation of x.org should work out of the box with the sid version of x.org (nv or radeonhd drivers).

ATI graphics

Sid/unstable contains the free radonhd driver (package name xserver-xorg-video-radeonhd) which supports the ATI card.

If you wish 3D acceleration on ATI cards, install the non-free fglrx-driver package and, in the Device section of /etc/X11/xorg.conf, change the driver from "ati" to "fglrx". Afterwards, to enable 3D you need to build the kernel fglrx module:

apt-get install fglrx-control fglrx-kernel-src module-assistant
m-a prepare
m-a a-i fglrx
depmod -a
modprobe fglrx

?PowerPlay does not work with the fglrx driver as of v8.42. A patched radeontool is available at http://www.g2inf.one.pl/~anszom/MBP-ATI/.

Wireless

See the MacBook Wireless section.

This requires a newer version of the madwifi. I had problems with the svn causing a kernel panic, so I ended going with a snapshot of the madwifi-ng tree. This can be downloaded from here http://snapshots.madwifi.org/madwifi-ng-current.tar.gz, website here: http://www.madwifi.com.

Sound

See the MacBook Sound section.

With a Core 2 Duo MacBook Pro and kernel 2.6.18-3-amd64 sound only works with the headphone but no speaker output.

With a Core2 Duo MacBook Pro (built fall 06) running (unpatched) 2.6.18-3-686, sound output can be changed as follows in alsamixer:

  • PCM channel changes overall volume
  • Center and LFE channels change volume of headphones output (which is at the jack labled as line in!)
  • Line in (only toggling mute possible) enables/disables built-in speakers
  • IEC958 enables/disables optical IO on jack labled as headphones
  • line in not yet worked out

With MBPv3 (mid 2007), sound works out-of-the-box starting with kernel 2.6.24.

Touchpad

To get two finger vertical scrolling, disabled tap to click, good mouse acceleration, and speed. Use the following in /etc/X11/xorg.conf

Section "InputDevice"
    Identifier      "Synaptics Touchpad"
    Driver          "synaptics"
    Option          "SendCoreEvents"        "true"
    Option          "Device"                "/dev/input/mice"
    Option          "Protocol"              "auto-dev"
    Option          "SHMConfig"             "true"
    Option          "New AccelFactor"       "0.03"
    Option          "LeftEdge"              "100"
    Option          "RightEdge"             "1120"
    Option          "TopEdge"               "50"
    Option          "BottomEdge"            "310"
    Option          "MinSpeed"              "0.94"
    Option          "MaxSpeed"              "1"
    Option          "AccelFactor"           "0.0015"
#tapping
    Option          "FingerHigh"            "30"
    Option          "FingerLow"             "20"
    Option          "MaxTapTime"            "150"
    Option          "FastTaps"              "0"
    Option          "TapButton1"            "0"
    Option          "TapButton2"            "0"
    Option          "TapButton3"            "0"
#edge scroll
    Option          "VertEdgeScroll"        "0"
    Option          "HorizEdgeScroll"       "0"
    Option          "VertScrollDelta"       "5"
    Option          "HorizScrollDelta"      "0"
#two finger scroll
    Option          "VertTwoFingerScroll"   "1"
    Option          "HorizTwoFingerScroll"  "1"
EndSection

Hibernate

To be able to easily suspend to disk, or suspend to ram you can use the hibernate package. Note: Tested on MBP 2006

apt-get install hibernate

To use it use the command

hibernate

Appendix: Santa Rosa/LED MBP

The data from the section refers to testing/stable/unstable and svn's as of 7/25/07.

Mostly everything is the same with a few changes. The testing distro has enough working drivers to get you started. The stable distro, however does not have a new enough version of the ethernet drivers to work. The other caveat here is that 'apt-get install grub' seems to give you grub2 which didn't seem to work for me. If you're using rEFIt to boot to a boot loader then you should turn use Lilo or grub 1.

See also: https://cbg.dyndns.org/wiki/ReadingCorner/LinuxOnMacbookPro

Ethernet

Requires a new version of sky2 available on the testing CD, but I am unsure as to what the minimum kernel version is. However, it works out of the box with kernel 2.6.22.

Video

Since v100.14.19, the binary nvidia driver works nicely on x86 and x64, no patches needed. The OSS driver 'nv' works too, but has very limited HW support.

Touchpad

The touchpad works fine with the synaptics driver, though maybe not as smooth as with OSX. Use ?GrabEventDevice if you want misc usb mice and synaptics touchpad special functions to work simultaneously. Patches from http://www.mactel-linux.org are optional.

Suspend2RAM

Works. VT/X-switching is needed with old nvidia drivers. Note that usb is necessary for keyboard/mice to work. These drivers should not be reloaded, otherwise the synaptics driver will lose its grab(?GrabEventDevice, synaptics(5)) on the device. I also unload v4l, sky2 and madwifi before s2ram.

I used acpid to disable networking and echo mem > /sys/power/state on PWBTN.

Tested in debian/unstable, with vanilla linux 2.6.22/23. Alsa, uvcvideo and madwifi drivers taken from their corresponding repositories, i.e. working with various revisions of recent development drivers.

AppleIR

Patch your kernel with https://cbg.dyndns.org/store/apple-remote-quirk-hiddev.patch. Enable CONFIG_USB_HID and CONFIG_USB_HIDDEV. When loading usbhid, a device /dev/usb/hiddev0 should be created. Use lirc to configure your remote. Reported to work with other remotes, too.

Plan

Here's what needs to be done:

  • Figure out how to install ELILO.
    • elilo failed to boot my kernel, though efi-boot was enabled. Direct efi-boot is reported to work very bad, as drivers(nvidia,networking) depend on some BIOS calls. http://www.madingley.org/macmini/ provides patches and some bios emulation code, but this is old and only for mac mini.

  • Figure out how to suspend and resume
    • +++ MBP v3
      • works out of the box for me with lenny, 2.6.22-2-686 in KDE; I used Settings/Power control/Laptop battery to parameter it. -- ED : what's your email please? Do you use s2ram to suspend? Are you sure it's suspend, not just blank screen? What Power parameters?
      • ED: With 2.6.22-3-amd64 and testing/unstable it does not work by choosing in GNOME System->?ShutDown->Suspend, MacBookPro v3.

      • BF: I have suspend to disk working on the first MBP with the hibernate package, and using the command hibernate, and or using kpowersave to config the powerbutton to suspend.
  • Figure out how to use the remote control.