Toshiba Satellite R15 wacom tablet pc
From ArchWiki
Contents |
Overview
This document contains instructions for installing Arch Linux on a Toshiba Satellite R15 wacom tablet pc using the stock 2.6.17-ARCH kernel. It assumes that you have completed the installation as described in the Official Arch Linux Install Guide.
Working
- Audio
- Video
- Wireless
- Power management
- Tablet/Pen
- Touch Pad
- DVD-R/CD-R
- HAL
Not tested
- Extra keys in tablet mode
- SD slot
- PC card slot
- Tablet rotation
- Accelerometer
CD/FTP Installation
Quick notes:
- The default installation is relatively painless.
- Wireless won't work initially. However, the wired connection will. Plug 'er in.
- Use the ftp/http package source for more up to date packages.
- If you select all the packages, you'll have a conflict or two. Just deselect one of the conflicted packages and try again.
Wireless Network
The Toshiba Satellite R15 uses the Intel Pro/Wireless network interface (ipw2200). The following method assumes you don't use WEP or WPA and that your router has dhcp enabled.
Verify Network
Initially, you won't be able to use the wireless network because you don't have the firmware. The easiest way to download the firmware is to use the old school wired network connection (it's on the back of the tablet, near the power input) and use pacman. Go on, plug that hideous ethernet cord into your beautiful tablet.
Now, ensure that the ethernet module is loaded. Enter the following as root:
# modprobe eepro100
Now bring up the network interface. Enter the following as root:
# ifconfig eth0 up # dhcpcd eth0
Now test that the network connection worked. Enter the following:
$ ping -c 3 www.cubis.ca
If it works, you can move on. If not, you'll have to do some searching to find out what went wrong. I recommend the Arch Linux forums and wiki, the Gentoo wiki and forum, Ubuntu forums and wiki, and if those fail, try posting your question in www.livejournal.com/linux. If you just can't figure it out, you can even email me and ask. :D
Download Firmware
Now download the firmware using pacman. The firmware is in the 'extra' repository, so be certain you've uncommented that section from pacman.conf. Enter the following as root:
# pacman -S ipw2200-fw
That will also download the package wireless_tools if it isn't already installed.
Test Wireless
To load the wireless module now, enter the following as root:
# modprobe ipw2200
Since you're currently using eth0, your wireless network interface will likely be eth1. Type the following as root to initiate your network. You'll need to put your wireless network ID (essid) where it says YOUR_WIRELESS_NETWORK_ESSID. Please note the differences between ifconfig and iwconfig.
# ifconfig eth0 down # ifconfig eth1 up # iwconfig eth1 essid YOUR_WIRELESS_NETWORK_ESSID # dhcpcd eth1
Now test that your wireless network works by pinging a website. Enter the following:
$ ping -c 3 www.cubis.ca
If it is successful, congratulations. Now you can unplug that ugly ethernet cable.
Configure Wireless
Now you'll need to edit a few files so that your wirless loads at boot. To ensure that your wireless network is always eth1, you have to put eepro100 in the modules section of rc.conf before ipw2200.
Add eepro100 and ipw2200 the modules section of /etc/rc.conf as root:
MODULES=(eepro100 ipw2200)
To initiate your wireless at boot, edit the network section of /etc/rc.conf with eth1 as follows:
eth1="dhcp" INTERFACES=(lo eth1)
Video
The Toshiba Satellite R15 uses the Intel 82852/855GM Integrated Graphics Device which uses the i810 driver.
Install Xorg
First you should download Xorg, the i810 video driver and a small utility for generating a xorg.conf if you don't like the one I post. Enter the following as root:
# pacman -S xorg xf86-video-i810 hwd
Configure Xorg
There are three methods to configure xorg: using my xorg.conf file, xorgconfig, and using hwd. I recommend you copy my xorg.conf file.
IMPORTANT: You only need to do one of the following three. Once you've done one of them, go on to the next section, Testing Xorg.
ALSO IMPORTANT: The xorg.conf I post is for the Toshiba Satellite R15 tablet pc. If you don't have this computer, it most likely won't work for you.
Using my xorg.conf
If you're using the same computer as me, you can just copy my xorg.conf. First back up the default xorg.conf if it exists:
# mv /etc/X11/xorg.conf /etc/X11/xorg.conf.original
Now copy and paste the following into /etc/X11/xorg.conf using your favourite editor (and as root):
Section "ServerLayout" Identifier "Xorg Configured" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "USB Mouse" "CorePointer" # InputDevice "cursor" # InputDevice "stylus" # InputDevice "eraser" EndSection
Section "ServerFlags" Option "AllowMouseOpenFail" "true"
EndSection
Section "Files" RgbPath "/usr/share/X11/rgb" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/misc:unscaled" FontPath "/usr/share/fonts/misc" FontPath "/usr/share/fonts/75dpi:unscaled" FontPath "/usr/share/fonts/75dpi" FontPath "/usr/share/fonts/100dpi:unscaled" FontPath "/usr/share/fonts/100dpi" FontPath "/usr/share/fonts/PEX" FontPath "/usr/share/fonts/cyrillic" FontPath "/usr/share/fonts/Type1" FontPath "/usr/share/fonts/ttf/western" FontPath "/usr/share/fonts/ttf/decoratives" FontPath "/usr/share/fonts/truetype" FontPath "/usr/share/fonts/truetype/openoffice" FontPath "/usr/share/fonts/truetype/ttf-bitstream-vera" FontPath "/usr/share/fonts/latex-ttf-fonts" FontPath "/usr/share/fonts/defoma/CID" FontPath "/usr/share/fonts/defoma/TrueType" EndSection
Section "Module" Load "ddc" # ddc probing of monitor Load "dbe" Load "dri" Load "extmod" Load "glx" Load "bitmap" # bitmap-fonts Load "type1" Load "freetype" Load "record" # Load "wacom" EndSection
Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "" Option "XkbVariant" "" EndSection
Section "InputDevice" Identifier "USB Mouse" Driver "mouse" Option "Device" "/dev/input/mice" Option "SendCoreEvents" "true" Option "Protocol" "IMPS/2" Option "ZAxisMapping" "4 5" Option "Buttons" "5" EndSection
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" EndSection
# Begin edits for tablet support: #Section "InputDevice" #Identifier "stylus" #Driver "wacom" #Option "Type" "stylus" #Option "SendCoreEvents" "true" #Option "Device" "/dev/ttyS0" #Option "ForceDevice" "ISDV4" #EndSection #Section "InputDevice" #Identifier "eraser" #Driver "wacom" #Option "Type" "eraser" #Option "Device" "/dev/ttyS0" #Option "ForceDevice" "ISDV4" #EndSection
#Section "InputDevice" #Identifier "cursor" #Driver "wacom" #Option "Type" "cursor" #Option "Device" "/dev/ttyS0" #Option "ForceDevice" "ISDV4" #EndSection # End edits for tablet support Section "Monitor" Identifier "Monitor0" Option "DPMS" "true" EndSection
Section "Device" Identifier "Card0" Driver "i810" VendorName "All" BoardName "All" EndSection
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultColorDepth 24 SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection
Section "DRI" Mode 0666 EndSection
You might have noticed that all the tablet stuff is commented out. That's so Xorg doesn't give us trouble when we try to set up the tablet. We'll will fix it later.
Now that xorg.conf is written, move on to the Testing Xorg section.
Alternate: Using xorgconfig
This is the utility for configuring xorg that comes with xorg. It requires you know everything about your monitor and video card. To use it, type the following as root, follow the instructions ... and pray:
Note: if you've already copied my xorg.conf, skip this section and move to Testing Xorg.
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf # xorgconfig
Alternate: Using hwd
If you don't like my xorg.conf, you can use hwd to automagically create a xorg.conf for you. To do so, enter the following as root:
Note: if you've already copied my xorg.conf, skip this section and move to Testing Xorg.
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf # hwd -xa
The xorg.conf that hwd writes is sufficient to start X, but to get the most out of your computer, you'll need to edit some stuff (like change the video driver from vesa to i810) until it looks a lot more like my xorg.conf.
Testing xorg
Xorg is now set up. If you'd like to test it, first make sure the i810 module is loaded. Enter the following as root:
# modprobe i810
Now as a regular user (not root), enter the following:
$ X
If it works, you'll see an X on a screen that you can move with your mouse and not much else. If it didn't work, X will output the error to the terminal you ran it in. Look carefully - it's normally just a type-o.
To return to the terminal you were working in, hit CTRL+ALT+F1.
Install and Configure KDE
Once you're satisfied with xorg, you can install a desktop environment. I recommend kde for no particular reason, but you can install whichever you're most comfortable with.
Enter the following as root. You'll have an opportunity to select which packages from kde you want. Just type 'y' or 'n' for yes or no respectively when prompted. If unsure, say yes to all the packages. Also, for better kde performance, download the portmap and fam packages.
# pacman -S kde portmap fam
To start KDE automatically on boot, add kdm (the kde login manager) to the daemons section of /etc/rc.conf. You should also put portmap and fam there, too. Edit the daemons section of /etc/rc.conf as root as follows (don't take anything that was already there out and make sure kdm is last):
DAEMONS=(syslog-ng network netfs crond portmap fam kdm)
After rebooting the system, you should be brought to the KDE login screen. Entire your name and your password and KDE will start.
As a side note, I'd like to bring your attention to how fast KDE is on Arch Linux. Everything just kinda POPS. It's great. :)
Testing DRI
If everything went right so far, you're likely staring at your KDE desktop just tickled pink to have found my wiki. One thing to check is that direct rendering is working. To do this, enter the following as a regular user.
$ glxinfo | grep -i render
If direct rendering works, it should return the following:
direct rendering: Yes OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20050225 x86/MMX/SSE2
If it says 'no' instead of 'yes', review the previous steps in the video section. Ensure that you are indeed running a computer with the 855GM chipset and that the i810 module is loaded.
Audio
Alsa should work out of the box. The only thing you'll have to do is unmute the channels you want to hear. To use alsamixer, enter the following:
$ alsamixer
Hit the letter 'm' to unmute the channels you want to use. Use the up and down cursor keys to raise and lower the volumes. When you're done, hit escape. You can also use kmix to unmute and adjust the volumes.
If alsamixer doesn't exist, try adding the following packages (as root) and do the previous stuff again:
# pacman -S alsa-lib alsa-oss alsa-utils
That's it. She's good to go.
Power Management
Lucky for you and me, Arch Linux is set up pretty awesomely. All we have to do to get proper power management is to add the right modules to the modules section of /etc/rc.conf and download a package or two. How awesome is that? It's awesome, let me tell you.
Toshiba ACPI
The first thing to note is that you're on a Toshiba which means we need to load the toshiba_acpi module. As root, edit rc.conf and add toshiba_acpi to the modules secion of /etc/rc.conf:
MODULES=(toshiba_acpi eepro100 ipw2200)
This'll give us control over the fan, the brightness of the LCD, etc.
CPU Scaling
If you're using the same computer as me, you've got a Pentium M Centrino 1.6Ghz processor. The Pentium M Centrino can scale it's cpu speed depending on certain events (such as removing the power supply, closing the lid, etc). It uses the SpeedStep module for this control. In the same way we added toshiba_acpi, we'll add the speedstep module to the /etc/rc.conf modules section:
MODULES=(toshiba_acpi speedstep-centrino eepro100 ipw2200)
Next, we need to download the cpufreq daemon using pacman (as root):
# pacman -S cpufreqd cpufrequtils
Since we want cpu scaling loaded at boot, we'll add the daemon to the rc.conf. As root, add cpufreqd to the DAEMONS section of /etc/rc.conf:
DAEMONS=(syslog-ng network netfs crond cpufreqd portmap fam kdm)
While you're in rc.conf, we should add some stock performance govenor profiles. I used the following ones:
- cpufreq_powersave -- Lowest power setting. Used when on battery power
- cpufreq_ondemand -- Increases power when its needed. Used when plugged in.
Now add those two modules (and another called freq_table) to the modules section of /etc/rc.conf just like before:
MODULES=(toshiba_acpi speedstep-centrino cpufreq_powersave cpufreq_ondemand freq_table eepro100 ipw2200)
CPUfreq Config
Finally, update /etc/conf.d/cpufreq so it looks like the following (the changes I made are bolded):
#configuration for cpufreq control # valid governors: # ondemand, performance, powersave, # conservative, userspace
governor="performance" governor="powersave" governor="ondemand"
# valid suffixes: Hz, kHz (default), MHz, GHz, THz min_freq="0.6GHz" max_freq="1.6GHz"
You might have noticed that there is a 'performance' governor, but that we didn't add cpufreq_performance to rc.conf. This is because cpufreq_performance is autoloaded and we don't need to put it in rc.conf (You can though, if you want. It won't hurt anything).
klaptop
That's it. We're done with power management. Reboot'er and check out your new power settings. The easiest way to manage these is with the KDE system try application called klaptop.
- Right click on the system tray icon, and go to configure klaptop.
- Click on the last tab called 'ACPI Config'.
- If check boxes are grayed out, click the 'Setup Helper Application' button.
- Enter your password when prompted. Close and reopen the config.
- Now you should be able to edit all the options in all the tabs.
- Now configure to your own personal taste.
Note: You might have to reboot for settings to take effect.
Bon apetite? Bueno! ;)
HAL (Hardware Abstraction Layer)
HAL stands for Hardware Abstraction Layer and it does some pretty fancy stuff. Specifically, it pays attention to your removeable hardware, mounting and unmounting on demand and without your intervention. Some people find the automounting invasive, but KDE seems to require it. If you want to avoid the amazingly annoying 'This feature requires HAL' error when you use the system menu in Konqueror, you need HAL.
First we need to download the HAL daemon and it's buddy, the dbus daemon. Enter the following as root:
# pacman -S hal dbus
Since we autoload KDE, we also need to autoload the hal and dbus daemons. As root, we need to add them to the DAEMONS section of /etc/rc.conf before the KDM module.
DAEMONS=(syslog-ng network netfs crond cpufreq portmap fam dbus hal kdm )
Now reboot and when you log back in, test it out. Shove a Cd into the drive and watch what happens. Personally, I use HAL most with the Storage Media panel applet. I guess I do a lot of mounting. <_<
Wacom/Tablet
UPDATE: Linuxwacom is now in the 'community' package database.
Method 1 - Community package database
Method 1 is by far the easiest wayto obtain the linuxwacom packages. To install from the community package database, uncommont the community section of /etc/pacman.conf (as shown in the first section of this wiki). Then type the following as root:
# pacman -Sy linuxwacom
Now go on to the update configs section.
Method 2 - AUR packages
Method 2 requires that we take advantage of couple more fabulous Arch Linux features: The Archlinux User-community Repository (AUR) and the Archlinux Build System (ABS).
Prepare packages
The first thing you need to do is download the AUR linux-wacom package. You can do it two ways. First, you can go to The AUR, search for the tarball yourself and download it. Which would be good experience for when you wanna find an AUR package later.. Or second, you can just use the following command as a regular user:
$ wget http://aur.archlinux.org/packages/linuxwacom/linuxwacom.tar.gz
This'll download to whatever folder you're currently in. Extract linuxwacom.tar.gz and move it somewhere (I put mine in ~/bin). And change into the folder it created.
$ tar -xvvzf linuxwacom.tar.gz $ mv linuxwacom* ~/bin $ cd ~/bin/linuxwacom
Normally at this point we would run makepkg, which would download the rest of the needed packages and compile them, however there's a few things I want to change. First, the download URL inside the PKGBUILD file doesn't seem to work. So let's change that to something that does work.
As regular user, edit PKGBUILD. Find the following line:
source=(http://dl.sourceforge.net/sourceforge/$pkgname/$pkgname-0.7.4-3.tar.bz2 \
And change it so it looks like the following:
source=(http://superb-west.dl.sourceforge.net/sourceforge/linuxwacom/linuxwacom-0.7.4-3.tar.bz2 \
Now find another line inside PKGBUILD that looks like this:
./configure --prefix=/usr --enable-wacdump=no --enable-xidump=no \
And change the 'no' in --enable-wacdump=no to a 'yes' so it looks like this:
./configure --prefix=/usr --enable-wacdump=yes --enable-xidump=no \
Save and close PKGBUILD.
Compile and Install
Now as a regular user, enter the following:
$ makepkg
This command downloads the remaining files, configures them and compiles them. If there are any errors, read carefully. If you're missing a library, install it with pacman. If there's a problem with PKGBUILD, varify that there are no type-os. When it's done compiling, we simply install it using pacman. Enter the following as root:
# pacman -Af linuxwacom-0.7.4_3-3.pkg.tar.gz
Update Configs
You're nearly done. Now that you've compiled the module, you need it to start on boot. As root, edit /etc/rc.conf and add wacom to the MODULES section:
MODULES=(toshiba_acpi speedstep-centrino cpufreq_powersave cpufreq_ondemand freq_table eepro100 ipw2200 wacom)
Now load the wacom module. Enter the following as root:
# modprobe wacom
To verify that it's loaded, enter the following:
# dmesg | grep -i wacom usbcore: registered new driver wacom drivers/usb/input/wacom.c: v1.45:USB Wacom Graphire and Wacom Intuos tablet driver
If it returns the same thing, the module works and is loaded. Now we need to specify the serial port to use. To do this, we need a package called setserial. Enter the following as root:
# pacman -S setserial
Now set the serial port to /dev/ttyS0 with the following command (as root):
# setserial /dev/ttyS0 port 0x0338 irq 4 autoconfig
This needs to be done at each boot, so we need to add that command to the boot sequence. As root, add the previous line to /etc/rc.local like this:
#!/bin/bash # # /etc/rc.local: Local multi-user startup script. # setserial /dev/ttyS0 port 0x0338 irq 4 autoconfig
Make sure you don't accidentally put a '#' at the end of beginning of the setserial line in rc.local. The '#' tells the computer to skip this line and thus it wouldn't get executed.
Now it's time to uncomment all those lines in /etc/X11/xorg.conf that we previously left commented when first writing the xorg config file. As root, open /etc/X11/xorg.conf and do the following:
First, in the "ServerLayout" section, uncomment (aka delete the '#' symbol from the front of the line) the following 3 lines:
# InputDevice "cursor" # InputDevice "stylus" # InputDevice "eraser"
So that they look like this:
InputDevice "cursor" InputDevice "stylus" InputDevice "eraser"
See? No '#' sign means they've been uncommented.
Next, in the "Module" section, uncomment the following line:
# Load "wacom"
Then uncomment every one of the following lines:
#Section "InputDevice" #Identifier "stylus" #Driver "wacom" #Option "Type" "stylus" #Option "SendCoreEvents" "true" #Option "Device" "/dev/ttyS0" #Option "ForceDevice" "ISDV4" #EndSection
#Section "InputDevice" #Identifier "eraser" #Driver "wacom" #Option "Type" "eraser" #Option "Device" "/dev/ttyS0" #Option "ForceDevice" "ISDV4" #EndSection
#Section "InputDevice" #Identifier "cursor" #Driver "wacom" #Option "Type" "cursor" #Option "Device" "/dev/ttyS0" #Option "ForceDevice" "ISDV4" #EndSection
And that's it. You're done. Your computer is fully operation now. Well, as operation as I need it, anyways. A bit anti-climatic, isn't it?
Farewell, my friends. :)