0. 현재 lucid의 linux-image는 linux-image-generic -> linux-2.6.32-*로 이어지고 있음. 현재(110206)는 2.6.32.28이 설치됨. maverick은 linux-2.6.35 기반 커널을 쓰는데, #550625의 Andrew Skalski의 2.5.35-alps-730264-imps-emulation.patch를 적용하였을떄는 psmouse vert-scroll이 성공한 바 있음. henk의 작업은 dell Precision 4500의 모델일 경우에 특정한 방법을 쓰는 듯. (델 공식 제공 패치?) Andrew Skalski의 작업은 0xEC Memory Access Protocol을 리버스엔지니어링해서 구현한 것. (alps-730264-imps-emulation.patch) henk의 패치와 Andrew Skalski의 작업은 둘 다 동일한 signature {0x73, 0x02, 0x64}를 디텍팅하고 있음. 따라서 두 패치가 같이 적용되면 안될 것으로 보임. 1. 커널 2.6.32-28-generic에서 henk가 제공하는 psmouse-dkms 패키지로는 vertical scrolling이 되지 않는다. xinput list: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Macintosh mouse button emulation id=12 [slave pointer (2)] ⎜ ↳ PS/2 Mouse id=11 [slave pointer (2)] ⎜ ↳ AlpsPS/2 ALPS GlidePoint id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ 1.3M WebCam id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)] 2. Andrew Skalski는 다음 두 패치를 만들었음. - alps-730264-imps-emulation.patch : for 2.6.32 - 2.6.35-alps-730264-imps-emulation.patch : for 2.6.35 그런데 둘은 단지 적용되는 커널 버젼만 다른 것이 아니고, 전자에 비해 후자는 psmouse-base.c를 수정하지 않고 수정 사항이 alps.{c,h} 및 psmouse.h에 국한된다. 그래서 후자를 현재의 2.6.32 커널로 백포팅하였음. (현재 이 글을 쓰는 중 uname -r: 2.6.32-28-generic) 이후 커널 업그레이드 등을 위해 dkms 패키지로 만들었음. dkms 패키지 이름은 psmouse-alps-730264-imps-emulation이고 현재 버젼은 0.1임. 이것을 설치하려면 /usr/src/{MODULE_NAME}-{VERSION_NUMBER}에 디렉토리를 놓은 뒤 sudo dpkg add -m {MODULE_NAME} -v {VERSION_NUMBER} sudo dpkg build -m {MODULE_NAME} -v {VERSION_NUMBER} sudo dpkg install -m {MODULE_NAME} -v {VERSION_NUMBER} 을 실행시켜야 함. 소스 관리를 위해 ~/launchpad-550625/psmouse-alps-730264-imps-emulation 에 git 저장소를 만들었으며, /usr/src 의 dkms 소스 디렉토리는 이 저장소로부터 clone한 것임. 3. DKMS 자동 설치에 관해 새로운 커널이 설치될 때 자동으로 dkms 패키지들이 설치되려면 해당 커널의 헤더 패키지인 linux-headers-$(KERNEL_VERSION)가 함께 설치되어야 한다. 수동으로 커널 이미지 설치시엔 헤더 패키지도 함께 설치한다. 다만 lucid 메인 커널 자동 업데이트의 경우 linux-image -> linux-image->generic -> linux-image-$(KERNEL_VERSION)의 의존성에 의해 커널 이미지 패키지가 설치될 것인데, 해당 헤더 페키지도 아마 linux-headers-generic에 의해 자동으로 설치될 듯 하다. (다음번 커널 업데이트 시 확인 필요) 4. 기타 http://www.projectosx.com/forum/index.php?showtopic=1937&pid=11905&mode=threaded&start=#entry11905 Andrew Skalski와 비슷한 리버스 엔지니어링으로 Mac OSX용 드라이버를 만드는 듯. VoodooPS2?