HP TouchSmart Tx2

From Mandriva Community Wiki

Jump to: navigation, search

Hp TouchSmart Tx2 setup guide Mandriva Linux 2010

The HP TouchSmart Tx2 series of computers is derived from the old Hp Pavillion Tx series tablet PC's. The TouchSmart's are largely similar and are hence compatible with Linux for the most part. If you don't mind not having accelerated graphics, wireless internet, or tablet functionality these computers are productively useable out of the box.

With Mandriva 2010 and other newer linux distributions most of these computers will work out of the box with minimal configuration by the user. However the tablet in these TouchSmart tablet's is a new technology and hence not as well supported as the older technology in the older Pavillion Tx series tablets. The setup of the N-Trig digitizer is the only part of the setup of this tablet that could not be handled by Mandriva's precompiled packages.

Contents

Preliminaries

During the initial installation process choose no when the option of using a driver from the manufacturer is presented. Set up the graphics using the free and open source graphics driver.

Broadcom wireless and FLGRX

After the first boot up, click configure your computer, enter the root password you set at installation.

Set up your network connection, at this stage you should use a wired internet connection directly to your router, or cable/dsl modem. Unless you bought the power pack you will need to download the driver package.

Click configure media sources. Then click add. Click add full set of sources.

Click ok.

Then click install and remove software.

In the search box labeld find type in dkms-broadcom. Click ok when it ask about installing other packages.

At this time go to the find box and type in dkms-flgrx, then click ok when it ask about installing other packages.

Click quit

Broadcom Setup

Click network and internet, follow the prompts. The Broadcom wireless option should be present.

ATI graphics Setup

Click hardware, then set up graphical server. Follow the prompts, this time choose yes when prompted to choose the manufacturer's driver.

Mandriva Linux with an N-Trig tablet

The following is taken from [[1]] with minor modifacations.

N-trig driver

The touchscreen need an up-to-date version of a kernel module: "hid-ntrig.c". No pre-compiled kernel can fit So you must compile it as a kernel module.

  1. install a very recent kernel (2.6.31). You can do that by clicking "configure your computer", click "install & remove software". In the find box type kernel-source and select the most up to date source package. Then search for gcc and install gcc c++, do likewise for libqt3 or lib64qt3 if you are running a 64 bit system. Then follow the directions here for compiling a custom kernel [2]
  2. replace the existing /usr/src/<kernel-flavor>/drivers/hid/hid-ntrig.c by the latest one from git repository : [3]
  3. recompile the driver (or the kernel if you have chosen to do so). I strongly suggest recompiling the kernel.

linuxwacom driver

You will need the latest linuxwacom-dev driver to get the touch works perfectly. The 8.4.3 release doesn't manage touch events properly. This was improved in 2009, october, 20. So you have to take linuxwacom latter than 0.8.5 from [4] or the latest dev version from CVS. Furthermore, the n-trig patch is still NOT included in the linuxwacom project CVS : linuxwacom needs a small patch to recognize the n--trig device : in the file src/xdrv/wcmUSB.c, after
{0xE3, 2540, 2540, &usbTabletPC }, /* TabletPC 0xE3 */
add
{0x01, 935, 1122, &usbTabletPC } /* TabletPC 0x01 */
and, in function usbWcmInit(), replace
if (sID[1] == 0x056A)
by
if (sID[1] == 0x056A || sID[1] == 0x1b96) /* Vendor is wacom or n-trig) */

