in apt-pinning · chuleta · clickpad · debian · hp · pavillion · squeeze · ubuntu · xorg

Clickpad support on the HP Pavillion DV7 4160ES

These are the components that the aforementioned laptop comes with:

# lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05)
01:00.0 VGA compatible controller: ATI Technologies Inc Manhattan [Mobility Radeon HD 5000 Series]
01:00.1 Audio device: ATI Technologies Inc Manhattan HDMI Audio [Mobility Radeon HD 5000 Series]
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
7f:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)
7f:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)
7f:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)
7f:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)
7f:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
7f:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

By doing apt-pinning in Debian I install some packages from the unstable branch on Squeeze.

I install the latest version of the kernel:

# apt-get install linux-headers-2.6.38-1-amd64
# apt-get install linux-image-2.6.38-1-amd64

I install the latest versions of the xorg components from the unstable branch. (All the components until no dependency is missing)

# apt-get install -t unstable xserver-xorg-input-synaptics xorg xserver-xorg

I see that there are related bugs in the Debian bugtracker: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597082 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572842

The first of them refers to this patch and we download it to /usr/src/99-clickpad.patch: http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=99-clickpad.patch;att=1;bug=597082

We download the sources from Debian unstable for xserver-xorg-input-synaptics:

# apt-get source -t unstable xserver-xorg-input-synaptics

We also download the dependencies so we can recompile it:

# apt-get -t unstable build-dep xserver-xorg-input-synaptics

We go to the directory where they were downloaded and apply the patch we downloaded earlier. (In our case version 1.4.0 was downloaded)

# cd /usr/src/xserver-xorg-input-synaptics-1.4.0
# cat /usr/src/99-clickpad.patch |patch -p1

We recompile the package with the patch already included.

# dpkg-buildpackage -b

We install the package:

# sudo dpkg -i ../xserver-xorg-input-synaptics-*version*.deb

(In my case: xserver-xorg-input-synaptics_1.4.0-1_amd64.deb)

Just the X-window is enough for us and the support improves considerably. Although there are still quite a few features that we will see implemented very soon by the kernel and Xorg developers.

And with this and a sponge cake, this developer can develop in peace.