How to set up a Wacom Tablet
Posted: Sun 18 Mar 2007, 00:28
I just got a Wacom Graphire 4 for my birthday, so I spent a couple hours trying to set it up with Puppy last night. I eventually figured it out, and it's much easier than it seems. Parts of it are different for different computers and tablets, so I can't just make a do-all installer. What I can do is post the only file you need to install, and point you in the right direction for the trickier stuff.
--------------------------------
1.
First, plug in the pad.
--------------------------------
2.
Next, you need drivers. There are two types that you need: a kernel driver and an Xorg driver. The kernel driver needs to be compiled for the specific kernel you use in Puppy (two kernels with the same kernel version, but different options enabled, will each need their own version of the driver). If you have Puppy 4.x, then you already have the kernel driver. This will generally be slightly out of date, but should get the job done. I'll occasionally take initiative and compile the latest version of the driver for the latest version of Puppy. If this isn't good enough for you, you can either head over to the Linux Wacom Project and compile your own driver, or you can post here and tell me which version of the kernel you need the driver compiled for and I'll do it as soon as I get a chance. Be sure to tell me which version of Puppy you use in addition to the kernel number, because sometimes two Puppies will have the same kernel version, but with different options compiled into it.
wacom-0.8.4-4-k2.6.30.5.pet <-- For Puppies 4.3.x (non-retro)
wacom-0.8.4-4-k2.6.25.16.pet <-- For Puppies 4.1.x and 4.2.x (non-retro)
wacom-0.8.4-4-k2.6.21.7.pet <-- For Puppies 4.1.x and 4.2.x (retro)
Legacy packages (pre Puppy 4.1). Note: The following two legacy packages use older versions of the driver and don't include the udev rule (mentioned a ways down this post)
wacom_k2.6.21.7.pet <-- NOT for Puppy 4.1.x Retro
wacom_k2.6.18.1.pet
Note: If you want to use a Bamboo Pen, you will need the newer experimental release, as support has not yet been added to the stable packages. See the bottom of this post for download links.
The Xorg driver is more portable. It should work in just about any Puppy. It will also work even if it's newer than the kernel driver you're using (some of the newer features may be disabled of course). Note that the above packages also contain the xorg driver, so if you use one of them you don't really need this one. However, the two oldest versions above don't contain the Udev rule that makes things simpler. You can install this version over them to get it, or you can install it by hand as described later in this post.
wacom-0.8.4-4_xorg_driver.pet
--------------------------------
3.
Next, open a terminal and enter
Now if you play with the tablet, the cursor might move, but it won't work quite right yet.
--------------------------------
4.
Okay, those are the easy steps. Now you need to edit your /etc/X11/xorg.conf file. Go to these pages and follow their instructions:
http://linuxwacom.sourceforge.net/index ... o/inputdev
http://linuxwacom.sourceforge.net/index ... /srvlayout
Make sure you do the stuff appropriate for your tablet. For example, mine is a USB Graphire 4, so I did the USB-only stuff, and the parts for stylus, eraser, pad (the buttons on the pad), and cursor (the mouse it comes with). I left out the "ForceDevice" stuff since I don't have a tablet-pc, just a drawing tablet.
You'll notice there are some lines referring to things like "/dev/ttyS0" or "/dev/input/event0". Those are supposed to point to the device file that is associated with your tablet. The problem is that it's a pain to find out which one is right, and then they'll occasionally change between boots if you unplug or plug in new devices, or plug the tablet into a different port. So to simplify things, you can use a udev rule to associate the tablet with /dev/input/wacom no matter where it's plugged in. The latest versions of the packages I've made include this rule. In addition to automatically creating a symlink from the actual device file to /dev/input/wacom, it will also create the actual device file if it doesn't exist yet. (On my system for example, I'd currently need /dev/input/event8, but Puppy doesn't include that, so I used to have to create it by hand).
So instead of "/dev/ttyS0" or "/dev/input/event0", have your xorg.conf file use "/dev/input/wacom".
If you don't have the udev rule (look in /etc/udev/rules.d/ for a file with "wacom" in the name), you can create it easily. Just create the file /etc/udev/rules.d/65-wacom.rules and put this text inside it:
If you have a tablet PC, you may need something slightly more complex. Try jamesbond's directions here:
http://www.murga-linux.com/puppy/viewto ... 503#297503
--------------------------------
5.
At this point, you should be able to restart X and have the tablet working. You may need to unplug it and plug it back in first, for udev to create the symlink, but I don't believe that is necessary. Once it's working, you're basically done, as far as the Wacom-related stuff goes.
Puppy 4.0 - 4.1.2 users might want to install the GTK package listed here, otherwise Gimp won't recognize the tablet as anything but a mouse. Pre-Puppy-4.0 users don't need this, nor do Puppy 4.2 users (though some 4.2 users may want to grab this version anyway, as the version in 4.2 is incompatible with SCIM):
http://murga-linux.com/puppy/viewtopic. ... 863#298863
You don't strictly need the DEV, DOC, and NLS packages. If you want to compile stuff you need the DEV one. If you want to use locales you'll want the NLS one. The DOC package is completely optional.
If you try using the fancier things like pressure sensitivity in Gimp, you'll find that they don't work. That's because Gimp also needs configuring. Never fear, very simple. Just go to File -> Preferences in the main Gimp window (the tool-box one). Choose the "Input devices" section and click the "Configure extended input devices" button. Use the dropdowns to enable the parts of your tablet. Then you can use the pressure-sensitivity options in the toolbox to have things like variable opacity or size.
--------------------------------
6.
Okay, now for the absolute final step: Have fun
--------------------------------
Non-udev method:
The following is old information from before we had the udev rule. You don't need this, unless you have a Puppy with no udev at all.
To find the device the tablet is on, you first need to know what type of connection it uses. If you use a serial port, I believe the device file will remain constant - the files correspond to the physical COM ports.
If you use USB, as most people do, it could be pretty much any number - USB hubs let you have obscene numbers of ports. So, that means we need a way to find the number. Run this command:
Find the entry for the Wacom tablet, and a couple rows down it will say something like "H: Handlers=mouse2 event4".
Also, if you have lots of things plugged in, there might not be enough event devices! No worries, we can just make more If you don't have enough (check /dev/input), just do something like this:
The number from 68-71 is the important part. It's only 68 for /dev/input/event4. Using a different number but leaving it at event4 will cause event4 to actually refer to a different device.
--------------------------------
Extra stuff:
Some people may also want the wacom_tools package, which provides wacdump, xidump, and xsetwacom.
wacom_tools-0.8.4-4.pet
--------------------------------
Unstable development releases:
These are the same packages listed above, but for the 0.8.5-10 development version. These may not be stable, so use them at your own risk.
wacom-0.8.5-10-k2.6.30.5.pet <-- For Puppies 4.3.x (non-retro)
wacom-0.8.5-10-k2.6.25.16.pet <-- For Puppies 4.1.x and 4.2.x (non-retro)
wacom-0.8.5-10-k2.6.21.7.pet <-- For Puppies 4.1.x and 4.2.x (retro)
wacom-0.8.5-10_xorg_driver.pet
wacom_tools-0.8.5-10.pet
--------------------------------
updated 2008-08-26
updated 2008-12-03
updated 2009-04-25
updated 2009-05-22
updated 2009-07-19
updated 2010-02-20
--------------------------------
1.
First, plug in the pad.
--------------------------------
2.
Next, you need drivers. There are two types that you need: a kernel driver and an Xorg driver. The kernel driver needs to be compiled for the specific kernel you use in Puppy (two kernels with the same kernel version, but different options enabled, will each need their own version of the driver). If you have Puppy 4.x, then you already have the kernel driver. This will generally be slightly out of date, but should get the job done. I'll occasionally take initiative and compile the latest version of the driver for the latest version of Puppy. If this isn't good enough for you, you can either head over to the Linux Wacom Project and compile your own driver, or you can post here and tell me which version of the kernel you need the driver compiled for and I'll do it as soon as I get a chance. Be sure to tell me which version of Puppy you use in addition to the kernel number, because sometimes two Puppies will have the same kernel version, but with different options compiled into it.
wacom-0.8.4-4-k2.6.30.5.pet <-- For Puppies 4.3.x (non-retro)
wacom-0.8.4-4-k2.6.25.16.pet <-- For Puppies 4.1.x and 4.2.x (non-retro)
wacom-0.8.4-4-k2.6.21.7.pet <-- For Puppies 4.1.x and 4.2.x (retro)
Legacy packages (pre Puppy 4.1). Note: The following two legacy packages use older versions of the driver and don't include the udev rule (mentioned a ways down this post)
wacom_k2.6.21.7.pet <-- NOT for Puppy 4.1.x Retro
wacom_k2.6.18.1.pet
Note: If you want to use a Bamboo Pen, you will need the newer experimental release, as support has not yet been added to the stable packages. See the bottom of this post for download links.
The Xorg driver is more portable. It should work in just about any Puppy. It will also work even if it's newer than the kernel driver you're using (some of the newer features may be disabled of course). Note that the above packages also contain the xorg driver, so if you use one of them you don't really need this one. However, the two oldest versions above don't contain the Udev rule that makes things simpler. You can install this version over them to get it, or you can install it by hand as described later in this post.
wacom-0.8.4-4_xorg_driver.pet
--------------------------------
3.
Next, open a terminal and enter
Code: Select all
depmod
modprobe wacom
--------------------------------
4.
Okay, those are the easy steps. Now you need to edit your /etc/X11/xorg.conf file. Go to these pages and follow their instructions:
http://linuxwacom.sourceforge.net/index ... o/inputdev
http://linuxwacom.sourceforge.net/index ... /srvlayout
Make sure you do the stuff appropriate for your tablet. For example, mine is a USB Graphire 4, so I did the USB-only stuff, and the parts for stylus, eraser, pad (the buttons on the pad), and cursor (the mouse it comes with). I left out the "ForceDevice" stuff since I don't have a tablet-pc, just a drawing tablet.
You'll notice there are some lines referring to things like "/dev/ttyS0" or "/dev/input/event0". Those are supposed to point to the device file that is associated with your tablet. The problem is that it's a pain to find out which one is right, and then they'll occasionally change between boots if you unplug or plug in new devices, or plug the tablet into a different port. So to simplify things, you can use a udev rule to associate the tablet with /dev/input/wacom no matter where it's plugged in. The latest versions of the packages I've made include this rule. In addition to automatically creating a symlink from the actual device file to /dev/input/wacom, it will also create the actual device file if it doesn't exist yet. (On my system for example, I'd currently need /dev/input/event8, but Puppy doesn't include that, so I used to have to create it by hand).
So instead of "/dev/ttyS0" or "/dev/input/event0", have your xorg.conf file use "/dev/input/wacom".
If you don't have the udev rule (look in /etc/udev/rules.d/ for a file with "wacom" in the name), you can create it easily. Just create the file /etc/udev/rules.d/65-wacom.rules and put this text inside it:
Code: Select all
# udev rule for wacom tablets.
KERNEL=="event[0-9]*", SYSFS{idVendor}=="056a", SYMLINK+="input/wacom"
http://www.murga-linux.com/puppy/viewto ... 503#297503
--------------------------------
5.
At this point, you should be able to restart X and have the tablet working. You may need to unplug it and plug it back in first, for udev to create the symlink, but I don't believe that is necessary. Once it's working, you're basically done, as far as the Wacom-related stuff goes.
Puppy 4.0 - 4.1.2 users might want to install the GTK package listed here, otherwise Gimp won't recognize the tablet as anything but a mouse. Pre-Puppy-4.0 users don't need this, nor do Puppy 4.2 users (though some 4.2 users may want to grab this version anyway, as the version in 4.2 is incompatible with SCIM):
http://murga-linux.com/puppy/viewtopic. ... 863#298863
You don't strictly need the DEV, DOC, and NLS packages. If you want to compile stuff you need the DEV one. If you want to use locales you'll want the NLS one. The DOC package is completely optional.
If you try using the fancier things like pressure sensitivity in Gimp, you'll find that they don't work. That's because Gimp also needs configuring. Never fear, very simple. Just go to File -> Preferences in the main Gimp window (the tool-box one). Choose the "Input devices" section and click the "Configure extended input devices" button. Use the dropdowns to enable the parts of your tablet. Then you can use the pressure-sensitivity options in the toolbox to have things like variable opacity or size.
--------------------------------
6.
Okay, now for the absolute final step: Have fun
--------------------------------
Non-udev method:
The following is old information from before we had the udev rule. You don't need this, unless you have a Puppy with no udev at all.
To find the device the tablet is on, you first need to know what type of connection it uses. If you use a serial port, I believe the device file will remain constant - the files correspond to the physical COM ports.
If you use USB, as most people do, it could be pretty much any number - USB hubs let you have obscene numbers of ports. So, that means we need a way to find the number. Run this command:
Code: Select all
cat /proc/bus/input/devices
Also, if you have lots of things plugged in, there might not be enough event devices! No worries, we can just make more If you don't have enough (check /dev/input), just do something like this:
Code: Select all
mknod /dev/input/event4 c 13 68
mknod /dev/input/event5 c 13 69
mknod /dev/input/event6 c 13 70
mknod /dev/input/event7 c 13 71
--------------------------------
Extra stuff:
Some people may also want the wacom_tools package, which provides wacdump, xidump, and xsetwacom.
wacom_tools-0.8.4-4.pet
--------------------------------
Unstable development releases:
These are the same packages listed above, but for the 0.8.5-10 development version. These may not be stable, so use them at your own risk.
wacom-0.8.5-10-k2.6.30.5.pet <-- For Puppies 4.3.x (non-retro)
wacom-0.8.5-10-k2.6.25.16.pet <-- For Puppies 4.1.x and 4.2.x (non-retro)
wacom-0.8.5-10-k2.6.21.7.pet <-- For Puppies 4.1.x and 4.2.x (retro)
wacom-0.8.5-10_xorg_driver.pet
wacom_tools-0.8.5-10.pet
--------------------------------
updated 2008-08-26
updated 2008-12-03
updated 2009-04-25
updated 2009-05-22
updated 2009-07-19
updated 2010-02-20