Then, compile it with ./configure --enable-wacom --enable-xsetwacom --enable-wacomdrv --enable-xserver64 . Carefully check the result of the configure, and add required sources (by YaST) if someones missed. Do NOT pass through errors at this step. When everything is perfect, you can run make and make install.

  1. After recompiling the driver copy wacom.(k)o (ko if you have a 64 bit system) from linuxwacom-dev/src/2.6.x (choose the latest number as of this writing it's 2.6.28 in the CVS code) to the directory /lib/modules/2.6.3x-mnbcustom/kernel/drivers/input/tablet .

sample xorg.conf

If you use this xorg.conf and you are using Mandriva this will work for you.

# File generated by XFdrake (rev )

# **********************************************************************
# Refer to the xorg.conf man page for details about the format of
# this file.
# **********************************************************************

Section "ServerFlags"
    Option "DontZap" "False" # disable <Ctrl><Alt><BS> (server abort)
    AllowMouseOpenFail # allows the server to start up even if the mouse does not work
    #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
EndSection

Section "Module"
    Load "dbe" # Double-Buffering Extension
    Load "v4l" # Video for Linux
    Load "extmod"
    Load "glx" # 3D layer
    Load "dri" # direct rendering
EndSection

Section "Monitor"
    Identifier "monitor1"
    VendorName "Generic"
    ModelName "Flat Panel 1280x800"
    HorizSync 31.5-50.0
    VertRefresh 56.0-65.0
EndSection

Section "Device"
    Identifier "device1"
    BoardName "ATI Radeon HD 2000 and later (radeonhd/fglrx)"
    Driver "fglrx"
    Option "DPMS"
EndSection

Section "Screen"
    Identifier "screen1"
    Device "device1"
    Monitor "monitor1"
    DefaultColorDepth 24
    
    Subsection "Display"
        Depth 8
        Modes "1280x800"
    EndSubsection
    
    Subsection "Display"
        Depth 15
        Modes "1280x800"
    EndSubsection
    
    Subsection "Display"
        Depth 16
        Modes "1280x800"
    EndSubsection
    
    Subsection "Display"
        Depth 24
        Modes "1280x800"
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier "layout1"
    Screen "screen1"
    InputDevice    "stylus" "SendCoreEvents"
    InputDevice    "touch" "SendCoreEvents"
EndSection

Section "InputDevice"
	Identifier  "stylus"
	Driver      "wacom"
	Option	    "AlwaysCore" "on"
	Option	    "Device" "/dev/input/by-path/pci-0000:00:14.5-usb-0:2:1.0-event-mouse"
	Option	    "DeviceName" "stylus"
	Option	    "ForceDevice" "ISDV4"
	Option	    "InputFashion" "Pen"
	Option	    "Mode" "Absolute"
	Option	    "Name" "ISDV4 TABLET PC Stylus (USB)"
	Option	    "Protocol" "Auto"
	Option	    "Button2" "3"
	Option	    "TPCButton" "on"
	Option	    "Type" "stylus"
	Option	    "USB" "on"
	Option	    "Vendor" "TABLET PCs"
EndSection

Section "InputDevice"
	Identifier  "touch"
	Driver      "wacom"
	Option	    "AlwaysCore" "on"
	Option	    "Device" "/dev/input/by-path/pci-0000:00:14.5-usb-0:2:1.0-event-mouse"
        Option      "DeviceName" "touch"
	Option	    "ForceDevice" "ISDV4"
	Option	    "InputFashion" "Touch"
	Option	    "Mode" "Absolute"
	Option	    "Name" "ISDV4 TABLET PC Touch (USB)"
	Option	    "Protocol" "Auto"
	Option	    "Suppress" "0"
	Option	    "Type" "touch"
	Option	    "Touch" "on" # required to get touch move the pointer
	Option	    "USB" "on"
	Option 	    "TopX" "0"
	Option 	    "TopY" "0"
	Option 	    "BottomX" "9600"
	Option 	    "BottomY" "7200"
	Option      "Buttons" "1"
	Option	    "Vendor" "TABLET PCs"
EndSection

Then, restart the X server (or reboot). that's done !

linuxwacom troubleshooting


Multitouch

Although multitouch events are sent by the hardware, most of software doesn't take advantages of that feature : the n-trig driver still does not send any multitouch events to the linuxwacom driver, and the linuxwacom driver multitouch support is very fresh, only in the dev branch. There is a python script to detect a change of screen position and rotate screen, stylus, and touch accordingly : Magick Rotation. See [5] (version 0.3.2 - 10/2009) and/or check for a newer version or a better solution (it consume about 2% of processor power just to do that).

Personal tools