UPDD supports Linux Alpine, but there are some additional installation steps to perform in this distribution. Currently only support for 64bit systems is available.
Before starting check you have the packages perl and bash installed.
If not or you are unsure install with the following command:
Alpine is unusual in that it uses musl instead of glibc, so programs compiled against glibc will not run by default.
UPDD is compiled with glibc. To work around this a glibc compatibility layer must be installed.
This comes in two parts. A pre-prepared package and a separate UPDD package that provides the additional components required by UPDD.
In theory the 4 apk files in the link above can be registered and installed with apk. However when we tried this it failed due to a checksum verification.
The procedure we used was to first extract the content of each apk file. A standard zip format is used so any available unzip software should work. We used winrar.
Inside each there was a single file in tar format but without the tar suffix, e.g.
On the target system these are extracted to the root folder.
So for example if the file above is in the home directory:
cd /
tar -xvf ~/glibc-2.31-r0(1)
The updd compatibility layer is supplied as a single file updd_alpine.tar.
This is extracted in the same way:
cd /
tar -xvf ~/updd_alpine.tar
The contents of the updd package are:
Component |
Description |
opt/updd/usrlib/libglib-2.0.so.0 |
a versioned soft link to an existing library |
opt/updd/usrlib/libz.so.1 |
libz (compression) built with glibc |
opt/updd/usrlib/libgcc_s.so.1 |
libgcc (c++ runtimes) built with glibc |
opt/updd/usrlib/libgthread-2.0.so.0 |
a versioned soft link to an existing library |
opt/updd/upddenv |
an adapted version of the standard updd environment script to reference the glibc environment |
opt/updd/upddsysv.sh |
an adapted version of the updd systemv startup script |
After installing the compatibility layer install a UPDD package without XTouch support. UPDD build 6.0.619 is built in this way. Later builds can be prepared if required.
uinput is used to post touch data into the OS and is enabled as part of the upddsysv.sh script.
After installing reapply the updd_alpine.tar package for a second time.
This is because some files are required for the installer to work and some files are replaced by the standard installer.
Limitations
The GUI based components of UPDD are not supported. This means all configuration and calibration must be performed with upddutils.
Note a text based corner calibration function can be invoked with
upddutils calibrate
upddenv Is used to set up the environment to execute updd components.
In a regular linux system you can open a shell for easier interaction with updd tools e.g.
./upddenv bash
Although this can be done on Alpine please note that this shell references glibc variants of many system libraries such that most built in Linux functions will not work.
However, this is still useful for interacting with upddutils.
Settings
The following settings must be applied:
General (nodevice) settings
uinput.single_touch.mouse 1
uinput.single_touch.range 4095
Device settings
active_touch_interface uinput
e.g.
upddutils nodevice set uinput.single_touch.mouse 1
upddutils nodevice set uinput.single_touch.range 4095
upddutils set active_touch_interface uinput
If setting these values on the target system the driver must be restarted after making the changes.