Category Archives: Gigabyte S1080

Gigabyte S1080 Challenge: Part 5 – Touchscreen with Linux

This part is basically just about Linux OS because the touchscreen works right out of the box in Windows. To be fair, I downloaded Adriane Knoppix 6.7 Live CD, and when you select graphics mode (option 12) LXDE the touchscreen also works out of the box (thanks to Britta who wrote a comment on last Sep. 8th telling me about this distro).

We could go with any distro, but we choose to install Ubuntu 11.04, and it does not get the touchscreen working perfectly by default. I prefer rpm based distros and I am a huge fedora fan, but it would be pretty much the same with fedora 15.

So, first things first… we need to determine the touchscreen model/manufacturer: it´s a eGalax USB Touchscreen … and we can see the detailed info with lsusb, more precisely the info on device 002 on bus 002:

manager@geek-x:~$ lsusb
 Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 005 Device 002: ID 13d3:3331 IMC Networks
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 004 Device 002: ID 062a:3657 Creative Labs
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 002: ID 0eef:72e9 D-WAV Scientific Co., Ltd
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 006: ID 1e4e:0102
 Bus 001 Device 003: ID 12d1:1404 Huawei Technologies Co., Ltd.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 manager@geek-x:~$
 manager@geek-x:~$ lsusb -s 002:002 -v
 Bus 002 Device 002: ID 0eef:72e9 D-WAV Scientific Co., Ltd
 Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               1.10
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0        64
 idVendor           0x0eef D-WAV Scientific Co., Ltd
 idProduct          0x72e9
 bcdDevice           10.15
 iManufacturer           1
 iProduct                2
 iSerial                 0
 bNumConfigurations      1
 (there is more but we don´t need it)

With this info we can reach the manufactures site, and the Linux driver (yes they offer a Linux driver.. kudos!):

http://home.eeti.com.tw/web20/eg/Touch_Drives.html

http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm

Here we can download the suitable driver for our Kernel/OS Architecture… it will be something like eGalaxTouch-3.06.5625-32b-k26.tar.gz … gunzip … untar … and we will end with a folder named eGalaxTouch32 or  eGalaxTouch64 … inside this folder there is a setup.sh script. This script will handle the entire instalaton proccess (as I said before.. one of the best linux drivers I´ve seen).

Here is the output of the installation procedure (Note that I sudo su to become root.. be carefull):

root@geek-x:/opt# cd eGalaxTouch32/
root@geek-x:/opt/eGalaxTouch32# ll
total 12452
drwxr-xr-x 3 root root 4096 2011-08-25 09:39 ./
drwxr-xr-x 3 root root 4096 2011-09-20 23:39 ../
-rw-r--r-- 1 root root 12587347 2011-08-25 09:37 eGalaxTouch.tar.gz
-rw-r--r-- 1 root root 54463 2009-04-22 01:17 eula.pdf
drwxr-xr-x 2 root root 4096 2011-08-03 06:18 Guide/
-rw-r--r-- 1 root root 5813 2011-08-25 09:39 readme
-rwxr-xr-x 1 root root 53959 2011-08-25 09:16 setup.sh*
root@geek-x:/opt/eGalaxTouch32# sh setup.sh install
(*) Linux driver installer for eGalaxTouch controller
(I) Usage: sh setup.sh or sh setup.sh uninstall
root@geek-x:/opt/eGalaxTouch32# sh setup.sh
(*) Linux driver installer for eGalaxTouch controller
(I) Check user permission: root, you are the supervisor.
(I) Begin to setup the eGalaxTouch driver.
(I) Extract eGalaxTouch driver archive to /usr/local/eGalaxTouch32.
(I) Create eGalaxTouch utility shortcut in /usr/bin.
(I) Create TKCal tool shortcut in /usr/bin.
(I) Check X window version: 1.10.x
(I) Copy X module: x110/egalax_drv.so to /usr/lib/xorg/modules/input.
(Q) Which interface controller do you use?
(I) [1] RS232 [2] PS/2 [3] USB : 3
(I) Using interface: USB
(I) Found a HID compliant touch controller.
(I) Copy udev rule: 52-egalax.conf to /usr/share/X11/xorg.conf.d.
(I) Create eGalaxTouch utility shortcut.
(I) Please reboot the system for some changes to take effect.
(I) After booting, type "eGalaxTouch" to do calibration.
root@geek-x:/opt/eGalaxTouch32# reboot
Broadcast message from manager@geek-x
(/dev/pts/1) at 0:17 ...
The system is going down for reboot NOW!
root@geek-x:/opt/eGalaxTouch32#

OK.. the driver is installed, and I rebooted because I always do that (it´s a Windows thing)…

After the reboot, there will be a program icon in Applications->Accessories->eGalaxTouch Utility … this is the setup and config util. The most important step here is to calibrate the touchscreen, so we go to the Tool tab and begin the proccess by clicking in “Clear Parameter”, the we proceed to the “4Pts Cal” which is the basic four points calibration, and the we proceed to “Linearization” with 25 points… it takes a few minutes to complete, but it increases the precision of the touch position. One last thing… I am using both gok and the onscreen for on-screen-keyboard.. they are pretty easy to understand and configure.

And now we have a fully functional touchscreen tablet with Linux and Windows working side by side!

 

 

Gigabyte S1080 Challenge: Part 4 – MBR and the Bootloader

From the very beginning, I thought this would be the most complicated part of the entire dual boot thing… because as a tablet, it would be expected to operate without any addendum .. like a mouse, or a keyboard…relying only on both the touchscreen, and the internal mouse (the optical pointer + the 2 buttons). The obvious solution was….. a graphical boot manager.

There are a few graphical boot manager, and the most relevant are: xosl, gag and os selector (now part of acronis disk director).

