Difference between revisions of "Installing Gentoo on a ThinkPad X60 Tablet"
(→History) |
(→Gentoo General: suspend2-sources no longer exist. They are now tuxonice-sources.) |
||
| (37 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | = Gentoo General = | |
| − | |||
| + | Some general apps are needed, these are installed: | ||
| + | emerge thinkpad | ||
| + | echo "thinkpad" >> /etc/modules.autoload.d/kernel-2.6 | ||
| + | TODO: | ||
| + | echo "app-laptop/hdapsd" >> /etc/portage/package.keywords | ||
| + | emerge hdapsd app-laptop/tp_smapi | ||
| + | rc-update add hdapsd default | ||
| + | /etc/init.d/hdapsd start | ||
| − | = | + | = Sound = |
| − | + | NOTE: If you get an hda_intel probe error on boot, you have to enable modem support in bios (don't ask why!). | |
| − | |||
| − | |||
| − | |||
In the kernel configuration: | In the kernel configuration: | ||
Device Drivers ---> | Device Drivers ---> | ||
| Line 16: | Line 20: | ||
PCI devices ---> | PCI devices ---> | ||
<*> Intel HD Audio | <*> Intel HD Audio | ||
| − | Now emerge | + | Now emerge alsa-utils and add alsasound to the default runlevel: |
| − | emerge -av | + | emerge -av alsa-utils |
rc-update add alsasound default | rc-update add alsasound default | ||
/etc/init.d/alsasound start | /etc/init.d/alsasound start | ||
| + | Unmute the sound using alsamixer by pressing the m key on the Master and PCM sliders (MM=Muted / 00=Not muted) | ||
= Display = | = Display = | ||
| + | In the kernel configuration: | ||
| + | Device Drivers ---> | ||
| + | Character devices ---> | ||
| + | <*> Direct Rendering Manager | ||
| + | <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) ---> | ||
| + | Now run xorgcfg which should start smoothly. Do your personal changes (none), and save the files to their default location. | ||
| + | Edit {{path|/etc/X11/xorg.conf}} and add the following lines: | ||
| + | Section "dri" | ||
| + | Mode 0666 | ||
| + | EndSection | ||
| + | |||
| + | Now for the rotation to work, we need to emerge some stuff, and make some editing. | ||
| + | First, emerge some apps (note: wee need linuxwacom >= 0.7.8) | ||
| + | echo "x11-drivers/linuxwacom" >> /etc/portage/package.keywords | ||
| + | emerge linuxwacom sudo xhost xrandr | ||
| + | |||
| + | Get the rotate script from ref. A, and make some adjustments: | ||
| + | cd /usr/local/bin | ||
| + | wget http://luke.no-ip.org/x60tablet/examples/rotate | ||
| + | chmod +x rotate | ||
| + | sed "s/cursor/Cursor/" -i rotate | ||
| + | sed "s/stylus/Stylus/" -i rotate | ||
| + | sed "s/eraser/Eraser/" -i rotate | ||
| + | sed 's/"%s set %s Rotate %s"/"sudo su -c \\"DISPLAY=:0.0 %s set %s Rotate %s\\""/' -i rotate | ||
| + | sed "s/'normal': 'NONE', 'left': 'CCW', 'right': 'CW', 'inverted': 'HALF'/'normal': '0', 'left': '2', 'right': '1', 'inverted': '3'/" -i rotate | ||
| + | |||
| + | Put yourself into the wheel group, and setup sudo to make you run xsetwacom without password. | ||
| + | |||
| + | {{HINT|For the compiz-fusion to work you will need to start it like this: | ||
| + | <nowiki>LIBGL_ALWAYS_INDIRECT=true compiz-fusion --replace --indirect-rendering ccp</nowiki>}} | ||
| + | |||
| + | TODO: xhost + | ||
= Input = | = Input = | ||
| Line 32: | Line 69: | ||
<*> User level driver support | <*> User level driver support | ||
USB support ---> | USB support ---> | ||
| − | < | + | < > Wacom Intuos/Graphire tablet support |
| − | + | The Wacom Intus/Graphire USB Tablet should not be activated, the X60 Tablet is not an USB device. | |
| + | |||
| + | Emerge setserial; | ||
| + | emerge setserial | ||
| + | and add the following (magic) line to {{path|/etc/conf.d/local.start}}: | ||
setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig | setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig | ||
| − | Now add the following lines to your xorgcfg generated xorg.conf: | + | If you get 'Cannot set serial info: Invalid argument' your kernel may have slightly broken serial support (suspend2-sources-2.6.22-r2, gentoo-sources-2.6.22-r5), this is fixed in gentoo-sources-2.6.22-r9. |
| + | |||
| + | {{WARN|Xorg 7.3 works with current linuxwacom (0.7.8-3, 0.7.9-1), but in a strange way. Keep Xorg 7.2 unless you are going to use your pen only as mouse and only in the normal rotation.}} | ||
| + | '''Re to ATTENTION!''' I reply to myself. In the linuxwacom 0.7.8 branch they added the support for the multitouch feature. However this "feature" makes the usage of pen almost impossible (see [http://sourceforge.net/forum/forum.php?thread_id=1777969&forum_id=236872 this forum]). I prepared a patch which removes this feature and wrote an ebuild which can apply this patch: [https://bugs.gentoo.org/show_bug.cgi?id=147537 Bugzilla Bug 147537]. However still I have small problems in Xorg 7.3: [http://sourceforge.net/tracker/index.php?func=detail&aid=1823908&group_id=69596&atid=525124 bug 1823908] | ||
| + | |||
| + | Now add the following lines to your xorgcfg generated {{path|/etc/X11/xorg.conf}}: | ||
Section "InputDevice" | Section "InputDevice" | ||
Identifier "Cursor" | Identifier "Cursor" | ||
| Line 44: | Line 90: | ||
Option "Type" "cursor" | Option "Type" "cursor" | ||
Option "ForceDevice" "ISDV4" | Option "ForceDevice" "ISDV4" | ||
| − | |||
EndSection | EndSection | ||
| − | |||
Section "InputDevice" | Section "InputDevice" | ||
Identifier "Stylus" | Identifier "Stylus" | ||
| Line 54: | Line 98: | ||
Option "ForceDevice" "ISDV4" | Option "ForceDevice" "ISDV4" | ||
EndSection | EndSection | ||
| − | |||
Section "InputDevice" | Section "InputDevice" | ||
Identifier "Eraser" | Identifier "Eraser" | ||
| Line 67: | Line 110: | ||
InputDevice "Stylus" "SendCoreEvents" | InputDevice "Stylus" "SendCoreEvents" | ||
InputDevice "Eraser" "SendCoreEvents" | InputDevice "Eraser" "SendCoreEvents" | ||
| + | |||
| + | === Xournal === | ||
| + | The ebuild in [http://bugs.gentoo.org/show_bug.cgi?id=143177 Bug 143177] works fine for verion 0.4.1 | ||
== Touch Screen == | == Touch Screen == | ||
| − | + | ||
| + | It works for me from the box. I just unexpectedly discovered that it works. However in the "left" and "right" rotations of the screen the pointer appears approximately 3cm from the touch point. I do not know how to solve this. | ||
| + | |||
| + | However it causes a lot of problem so I prepared a sollution (see the reply to attention above: [http://www.thinkwiki.org/wiki/installing_Gentoo_on_a_ThinkPad_X60_Tablet#Pen]). | ||
== Trackpoint == | == Trackpoint == | ||
Works. | Works. | ||
| − | == | + | == Fingerprint Reader == |
| − | + | This actually is surprisingly easy to make work:) Just emerge thinkfinger >= 0.3; | |
| − | + | echo "sys-auth/thinkfinger" >> /etc/portage/package.keywords | |
| − | + | emerge thinkfinger | |
| − | + | and add the following line in {{path|/etc/pam.d/system-auth}}: | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | This actually is surprisingly easy to make work:) Just emerge thinkfinger >= 0.3 and add the following line in {{path|/etc/pam.d/system-auth}}: | ||
auth sufficient pam_thinkfinger.so | auth sufficient pam_thinkfinger.so | ||
| Line 100: | Line 133: | ||
auth required pam_env.so | auth required pam_env.so | ||
auth sufficient pam_thinkfinger.so | auth sufficient pam_thinkfinger.so | ||
| − | auth sufficient pam_unix.so likeauth nullok | + | auth sufficient pam_unix.so try_first_pass likeauth nullok |
All left is to read your fingerprint for your user. Run tf-tool --add-user <login>, then reboot and see if it works. | All left is to read your fingerprint for your user. Run tf-tool --add-user <login>, then reboot and see if it works. | ||
| + | If using gdm, it should work smoothly. | ||
| + | |||
| + | ==Thinkpad buttons== | ||
| + | You can enable them in the kernel either built-in or as a module: | ||
| + | |||
| + | Location: │ | ||
| + | -> Device Drivers │ | ||
| + | -> Character devices | ||
| + | <M> /dev/nvram support | ||
| + | |||
| + | In case you chose the module you will need to autoload it since it is not loaded by the udev: | ||
| + | echo nvram >> /etc/modules.autoload.d/kernel-2.6 | ||
| + | |||
| + | By default the /dev/nvram device is configured for root only access. In order to change it permanentely add the corresponding rule to udev. For example I did: | ||
| + | echo "KERNEL==\"nvram\", GROUP=\"users\"" >> /etc/udev/rules.d/50-local.rules | ||
| + | |||
| + | After that you can either configure them using app-laptop/tpb or KDE user can relay on the KMilo application configurable in the | ||
| + | "Control Center -> System Administration -> IBM Thinkpad Laptop". | ||
= Network = | = Network = | ||
| Line 111: | Line 162: | ||
Ethernet (1000 Mbit) ---> | Ethernet (1000 Mbit) ---> | ||
<*> Intel(R) PRO/1000 Gigabit Ethernet support | <*> Intel(R) PRO/1000 Gigabit Ethernet support | ||
| + | |||
| + | Configure the ethernet card in {{path|/etc/conf.d/net}}: | ||
| + | config_eth0="dhcp" | ||
| + | eth0_dhcpcd="-t 4" | ||
== Wireless == | == Wireless == | ||
| Line 122: | Line 177: | ||
Networking ---> | Networking ---> | ||
<*> Generic IEEE 802.11 Networking Stack | <*> Generic IEEE 802.11 Networking Stack | ||
| − | < | + | <M> IEEE 802.11i CCMP support |
| − | < | + | <M> IEEE 802.11i TKIP encryption |
| − | Now, emerge ipw3945 > | + | Now, emerge ipw3945, wireless-tools > 22 and wpa_supplicant, and add ipw3945d to the default runlevel by issuing: |
| − | emerge - | + | echo "net-wireless/wireless-tools" >> /etc/portage/package.keywords |
| − | rc-update add ipw3945d default | + | emerge ipw3945 wireless-tools wpa_supplicant |
| + | rc-update add ipw3945d default | ||
/etc/init.d/ipw3945d start | /etc/init.d/ipw3945d start | ||
| − | If | + | Configure the wireless card in {{path|/etc/conf.d/net}}: |
| + | config_eth1="dhcp" | ||
| + | eth1_dhcpcd="-t 4" | ||
| + | eth1_modules="wpa_supplicant" | ||
| + | wpa_supplicant_eth1="-Dwext" | ||
| + | |||
| + | If you are a kismet user it should be configured as follows in {{path|/etc/kismet.conf}}: | ||
| + | suiduser=<login> | ||
| + | source=ipw3945,eth1,ipw3945 | ||
| + | |||
| + | == VPN == | ||
| + | To come... | ||
== Bluetooth == | == Bluetooth == | ||
| − | + | In the kernel configuration: | |
| + | Networking ---> | ||
| + | <*> Bluetooth subsystem support ---> | ||
| + | <*> L2CAP protocol support | ||
| + | <*> RFCOMM protocol support | ||
| + | [*] RFCOMM TTY support | ||
| + | Bluetooth device drivers ---> | ||
| + | <*> HCI USB driver | ||
| + | |||
| + | Now emerge bluez-utils; | ||
| + | emerge bluez-utils | ||
| + | and configure your display name in the device section in {{path|/etc/bluetooth/hcid.conf}}: | ||
| + | name "Your Displayname" | ||
| + | |||
| + | Now we are ready to start | ||
| + | rc-update add bluetooth default | ||
| + | /etc/init.d/bluetooth start | ||
= External Connections = | = External Connections = | ||
| + | |||
= ACPI = | = ACPI = | ||
| + | Just emerge the acpi daemon: | ||
| + | emerge acpid | ||
| + | rc-update add acpid default | ||
| + | /etc/init.d/acpid start | ||
| + | |||
= Extra Features = | = Extra Features = | ||
| Line 143: | Line 232: | ||
24. July - Added Gentoo General, Sound, Some kernel configuration for the 2.6.21 kernel and new keycodes. | 24. July - Added Gentoo General, Sound, Some kernel configuration for the 2.6.21 kernel and new keycodes. | ||
| + | |||
| + | 2. September - All sections are has been polished, and should work properly. Only the last ones are missing. | ||
= External Sources = | = External Sources = | ||
| Line 148: | Line 239: | ||
B) [http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html] Keycode Table | B) [http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html] Keycode Table | ||
| + | |||
| + | |||
| + | [[Category:Gentoo]] | ||
Latest revision as of 15:08, 10 May 2008
Contents
Gentoo General
Some general apps are needed, these are installed:
emerge thinkpad echo "thinkpad" >> /etc/modules.autoload.d/kernel-2.6
TODO:
echo "app-laptop/hdapsd" >> /etc/portage/package.keywords emerge hdapsd app-laptop/tp_smapi rc-update add hdapsd default /etc/init.d/hdapsd start
Sound
NOTE: If you get an hda_intel probe error on boot, you have to enable modem support in bios (don't ask why!).
In the kernel configuration:
Device Drivers --->
Sound --->
Advanced Linux Sound Architecture --->
PCI devices --->
<*> Intel HD Audio
Now emerge alsa-utils and add alsasound to the default runlevel:
emerge -av alsa-utils rc-update add alsasound default /etc/init.d/alsasound start
Unmute the sound using alsamixer by pressing the m key on the Master and PCM sliders (MM=Muted / 00=Not muted)
Display
In the kernel configuration:
Device Drivers ---> Character devices ---> <*> Direct Rendering Manager <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->
Now run xorgcfg which should start smoothly. Do your personal changes (none), and save the files to their default location. Edit /etc/X11/xorg.conf and add the following lines:
Section "dri" Mode 0666 EndSection
Now for the rotation to work, we need to emerge some stuff, and make some editing. First, emerge some apps (note: wee need linuxwacom >= 0.7.8)
echo "x11-drivers/linuxwacom" >> /etc/portage/package.keywords emerge linuxwacom sudo xhost xrandr
Get the rotate script from ref. A, and make some adjustments:
cd /usr/local/bin wget http://luke.no-ip.org/x60tablet/examples/rotate chmod +x rotate sed "s/cursor/Cursor/" -i rotate sed "s/stylus/Stylus/" -i rotate sed "s/eraser/Eraser/" -i rotate sed 's/"%s set %s Rotate %s"/"sudo su -c \\"DISPLAY=:0.0 %s set %s Rotate %s\\""/' -i rotate sed "s/'normal': 'NONE', 'left': 'CCW', 'right': 'CW', 'inverted': 'HALF'/'normal': '0', 'left': '2', 'right': '1', 'inverted': '3'/" -i rotate
Put yourself into the wheel group, and setup sudo to make you run xsetwacom without password.
LIBGL_ALWAYS_INDIRECT=true compiz-fusion --replace --indirect-rendering ccp
TODO: xhost +
Input
Pen
In the kernel configuration:
Device Drivers ---> Input device support ---> <*> Event interface [*] Miscellaneous devices ---> <*> User level driver support USB support ---> < > Wacom Intuos/Graphire tablet support
The Wacom Intus/Graphire USB Tablet should not be activated, the X60 Tablet is not an USB device.
Emerge setserial;
emerge setserial
and add the following (magic) line to /etc/conf.d/local.start:
setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
If you get 'Cannot set serial info: Invalid argument' your kernel may have slightly broken serial support (suspend2-sources-2.6.22-r2, gentoo-sources-2.6.22-r5), this is fixed in gentoo-sources-2.6.22-r9.
Re to ATTENTION! I reply to myself. In the linuxwacom 0.7.8 branch they added the support for the multitouch feature. However this "feature" makes the usage of pen almost impossible (see this forum). I prepared a patch which removes this feature and wrote an ebuild which can apply this patch: Bugzilla Bug 147537. However still I have small problems in Xorg 7.3: bug 1823908
Now add the following lines to your xorgcfg generated /etc/X11/xorg.conf:
Section "InputDevice" Identifier "Cursor" Driver "wacom" Option "Device" "/dev/ttyS0" Option "Type" "cursor" Option "ForceDevice" "ISDV4" EndSection Section "InputDevice" Identifier "Stylus" Driver "wacom" Option "Device" "/dev/ttyS0" Option "Type" "stylus" Option "ForceDevice" "ISDV4" EndSection Section "InputDevice" Identifier "Eraser" Driver "wacom" Option "Device" "/dev/ttyS0" Option "Type" "eraser" Option "ForceDevice" "ISDV4" EndSection
And the following three lines in the end of the ServerLayout section:
InputDevice "Cursor" "SendCoreEvents" InputDevice "Stylus" "SendCoreEvents" InputDevice "Eraser" "SendCoreEvents"
Xournal
The ebuild in Bug 143177 works fine for verion 0.4.1
Touch Screen
It works for me from the box. I just unexpectedly discovered that it works. However in the "left" and "right" rotations of the screen the pointer appears approximately 3cm from the touch point. I do not know how to solve this.
However it causes a lot of problem so I prepared a sollution (see the reply to attention above: [1]).
Trackpoint
Works.
Fingerprint Reader
This actually is surprisingly easy to make work:) Just emerge thinkfinger >= 0.3;
echo "sys-auth/thinkfinger" >> /etc/portage/package.keywords emerge thinkfinger
and add the following line in /etc/pam.d/system-auth:
auth sufficient pam_thinkfinger.so
The first section in the file should now look like the following:
auth required pam_env.so auth sufficient pam_thinkfinger.so auth sufficient pam_unix.so try_first_pass likeauth nullok
All left is to read your fingerprint for your user. Run tf-tool --add-user <login>, then reboot and see if it works. If using gdm, it should work smoothly.
Thinkpad buttons
You can enable them in the kernel either built-in or as a module:
Location: │
-> Device Drivers │
-> Character devices
<M> /dev/nvram support
In case you chose the module you will need to autoload it since it is not loaded by the udev:
echo nvram >> /etc/modules.autoload.d/kernel-2.6
By default the /dev/nvram device is configured for root only access. In order to change it permanentely add the corresponding rule to udev. For example I did:
echo "KERNEL==\"nvram\", GROUP=\"users\"" >> /etc/udev/rules.d/50-local.rules
After that you can either configure them using app-laptop/tpb or KDE user can relay on the KMilo application configurable in the
"Control Center -> System Administration -> IBM Thinkpad Laptop".
Network
Ethernet
In the kernel configuration:
Device Drivers ---> Network device support ---> Ethernet (1000 Mbit) ---> <*> Intel(R) PRO/1000 Gigabit Ethernet support
Configure the ethernet card in /etc/conf.d/net:
config_eth0="dhcp" eth0_dhcpcd="-t 4"
Wireless
Note: Make sure that the hardware disable-switch isn't disabled - it is placed at the front/bottom of the laptop (don't make the same mistake as i did!)
In the kernel configuration:
Device Drivers ---> Network device support ---> Wireless LAN (non-hamradio) ---> [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions Networking ---> <*> Generic IEEE 802.11 Networking Stack <M> IEEE 802.11i CCMP support <M> IEEE 802.11i TKIP encryption
Now, emerge ipw3945, wireless-tools > 22 and wpa_supplicant, and add ipw3945d to the default runlevel by issuing:
echo "net-wireless/wireless-tools" >> /etc/portage/package.keywords emerge ipw3945 wireless-tools wpa_supplicant rc-update add ipw3945d default /etc/init.d/ipw3945d start
Configure the wireless card in /etc/conf.d/net:
config_eth1="dhcp" eth1_dhcpcd="-t 4" eth1_modules="wpa_supplicant" wpa_supplicant_eth1="-Dwext"
If you are a kismet user it should be configured as follows in /etc/kismet.conf:
suiduser=<login> source=ipw3945,eth1,ipw3945
VPN
To come...
Bluetooth
In the kernel configuration:
Networking --->
<*> Bluetooth subsystem support --->
<*> L2CAP protocol support
<*> RFCOMM protocol support
[*] RFCOMM TTY support
Bluetooth device drivers --->
<*> HCI USB driver
Now emerge bluez-utils;
emerge bluez-utils
and configure your display name in the device section in /etc/bluetooth/hcid.conf:
name "Your Displayname"
Now we are ready to start
rc-update add bluetooth default /etc/init.d/bluetooth start
External Connections
ACPI
Just emerge the acpi daemon:
emerge acpid rc-update add acpid default /etc/init.d/acpid start
Extra Features
History
5. July - Initial release.
24. July - Added Gentoo General, Sound, Some kernel configuration for the 2.6.21 kernel and new keycodes.
2. September - All sections are has been polished, and should work properly. Only the last ones are missing.
External Sources
B) [2] Keycode Table