Installing Ubuntu 10.10 (Maverick Meerkat) on Fujitsu U820, U2010, U2020

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.

17 thoughts on “Installing Ubuntu 10.10 (Maverick Meerkat) on Fujitsu U820, U2010, U2020

  1. 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.

  2. 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.

  3. 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

  4. 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?

  5. @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

  6. 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.

  7. 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!!

  8. 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

  9. 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?

  10. had the same issue as andrew, installing hal in synaptic made the installation run smoothly.

  11. @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.

  12. “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!

  13. Pingback: techblaze

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.