New to Linux, I have been trying to install drivers for my XP Pen G640 because the tablet doesn't works correctly with my current system (Ubuntu 16.04.05).

Now they have provided Beta version of their Linux driver that has said to be supported by Ubuntu (Heres the link). I have tried to install it using this method, but the terminal always returns with this, Terminal Log

I have tried their instructions on how to install it from their site for Ubuntu 18.10 but that returns with "sudo: command not found".

Now I am really confused. How can I get the driver working? Thanks!


After 4 days of email exchange to the XP-Pen support team, I found out that it only support 64-bit PC's. I on the another hand had 32-bit and as a result it gave out this error.

Issue was fixed by installing a 64 bit Linux Distribution. Used Ubuntu 16.04 x64 in this case and it worked flawlessly with no issues.

TL;DR - Driver only supports 64-bit OS, 32-bit will not work.

EDIT - Heres the terminal output in text format - https://pastebin.com/p7pceZam

tasnim_tamim@tasnim-circles:~/Downloads$ cd Linux_Pentablet_V1.2.3/
tasnim_tamim@tasnim-circles:~/Downloads/Linux_Pentablet_V1.2.3$ sudo ./Pentablet_Driver.sh
[sudo] password for tasnim_tamim: 
/home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: 1: /home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: �7: not found
/home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: 1: /home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: ���-: not found
/home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: 1: /home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: ��: not found
/home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: 1: /home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: ELF: not found
/home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: 2: /home/tasnim_tamim/Downloads/Linux_Pentablet_V1.2.3/./Pentablet_Driver: Syntax error: ")" unexpected
  • Welcome to Ask Ubuntu. You've provided a picture of your terminal (a picture of text), which is difficult to read & impossible to cut/paste to look up info, and use in a response to you. You should copy the text from your terminal, and paste it into your question. Your picture looks like LXDE so are you using Lubuntu 16.04? (official flavors are supported here) There instructions told you to execute with elevated privileges (sudo) which you didn't appear to do, and provide full path - so did you check it wasn't required by script? (as you didn't provide it) – guiverc Dec 6 '18 at 7:40
  • @guiverc Sorry for that.. here's the text of the output - pastebin.com/p7pceZam . I am using Ubuntu 16.04 with LXDE Desktop Enviroment. Unity was too heavy for my PC and it always froze, so I am using that instead – tasnim_tamim Dec 6 '18 at 7:53
  • It looks to me like it's not a shell script? If you file-type it (file ./Pentablet_Driver.sh) is it a bash script? The download link you provided was for a tarball, so did you expand it? Usually when you expand tarballs (a tarball is a compressed image like a zip - the .tar.gz means tarball compressed with gzip), there is a README type file with instructions that you follow (the name can vary being up to the packager or person who created it; some opt for instructions also on web sites). – guiverc Dec 6 '18 at 8:11
  • @guiverc Here's the output of the command - ./Pentablet_Driver.sh: POSIX shell script, ASCII text executable. I have extracted the .tar.gz file using Gnome Archive Manager, but just to be safe I have also used Terminal method, but there was no README file or any other documentation. Just the .sh file, config.xml, a executable file and some lib files and platform folder. Here are all the file contents - i.imgur.com/8bpmXwW.png – tasnim_tamim Dec 6 '18 at 8:22
  • A suggestion for you to try. Edit the .sh script; change the "export LD_LIBRARY_PATH=$dirname/lib" to "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/$dirname/lib" - ie. the script only passes the (list.of.dirs) lib path to the program, the change will pass the existing value + the path they untidily calculated. The binary it calls at the end maybe opens a shell & generates the lines you see - I'd look in logs (dmesg, journalctl) just in blind.hope (I'm at a loss there) – guiverc Dec 6 '18 at 11:57

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.