I started with the xosl, because I thought it had the best features, but since it can only be installed from a win98 o.s. I decided to keep looking for a more direct approach. My second option was GAG.. it really worked well.. graphical interface, easy install.. but no mouse… and it required a keyboard after all. The third one.. os selector.. I always heard bad things about it, and they were all true… but in the end, it worked! Well… I mean.. kinda worked… it worked, but not in the way I was expecting.

Os selector installed really easy, worked out of the box, but it was not freeware(big turn off). I installed the trial version to see how it works.. and it detected both linux and windows partitions, but during the reboot.. something great happened… the mouse didn’t work, I moved the optical pointer and the cursor didn’t move… but I pressed the optical knob, and the select os started to load!(so the mouse is somehow working) I rebooted again and cursor still didn’t move, but when I pressed the left and right mouse buttons (the ones on the left side of the tablet) it worked like arrow up / arrow down  and the optical knob works like return.. great idea from the engineers from Gigabyte! Kudos!

Once it was revealed… I tried with grub (from linux), bcd (from Win7) and even being text mode boot managers, they worked perfect! …

So, I said before to install the grub boot loader from linux at the linux boot partition (sda3) but it would have saved me a lot of trouble if I used the standard option and let the setup program install at the MBR.

We are almost there… next step.. make the touchscreen work with linux! (the optical pointer and on-screen keyboard are working just fine)

 

Gigabyte S1080 Challenge: Part 3 – Installing both Windows and Linux

This part is really tricky… How to install an OS without a dvd reader and a keyboard? I used the optical pointer as mouse, and connected my usb dvd drive (a Samsung SE-S084d) and my usb keyboard on both usb ports (left and right)… but that´s not all, it gets trickier… you have to connect the dvd reader to the left usb port, because it is a usb 2.0 port and the keyboard to the usb3.0 port on the right. If you change the order, you will get an error during the installation saying it can not find the media device. Now.. with all the hardware set, let´s partition and install both os´s:

  • insert a windows 7 dvd… boot it and start the win7 install process
  • during the partition selection, delete everything and just create 1 partition with 50gb… when you hit ok..there will be 2 partitions, 1 reserved and 1 for the win7.. it´s ok, leave that way. Continue installing Windows 7 normally, until it´s fully operational. I mean.. with all the drivers from gigabyte, so windows 7 is 100% ok (if you installed the 64 bits version, like I did).. no problem… all the 32 bits drivers from gigabyte contain the 64 bits version within.
  • insert ubuntu 11.04 live dvd, boot it, and just when it appears the 2 symbols on the bottom of the screen press ESC key to show the boot menu and select the proper language… then press F3 to select the proper keyboard layout, and then.. the most important part of this step… press F6 and select ‘noapic’ and ‘edd=on’… then hit esc again, and select ‘install ubuntu’…
  • after choosing language and keyboard layout and so on.. you will end up in the section ‘Allocate drive space’ … select ‘something else’….
  • at this point you will see your partitions… both windows 7 partitions (sda1 and sda2)… it´s time to create the linux partitions.. click on ‘free space’, the click add, select primary, set 50gb size, select ‘beginning’, type ext4, mount point / and click ok. Now the swap partition, same thing, but this time select logical partition, set 4gb size, select ‘beginning’, type swap and ok. Please note that the swap partition will be created as sda5, because its a logical partition and sd4 will be the container of all logical partition (an extended partition). You can stop here if you want, but since you got your hands on the partition manager, create a logical fat32 partition with the entire free space left, and do not mount in any mounting point… the setup will complain, but it is ok.
  • As discussed before, select dev/sda3 (your linux partition) to install the boot loader. Follow the rest of the setup program…and reboot.

Once you reboot, it will load the windows 7 because we din´t change the MBR… it´s ok, because the boot manager is the next step.

 

 

Gigabyte S1080 Challenge: Part 2 – Partitioning for dual boot

This is 2 part problem… the first part is to define the partition scheme and the second part is actually perform this task.

First things first… my partition scheme:

dev/sda1 – ntfs – +-100Mb (Windows 7  reserved)
dev/sda2 – ntfs – +- 50Gb (Windows 7)
dev/sda3 - ext4 - +-50Gb (Ubuntu 11 – mounted / )
dev/sda4 – logical volume
dev/sda5 – swap – +-4Gb
dev/sda6 – ntfs – +-210Gb ( Data storage shared by windows and linux)

that´s it… and my grub2 will be in the boot partition of Ubuntu (sda3). I think this is better, and the recommended method (BTW), because it completely separate the two operating systems, and I have plans for the MBR… but that´s for later.

Here ends the first part of the problem… next will be installing the os´s.

 

A new challenge: Dual Boot Gigabyte S1080 Tablet

I end up buying a Gigabyte S1080 Windows 7 tablet.

It´s an amazing machine! Very fast, good touchscreen response and a killer optical finger navigation button as well as left/right mouse buttons. It came with a Windows 7 Home Premium Edition and all the software required to work as a tablet, including auto rotate software for the screen.

Now… my new challenge is to make this tablet a dual-boot Windows 7 / Linux! I don’t want a virtual machine type of solution, because I want to fully test this magnificent piece of hardware under a regular Linux distro ( Fedora or Ubuntu for a start…), and more important, try to solve the problems within this task. Since this will be a very long process, I created a category in this blog just to cover the S1080 subject.

The first, and more obvious, step is to make a complete image of the hard drive, so I can delete/resize/create partitions and still be able to return to the original factory setup.

There are a few options for complete disk/partitions backup software: norton ghost, clonezilla, partition manager, and a few good others… I am not taking any chances on this one.. 1 full disc image with norton, 1 full disk image with clonezilla… I hope it´s enough.

Next step… define the partition scheme..