- Table of contents
- Shuttle X50
was a brand new model, I have bought the X50XA which ships without an OS, I'm running Ubuntu Jaunty on it.
I had a very hard time to get Linux running on it... took me days to find out what to do. (and nothing to find in google about this product and Linux yet)
But I have managed to get most working,
only some work to do on getting the touchscreen to work (is a often used USB eGalaxy/Touchkit compatible one) the official driver is for Xorg version 1.4.0, and I need 1.6.0. touchscreen settings needs to be optimized.
There is also another (open-source) touchscreen driver for this device, which I still need to compile, so I'm confident this is going to work.
And the Mic input gives static (Intel HD Audio) also a matter of some more time/tweaks.
Sound, WLAN, LAN, Webcam, Intel accelerated VGA is working ok.
You need to install the very latest experimental Xorg intel driver (from 8 May or newer)
You need to boot in F4 "Low Graphics Mode" when installing (to force it to use the vesa driver) after install you do this
to add a repository to get the experimental (but working) intel driver.
Couldn't find the exact change in the release notes which makes this one work though.
But without it is doesn't detect any connected output, and thus it cannot query for valid modes and the X server aborts.
$ sudo vi /etc/apt/sources.list deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu jaunty main $ sudo apt-get update $ sudo apt-get upgrade
My evtouch config file:
$ sudo vi /etc/evtouch/config MINX="523" MINY="800" MAXX="3627" MAXY="3337" X0="0" Y0="0" X1="0" Y1="0" X2="0" Y2="0" X3="0" Y3="0" X4="0" Y4="0" X5="0" Y5="0" X6="0" Y6="0" X7="0" Y7="0" X8="0" Y8="0"
My HAL fdi file:
The "input.x11_options.swapx" line was the one missing to get it to work ok.
$ sudo vi /usr/share/hal/fdi/policy/50-eGalax.fdi <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.product" contains="eGalax"> <match key="info.capabilities" contains="input"> <merge key="input.x11_driver" type="string">evtouch</merge> <merge key="input.x11_options.minx" type="string">130</merge> <merge key="input.x11_options.miny" type="string">197</merge> <merge key="input.x11_options.maxx" type="string">3945</merge> <merge key="input.x11_options.maxy" type="string">3894</merge> <merge key="input.x11_options.taptimer" type="string">30</merge> <merge key="input.x11_options.longtouchtimer" type="string">750</merge> <merge key="input.x11_options.longtouched_action" type="string">click</merge> <merge key="input.x11_options.longtouched_button" type="string">3</merge> <merge key="input.x11_options.oneandhalftap_button" type="string">2</merge> <merge key="input.x11_options.movelimit" type="string">10</merge> <merge key="input.x11_options.touched_drag" type="string">1</merge> <merge key="input.x11_options.maybetapped_action" type="string">click</merge> <merge key="input.x11_options.maybetapped_button" type="string">1</merge> <merge key="input.x11_options.swapx" type="bool">true</merge> </match> </match> </device> </deviceinfo>
Restart HAL and X server:
$ sudo /etc/init.d/hal restart $ sudo /etc/init.d/gdm restart
It seems that after a reboot settings are lost, have to check where and how ...
$ sensors -v sensors version 3.0.2 with libsensors version 3.0.2
The lm_sensors version that comes with Jaunty doesn't detect the IT8720F chipset used in the X50.
So we need to install a later snaphot, and compile it, could find any .deb version yet.
Download latest snapshot:
$ wget http://dl.lm-sensors.org/lm-sensors/snapshots/lm-sensors-r5725-20090515.tar.bz2 $ sudo apt-get install bison flex $ tar xjvf lm-sensors-r5725-20090515.tar.bz2 $ cd lm-sensors-r5725-20090515 $ make $ sudo make install $ sudo cp prog/init/lm_sensors.init /etc/init.d/lm-sensors
Start detect script to detect chip:
$ sudo /usr/local/sbin/sensors-detect # sensors-detect revision 5715 (2009-05-08 10:37:41 +0200) # System: Shuttle Inc SX50 ... Trying family @ITE'... Yes Found @ITE IT8720F Super IO Sensors' Success! (address 0x290, driver @it87') Probing for Super-I/O at 0x4e/0x4f ... Now follows a summary of the probes I have just done. Just press ENTER to continue: Driver @it87': ** ISA bus, address 0x290 Chip @ITE IT8720F Super IO Sensors' (confidence: 9) ...
So normally you should do
$ sudo modprobe it87 FATAL: Error inserting it87 (/lib/modules/2.6.28-11-generic/kernel/drivers/hwmon/it87.ko): No such device
Great, the module is there but the kernel cannot load it, it's a bug.
"We need to install the -proposed kernel version.
Look here for more info about the -proposed tree.
To enable it:
$ sudo vi /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu/ jaunty-proposed restricted main multiverse universe
Create the file /etc/apt/preferences with this content:
$ sudo vi /etc/apt/preferences Package: * Pin: release a=jaunty-security Pin-Priority: 990 Package: * Pin: release a=jaunty-updates Pin-Priority: 900 Package: * Pin: release a=jaunty-proposed Pin-Priority: 400
This is to prevent that upgrades install more than you want.
$ sudo aptitude -t jaunty-proposed
Choose upgradeable package and select linux and linux-image to install it.
You have now:
$ uname -a Linux rons-touch 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux
You will get:
$ uname -a Linux rons-touch 2.6.28-12-generic #43-Ubuntu SMP Fri May 1 19:27:06 UTC 2009 i686 GNU/Linux
And it works too:
$ sudo modprobe it87 WARNING: All config files need .conf: /etc/modprobe.d/usbtouchscreen, it will be ignored in a future release. $ sensors it8720-isa-0290 Adapter: ISA adapter in0: +1.09 V (min = +0.00 V, max = +1.02 V) ALARM in1: +1.07 V (min = +0.00 V, max = +0.00 V) ALARM in2: +3.38 V (min = +2.05 V, max = +0.00 V) ALARM in3: +2.99 V (min = +0.00 V, max = +0.00 V) ALARM in4: +3.04 V (min = +0.00 V, max = +0.00 V) ALARM in5: +1.46 V (min = +0.00 V, max = +0.00 V) ALARM in6: +1.78 V (min = +0.00 V, max = +0.00 V) ALARM in7: +2.98 V (min = +0.00 V, max = +0.00 V) ALARM in8: +3.34 V fan1: 1473 RPM (min = 337500 RPM) ALARM fan2: 0 RPM (min = -1 RPM) ALARM fan3: 0 RPM (min = -1 RPM) ALARM temp1: +49.0°C (low = -128.0°C, high = +1.0°C) ALARM sensor = thermal diode temp2: +54.0°C (low = +0.0°C, high = +4.0°C) ALARM sensor = thermistor temp3: +45.0°C (low = +0.0°C, high = +0.0°C) ALARM sensor = thermistor cpu0_vid: +2.050 V
To be continued ...