This procedure also worked for me with Asus T103H (next model of T102H).

Installing Debian

We must consider this device has UEFI, so the bootable pendrive must be created accordingly to it. I followed this procedure and worked great:

You can do something like the following if 604A-00EA is your USB drive and you already have p7zip installed:

$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/

You’re done if you have only one partition on this USB drive, otherwise you need to flag the partition as bootable e.g. via parted:

# parted /dev/sdX set 1 boot on

Where /dev/sdX would be your USB drive and 1 the partition number that should be used to boot.

The installation process is the same as a computer. Just create your partitions (I just created / and swap) and that was it.

Rotate Screen and pointer (mouse)

One of the needs with this after installing Debian was to rotate the screen, because the tablet has a keyboard and should be used like a «laptop» style the screen was needed to be horizontally configured, rotating the screen caused the mouse pointer to run in funny directions.

A coworker of mine found how to solve this one, she helped me with this article and the configuration required to perform both rotations (screen and pointer). This is the Xorg file under /etc/X11/xorg.conf.d/xorg.conf (I’ve previously created the dir xorg.conf.d)

Section "Device"
     Identifier "Card0"
     Driver "fbdev"
     BusID "PCI:0:2:0"
     Option "Rotate" "CW"
EndSection

Section "Screen"
     Identifier "Screen0"
     Device "Card0"
     Monitor "Monitor0"
EndSection

Section "InputClass"
     Identifier "pointer"
     MatchProduct "ELAN226A6:00 04F3:22A6"
     Option "SwapAxes" "1"
     Option "InvertY" "1"
EndSection

The match product can be obtained using xinput.

Enable WiFi

Because I’ve installed with a Debian CD iso I hadn’t all the required firmware so there weren’t ethernet card.

I found this driver, but because I hadn’t installed anything I was lacking ‘make’ and ‘sudo’ which are used in (install.sh) so I’ve started doing the first steps of that script manually.

Soon I realized that I only needed to do the initial steps:

echo "options ath10k_core skip_otp=y" | sudo tee /etc/modprobe.d/ath10k_core.conf
sudo cp -r firmware-only/QCA9377 /lib/firmware/ath10k/

Made a reboot and it worked.

Enable pressure Stylus Pen

I did all of this because I was told to enable the «pressure feature» of the «stylus pen» work on Linux.

Debian says:

In most cases, make sure you have the xserver-xorg-input-libinput package installed, and not the xserver-xorg-input-synaptics package

Well, I’ve tried using «synaptics» but I required certain tools to test the functionality that are only available with «libinput», so I’ve installed libinput and uninstalled synaptics (in that order).

Also it was neccesary to create a file in Xorg in this way (thanks to this post from 2003 and this debian page):

Section "InputClass"
        Identifier      "ELAN22A6:00 04F3:22A6"         # required
        MatchIsTouchpad "yes"                           # required
        Driver          "wacom"                     # required
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "1.0"
        Option          "AccelFactor"           "0.075"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "2"     # multitouch
        Option          "TapButton3"            "3"     # multitouch
        Option          "VertTwoFingerScroll"   "1"     # multitouch
        Option          "HorizTwoFingerScroll"  "1"     # multitouch
        Option          "VertEdgeScroll"        "1"
        Option          "CoastingSpeed"         "8"
        Option          "CornerCoasting"        "1"
        Option          "CircularScrolling"     "1"
        Option          "CircScrollTrigger"     "7"
        Option          "EdgeMotionUseAlways"   "1"
        Option          "LBCornerButton"        "8"     # browser "back" btn
        Option          "RBCornerButton"        "9"     # browser "forward" btn
EndSection

The Identifier I’ve used was obtained from xinput:

root@debian:~# xinput
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ ELAN22A6:00 04F3:22A6                       id=11    [slave  pointer  (2)]
⎜   ↳ ELAN22A6:00 04F3:22A6 Pen                   id=12    [slave  pointer  (2)]
⎜   ↳ ITE Tech. Inc. T102 HID Device              id=9    [slave  pointer  (2)]
⎜   ↳ ITE Tech. Inc. T102 HID Device  Touchpad touch    id=10    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ Intel HID events                            id=13    [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                            id=14    [slave  keyboard (3)]
root@debian:~#

Then I’ve installed evemu-tools (for evemu-record) which let me see at low level the interaction of the pen with the touchscreen:

evemu-record | grep PRESSURE

The recent versions of GIMP support pressure devices, you can configure them in Edit > Preferences > Configure Input Devices. Here’s a draw I made with GIMP to test the pressure:

asus transformer mini t102h with debian

Usefull links during this investigation process: