Linux on Prestigio Multipad Visconte Quad 3GK
This post is dedicated to Prestigio Multipad Visconte Quad 3GK and running linux on it.
Specifications:
- 1280x800 screen
- 16GB worth of eMMC
- 1 GB of RAM
- Intel Atom Z3735G "Bay Trail" core CPU (or even SoC?)
- Silead touchscreen controller
Prelude
I didn't like performance of Windows 10 on that tablet, so I've decided to install linux-based OS. Choice is rather obvious, Arch. Fast to install and I'm familiar with it plus the additonal AUR "repository".
First boot
After all the necessary packages with GNOME desktop enviroment installed into puny internal storage, it's time to boot into GDM. And being greeted with non-working touchscreen!
First attempt
dmesg | grep silead
shows us that it couldn't find firmware. I've found a little repository, onitake/gsl-firmware, to tailor extracted firmware. Now, when we've installed this firmware, touchscreen now appears to be almost working.
Drivers: debug and release
There are two types of drivers: silead_ts and gslx680_ts_acpi. First one being the release driver, closely integrated with kernel itself. Second one is the one we going to use, since we have to guess the correct values and it allows to change them almost on-the-fly through kernel module reinstallation. (blocklist silead_ts though)
Determination
I've went for the method of trial and error, since there are no proper specifications for my device on internet. For convenience, LXDE that shows pointer, unlike GNOME, was installed.
Final values supplied to driver:
- ~1150x1740 resolution (probably ~115x174)
- Axes swapped
- Horizontally mirrored
- Finger tracking support
It works!
If we load in the module somehow, we have perfectly working touch in GNOME!
Post-processing: making the release driver work
Since I've succesfully made something to work, I should share it. gsl-firmware has instructions for it. Essentially, all you have to do is to write values in touchscreen_dmi.c
and recompile kernel. (don't forget to mail the patch though)
Comments
To post a comment you need to login first.