This is a quick Howto on getting the Built-in iSight to work on Intel Mac. So far I have installed on a 20" Intel iMac. I will also be installing on my 15" Macbook Pro ( as soon as it is back from a logic board replacement ). This guide assumes you have access to the iSight firmware, via harddrive partition. I can really take zero credit on the development work behind this. I am simply trying to piece together what I have found in a semi-coherent way.
INSTALLATION
Newest Super Quick 2-Step Install ( Updated for Gutsy 7.10 with 640x480 gstreamer support ): $ wget http://www.shiftingheat.com/packages/isight/isight_install.sh $ sh isight_install.sh
GSTREAMER TEST
$ gst-launch-0.10 v4l2src ! video/x-raw-yuv,format=\(fourcc\)UYVY,width=640,height=480 ! ffmpegcolorspace ! ximagesink
EKIGA TEST
$ sudo apt-get install ekiga libpt-plugins-v4l2
- Install prerequisites
$ ekiga
- Launch Ekiga, via menus or
Edit > Preferences > Devices > Video Devices > - Video plugin: V4L2 - Input device: Built-in iSight
- Configuration. You may have to select the iSight device.
CHEESE TEST $ sudo apt-get install cheese $ cheese
OLDER INSTALLERS AND NOTES Below are previous installation techniques and notes. They should not really be needed any longer, but remain for completeness.
Older Quick Install:
Hopefully this will change with a future kernel update and this guide will become mute. For now, we will disable it and build our own module. $ sudo modprobe -r uvcvideo $ sudo mv /lib/modules/$(uname -r)/kernel/ubuntu/media/usbvideo/uvcvideo.ko /lib/modules/$(uname -r)/kernel/ubuntu/media/usbvideo/uvcvideo.ko.original
- uvcvideo is now prebuilt in Feisty. Problem is that it doesn't work with iSight. https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/105638
$ sudo apt-get install libusb-0.1-4 libusb-dev linux-headers-$(uname -r)
- Install prerequisites, libusb-dev, you might need kernel headers that match your kernel ( I already had them )
$ wget http://files.i-nz.net/projects/linux-kernel/isight/uvcvideo-isight.tar.gz $ tar -xzvf uvcvideo-isight.tar.gz
- Download the new all-in-one bundle, with firmware autoloader as provided by Ivan N. Zlatev ( see http://i-nz.net/projects/linux-kernel/ )
$ cd against-revision-* $ sudo make $ sudo make install
- Build and Install the uvcvideo module
$ sudo modprobe uvcvideo
- Load the module
Original Installation Instructions:
$ sudo apt-get install libusb-0.1-4 libusb-dev linux-headers-$(uname -r)
- Install prerequisites, libusb-dev, you might need kernel headers that match your kernel ( I already had them )
$ wget http://people.freedesktop.org/~rbultje/linux-uvc-0.1.0-b.tar.gz
- Download the patched linux-uvc source, with firmware extraction tool as provided by Ronald S. Bultje ( see http://blogs.gnome.org/view/rbultje )
$ tar zxf linux-uvc-0.1.0-b.tar.gz
- Extract the archive
$ cd linux-uvc-0.1.0-b $ sudo make $ sudo make install
- Build and Install the uvcvideo module
$ sudo mkdir /mnt/mac $ sudo mount -t hfsplus /dev/sda2 /mnt/mac/
- Mount the mac partion, to give access to the iSight firmware
$ sudo ./extract /mnt/mac/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
- Load the iSight firmware
$ sudo modprobe uvcvideo
- Load the module
NOTES It seems that we are also getting close to having this installable via .deb packages. I found the following Debian packages. This was my initial attempt, before backing out what I had done and following the directions above.
http://packages.debian.org/unstable/graphics/linux-uvc-source This requires module-assistant. It seemed to build and install fine. I downloaded and installed with Gdebi. Then, to build the kernel module: $ sudo m-a prepare $ sudo m-a a-i linux-uvc
- linux-uvc-source ( 0.1.0-4 )
http://packages.debian.org/unstable/graphics/linux-uvc-tools This includes the tool macbook-isight-firmware-loader ( the equivalent of extract above ). I couldn't get this toolset to install properly, due to dependencies. The toughest dependency was the need for libc6(>= 2.3.6-6).
- linux-uvc-tools ( 0.1.0-4 )