Installing Ubuntu 12.04 (Precise Pangolin) on Fujitsu U820, U2010, U2020

Ubuntu 12.04 has been released almost a month ago and I thought I revive my semi-benched U2010 to see how the hardware support has improved in this new release of Ubuntu.

First off, if you are installing Ubuntu 12.04 and are getting the dreaded black screen issue, follow the Ubuntu Wiki here. Make sure to also install the fix to get suspend/sleep and hibernate working with the new psb_gfx driver.
After the installation you will have to make some minor adjustments to get everything working on the Fujitsu U820/U2010:

/etc/modprobe.d/blacklist.conf

blacklist poulsbo
blacklist fujitsu_laptop

The first line disables the stub driver, the second line makes sure you can actually use the backlight keys (fujitsu_laptop conflicts with the psb_gfx driver).
The enable_msi fix in /etc/modprobe.d/alsa-base.conf is no longer required. The sound will work just fine without it.

To get the microphone working I had to add the following line in /etc/modprobe.d/alsa-base.conf:

options snd-hda-intel model=laptop-amic probe_mask=1

The headphone jack sensing/detection is flacky in this new release. Switching between the headphone jack and the internal speaker will only work after the audio card goes into power-saving mode, ie. a few seconds after the last audio output closed.

/etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 acpi_osi=Linux acpi_backlight=vendor nmi_watchdog=0"

quiet console=tty1 is the recommended workaround for the black screen issue of the new psb_gfx driver in 12.04.
acpi_osi=Linux acpi_backlight=vendor is required to get the backlight controls working.
nmi_watchdog=0 disables the NMI watchdog responsible for detecting a hung system and might issue a reboot. According to Intel PowerTOP this option saves power by producing less wake-ups.

Finally update the bootloader via:

sudo update-grub

2. Installing the Fujitsu Buttons driver (fjbtndrv)

In order to get the screen buttons working we will need to compile and install the latest version of fjbtndrv.
The most current version as of this writing is 2.3.2. Please make sure you download the latest version here.

sudo apt-get install libxrandr-dev libxtst-dev libxi-dev libhal-dev
tar xvzf fjbtndrv-2.3.2.tar.gz
cd fjbtndrv-2.3.2
./configure
make
sudo make install

3. Calibrating the display

The touch screen has been supported for several kernel and Ubuntu versions already. The big problem always was the missing calibration tool. Luckily a calibration is now available in form of xinput-calibrator. At last special drivers are no longer required.

sudo apt-get install xinput-calibrator
sudo mkdir -p /etc/X11/xorg.conf.d
xinput_calibrator

Calibrate the display and save the output to /etc/X11/xorg.conf.d/99-calibration.conf
Here is my calibration config:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "Fujitsu Component USB Touch Panel"
        Option  "Calibration"   "58 3877 249 3830"
EndSection

Known problems:

  • Headphone jack detection does not work as expected
  • System freezes when idling, but wakes up again once an interrupt is triggered (e.g. keyboard, mouse, touchscreen etc.). This mostly happens when I am simultaneously using a Bluetooth mouse or a Bluetooth Dialup connection. I have not been able to pin-point or fix the issue yet.
  • Screen rotation is not working with the psb_gfx driver
  • Note to self: Newer versions of the psb_gfx driver are called gma500_gfx

4 Responses to “Installing Ubuntu 12.04 (Precise Pangolin) on Fujitsu U820, U2010, U2020”

  • Butter Says:

    Thank you for your tips. And I have installed the Ubuntu 12.04 on u2010, and it works good. But there is a problem that the screen is always blinking and how can I deal with? Thanks~

  • butter Says:

    I fond the screen refresh rate is 0 by xrandr commend and I fail to set up refresh rate. How can I deal with? Thank you!

  • Butter Says:

    I find the screen refresh rate is 0 by xrandr commend and I fail to set up refresh rate. How can I deal with? Thank you!

  • Mau Says:

    Hi,
    a workaroud to blinking = set the desired brightness and then remove write permision to file.
    You can do it executing this as root:
    echo 6 >/sys/class/backlight/acpi_video0/brightness;chmod u-w /sys/class/backlight/acpi_video0/brightness

Leave a Reply

*