今天的 Tetralet 又在唧唧喳喳了



« 十一月 2014 »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30






 

在 Debian Squeeze 下驅動 Wacom CTL 460

Tetralet | 19 七月, 2010 13:01

前幾天心血來潮,入手了一塊 Wacom CTL 460 繪圖板。一直認為 Wacom 在 Linux 下的支援度很好,想不到又再次踢到鐵板:它在我的電腦上像死魚一樣一動也不動,雖然拿觸控筆在上面劃來劃去的話,燈號會一閃一閃的沒錯,但我的電腦上卻似是不知不覺。

Google 了一下,慢慢了解到在 Linux 上要驅動 Wacom 的繪圖板有幾個要件:

  • Kernel 必須要有相應的驅動模組 (wacom.ko)

  • Xorg 的輸入裝置 (wacom_drv.so) 也必須同時支援。

  • 應用軟體也要支援,否則只會被視同一般的滑鼠。

而 Debian 目前所提供的 xserver-xorg-input-wacom 目前的版本是0.10.5,似乎是夠新了。也就是說,是Kernel 不支援囉?使用以下指令查看:

$ lsusb | grep -i wacom
Bus 003 Device 002: ID 056a:00d4 Wacom Co., Ltd

$ dmesg | grep -i wacom
[    1.723219] usb 3-1: Manufacturer: Wacom Co.,Ltd.

沒有 wacom 模組的載入資訊,看來很不妙。

試著把 Kernel 升級到 2.6.34 甚至 2.6.35 都一樣,抓不到這個繪圖板。

更糟的是,Debian 也不再提供原本可以用來編譯 wacom.kowacom-kernel-source 套件了。

而在 The Linux Wacom Project 上所供的最新驅動程式有兩個版本:

0.8.8-6,可編譯 Kernel 模組 wacom.kowacom_drv.so,但不能支援 Xorg >= 1.7。

0.10.7,可支援 Xorg >= 1.7,但僅提供 wacom_drv.so

但問題是,在 Debian Squeeze 上的 Xorg 版本早就 > 1.7 了,所以若要使用 0.8.x 版的似乎會很麻煩。但 0.10.x 裡也沒有提供 Kernel 模組可編譯 。並且,0.8.6-6 裡的 configure 若偵測到 Xorg > 1.7 的話,會強迫不編譯 wacom.ko

這個狀況困擾了我許久。Google 了許久都是一些如何編譯 0.8.x 的資訊,但對我而言一點意義也沒有。直到我意識到一點:沒錯,或許我們可以編譯個 0.8.x 版的 wacom.ko 搭配 0.10.x 版的wacom_drv.so 使用呀!而以下就是它的編譯步驟,筆記一下以避免遺忘:

首先,請先準備好編譯環境,建議使用 chroot 環境(套件名稱請修改為適合您的 Kernel 版本)

apt-get install build-essential linux-headers-2.6.26-2-common linux-headers-2.6.26-2-amd64

(推薦)

apt-get install module-assistant
module-assistant prepare

然後,下載 linuxwacom 0.8.8-6,解壓縮後,進入該目錄並執行:

./configure --enable-wacom --prefix=/usr

由於我們要的只是 wacom.ko,所以進入 src/2.6.30/(如果您的 Kernel >= 2.6.30 的話),並先修改 Makefile 如下:(請修改為適合您的 Kernel 版本)

WCM_KERNEL_DIR :=/usr/src/linux-headers-2.6.32-5-amd64
WCM_OPTION_WACOM := yes

然後開始編譯:

make

一切順利的話,千呼萬喚的 wacom.ko 就生出來了!把它取代系統裡原本的 wacom.ko 吧!

cp -a wacom.ko /lib/modules/2.6.32-5-amd64/kernel/drivers/input/tablet/wacom.ko
depmod -a

試著重新載入模組(或重新開機),果然成功了:

$ dmesg | grep -i wacom
[    1.723219] usb 3-1: Manufacturer: Wacom Co.,Ltd.
[    5.223994] input: Wacom Bamboo 4x5 Pen as /devices/pci0000:00/0000:00:12.0/usb3/3-1/3-1:1.0/input/input6
[    5.255995] input: Wacom Bamboo 4x5 Finger as /devices/pci0000:00/0000:00:12.0/usb3/3-1/3-1:1.1/input/input7
[    5.272952] usbcore: registered new interface driver wacom
[    5.276168] wacom: v1.52-pc-0.3:USB Wacom tablet driver

然後只要確認系統裡有安裝 xserver-xorg-input-wacom 套件的話,X Window System 應該可以直接把繪圖板當作滑鼠使用了。(/etc/X11/xorg.conf 則不用修改應該可以直接使用)

但為了在 GIMP 裡啟用繪圖板的『感壓』功能,您必須在『偏好設定』→『輸入裝置』→『設定額外的輸入裝置』啟用這個繪圖板:

啟用繪圖板
然後再把它新增到『使用中控制器』裡,其它選項維持預設值即可。

 

設定繪圖板
然後我們就可以在 GIMP 的工具箱裡新增一個【裝置狀態】的面板,並查看繪圖板是否有正常啟用了:
GIMP 工具箱

然後,就可以試著畫畫看了。我是用 A4的紙把繪圖板包了起來,一來可以避免繪圖筆把繪圖板刮花了,二來這樣子觸感會更接近拿筆在紙上作畫。多用幾次就覺得很順手了呢!

迴響

請問 Squeeze 到底什麼時候出來呀?

想請問一下 Tetralet 知不知道 Squeeze 大約在什麼時候會出來呢?先前好像有說會 delay,不知目前狀況如何,最近要重灌伺服器,有可能得先選 Ubuntu LTS 了。

[回應] pesder @ 20/07/2010, 11:57

Re: pesder

至少等明年吧... XDDD

有什麼必要功能一定要用 Debian Squeeze 的嗎?

[回應] Tetralet @ 20/07/2010, 12:46

Re: 在 Debian Squeeze 下驅動 Wacom CTL 460

因為之前用的是 debian lenny 呀,而且又用了 openvz 做虛擬機器,結果 Ubuntu 10.04 LTS 沒有,所以想看看 debian 下一版有沒有機會;另外就是機器換了,新伺服器的網卡要 kernel 2.6.32 以上才支援。只是先前都是看到會延遲的消息,既然還這麼不確定,那就先用 Ubuntu 了,謝謝。

[回應] pesder @ 20/07/2010, 14:43

Re:

可以自編 kernel from openvz.org
沒有一定非用 squeeze 不可

[回應] dou0228 @ 23/07/2010, 15:34

authimage
驗證碼皆為英文大寫字母
僅輸入前4碼即可。後2碼是假的,欺敵用。
這是為了防制 Spam 而設計的。若造成您的不便還請見諒!
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb