Here are a few notes on how to get the most important hardware of the Fujitsu U820 / U2010 / U2020 working on Ubuntu 10.10 Maverick Meerkat.
Some of the hints might also apply to the Fujistu U810 / U1010 – make sure to ignore step 1 as these devices use the GMA 950 graphics chip which is working perfectly out of the box.
1. Installing the Intel GMA 500 graphics driver
The Ubuntu Wiki has all the necessary information here.
Basically one just needs to do as follows:
sudo add-apt-repository ppa:gma500/ppa sudo apt-get update sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config
UPDATE: The following step is no longer required.
Unfortunately the version as of this writing does not support Compiz and thus you won’t get any of the funky special effects. However, there is a workaround available as described in the Ubuntu Wiki:
wget http://dl.dropbox.com/u/1338581/poulsbo/poulsbo-config_0.1.2%7E1004um3_all.deb sudo dpkg --install poulsbo-config_0.1.2~E1004um3_all.deb sudo apt-get install compiz
2. Installing the Fujitsu Buttons driver (fjbtndrv)
In order to get the buttons and auto-rotation functionality working we will need to compile and install the latest version of fjbtndrv.
The most current version as of this writing is 2.2.1. Please make sure you download the latest version here.
sudo apt-get install libxrandr-dev libxtst-dev libxi-dev libhal-dev wget http://sourceforge.net/projects/fjbtndrv/files/fjbtndrv/2.2.1/fjbtndrv-2.2.1.tar.gz/download tar xvzf fjbtndrv-2.2.1.tar.gz cd fjbtndrv-2.2.1 ./configure make sudo make install
3. Installing the Fujitsu Touchscreen driver
The touchscreen is working somewhat with the included evdev driver. I could not find a way to calibrate the touch screen via xinput etc. So I went back to using zmiq2‘s touch screen driver available here.
Version 0.3.7 won’t compile because some important USB functions were renamed in kernel 2.6.35.
Straight from the kernel 2.6.35 changelog:
USB: rename usb_buffer_alloc() and usb_buffer_free() users
For more clearance what the functions actually do,
usb_buffer_alloc() is renamed to usb_alloc_coherent()
usb_buffer_free() is renamed to usb_free_coherent()
So, one either needs to patch the fujitsu_usb_touchscreen.c manually and replace every occurrence of the aforementioned function names or we just move on and use the already patched version provided by nerd65536. I mirrored the file he posted to the hosting service linked to in the comments section of zmiq’s blog post.
wget http://katastrophos.net/downloads/fujitsu-usb-touchscreen-0.3.8.tar.gz tar xvzf fujitsu-usb-touchscreen-0.3.8.tar.gz cd fujitsu-usb-touchscreen-0.3.8 make sudo make install
In order to have the auto-rotation functionality of fjbtndrv working with the fujitsu-usb-touchscreen driver we need to add a new startup item: Click on System -> Preferences -> Startup Applications and click Add. Enter following
Name: Fujitsu Touchscreen Auto-Rotation Command: /usr/bin/fujitsu-touchscreen-rotate.py Comment:
Click Add and Close the preferences dialog.
Finally, reboot the system.
Enter the BIOS and make sure that the setting Advanced -> Miscellaneous Configurations -> Touch Panel Setting is set to Tablet, ie. the same setting that is required to use the Tablet functionality in Win XP Tablet, Vista or Seven.
3.1. Calibrating the touchscreen
Once the system has booted and you are back on the Gnome desktop, start a Terminal session and run
fujitsu_touchscreen_calibration.py
to calibrate the touchscreen. Click on any corner of the visible screen (repeat a few times) and press the S key to save the settings.
3.2. Configuring the Right-Click feature
In order to get the feature “right-click by press and hold” go to System -> Preferences -> Mouse, click the tab “Accessibility” and check the option “Trigger secondary click by holding down the primary button“.
4. Fixing the repeating sound issue
If you are experiencing the Ubuntu startup jingle repeating over and over again, the snd_hda_intel module might have problems coping with the ALC269 chip in your device. In this case run the following command:
sudo gedit /etc/modprobe.d/alsa-base.conf
and add the following line to the end of the file:
options snd-hda-intel enable_msi=0
Save and finally reboot the system.
Great job putting it all together. Which OS did you replace Vista? Win7? How would you rate the performance of the Ubuntu compared to Windows? Any major faults with the installaton (How big is your todo list)? Did you try Joliecloud or PixieLive distros first? How do they compare? I just thought I’d ask before blowing away the sluggish Win7 on my U2010. Thanks.
I am dual booting Win 7 and Ubuntu. The graphics performance in Ubuntu is still sub-par. Especially with the rotated screen it gets really slow as the rotation seems to be done solely in software. All in all the general performance in Ubuntu is good. Some things are faster than in Win 7, some not. I did not try any other Linux distro, I doubt the graphics performance is better there. Intel should get its act together and finally release decent graphics drivers for Linux and Windows. The PowerVR SGX 535 graphics core in the Poulsbo chipset is essentially the same core as used in the newer iPhones, Nokia N900 and most Android phones and the performance there is great. I still don’t get why it is so hard for Intel to improve the graphics drivers. IMHO there is still a lot of potential unused…
For the time being my main OS on the Fujitsu U2010 will be Win 7 with Aero turned off.
don’t know if you’ll reply this site is great help for my U1010
but i’m still having some trouble with certain parts.. when i run
usb-touchscreen
sudo make install..
i get an error that says Device/org/freedesktop/Hal/Devices/usb_device_430_530_noserial_if0 not found [fail]
Also for my screen buttons only the rotate button works, the lights don’t work and autorotate doesn’t work
Works on a Fujitsu P1620 Thanks!
However the screen calibration only works in one screen orientation. If I close the tablet, the button driver rotates the screen in slab mode and the screen calibration is totally off. Any suggestion on how to solve this issue?
@pwong: I am not entirely sure but from the error message it reads like your Ubuntu is using another touch screen driver already.
What is your BIOS setting for “Touch Panel Setting”? Mine is “Tablet”. If I run in “Touch Panel” mode, the fujitsu_usb_touchscreen module will not be loaded and initialized and it will throw a similar HAL error.
The keyboard lights require a different driver I think. I haven’t touched on this topic yet. There are some instructions here:
http://spareinfo.blogspot.com/2010/07/linux-on-fujitsu-u810-u820-keyboard.html
@Marco:
Not sure about this one either. You probably want to check out the original authors site for advice:
http://spareinfo.blogspot.com/2010/07/linux-on-fujitsu-u810-p1620-t1010.html
I was trying above mentioned steps on my FUJITSU T4010 tablet, however fjbtndrv_2.2.0.3-real2.2-2~maverick button driver seems to be working fine apartfrom “screen rotation”. When tried with the new driver “fjbtndrv-2.2.1.tar.gz”, nothing is working now. Screen rotation, function and Alt buttons near LCD screen. Now i am not sure how to go back and remove all drivers.
Any help would be really appreciated.
Thanks
Dhiman.
Screen rotation button not working, if i press rotation button, stylus pointer moves some other direction. only solution i found is to reboot the Tablet. Earlier version “fjbtndrv_2.2.0.3-real2.2-2~maverick” worked with FN & ALT button, upon pressing the button, FN.. & ALT.. dispayed on screen. After up-gradation of the driver to “fjbtndrv-2.2.1.tar.gz” all three buttons are not working. Any help!!
Thanks! You’re the only place I could find with an effective fix to the sound loop.
i tried your instructions for a st5010 but got error messages because it is a serial (not usb) connected wacom touchscreen. is there a version of the utilities for serial? where do i get it from?
here my error messages – in case my interpretation is wrong that the serial/usb difference is the cause:
* Starting loading fujitsu_usb_touchscreen module fujitsu_touchscreen /etc/init.d/fujitsu_touchscreen: 102: /usr/bin/lshal: not found
Fujitsu touchscreen driver: ERROR [ERR1] – Device /org/freedesktop/Hal/devices/usb_device_430_530_noserial_if0 not found
[fail]
if test ! -f /etc/hal/fdi/policy/fujitsu_usb_touchscreen.fdi; then /usr/bin/fujitsu_touchscreen_helper writecalibrate 124 266 3827 3940 ; fi
fujitsu_usb_touchscreen::error::parameter not available [/sys/module/fujitsu_usb_touchscreen/parameters/touch_minx]
fujitsu_usb_touchscreen::error::parameter not available [/sys/module/fujitsu_usb_touchscreen/parameters/touch_miny]
fujitsu_usb_touchscreen::error::parameter not available [/sys/module/fujitsu_usb_touchscreen/parameters/touch_maxx]
fujitsu_usb_touchscreen::error::parameter not available [/sys/module/fujitsu_usb_touchscreen/parameters/touch_maxy]
fujitsu_usb_touchscreen::error::cannot create file [/etc/hal/fdi/policy/fujitsu_usb_touchscreen.fdi]
ERROR: Module fujitsu_usb_touchscreen does not exist in /proc/modules
I got auto rotate and calibration to work excellent, touchscreen works in all orientations, only problem is when rotated left or right mouse pointer goes off in some weird inverted direction. when in normal or upside down orientation the pointer works properly for that orientation. Any suggestions?
had the same issue as andrew, installing hal in synaptic made the installation run smoothly.
@Matt, you can rotate and swap the mouse axes with:
xinput set-prop ‘PS/2 Generic Mouse’ ‘Evdev Axes Swap’ 1
xinput set-prop ‘PS/2 Generic Mouse’ ‘Evdev Axis Inversion’ 0 1
setting:
xinput set-prop ‘PS/2 Generic Mouse’ ‘Evdev Axes Swap’ 0
xinput set-prop ‘PS/2 Generic Mouse’ ‘Evdev Axis Inversion’ 0 0
returns axes to their normal state.
Hey thanks for this wonderful how to.
The usb touch screen driver won’t compile on natty, I’ve patched it and put it on here:
https://bitbucket.org/cybergene/fujitsu-usb-touchscreen
“installing hal in synaptic”
I’m a complete novice at linux and I’m trying to get the touchscreen to work on my P1610 running Joli OS. I’m having the same problems as pwong and andrew. Could someone please elaborate on what the above quote from assumer means? Thank you very much!
I tried to do it in Zorin 5 but i had no luck… What to you recommend?