Showing posts with label screen. Show all posts
Showing posts with label screen. Show all posts

2010-10-18

Linux on a Fujitsu U810, P1620, T1010 - Ubuntu 10.10 Maverick

Last week I upgraded to latest Ubuntu, Maverick 10.10.

Everything seems fine; Ireally suggest anyone of you with a u810 to upgraded asap.

- external monitor: works great

- suspend/resume: works great

- touchscreen: uhm ... the touch driver failed working. As pointed by nerd65536 and mifa (thanks for the fast fix), just with a small modification everything is working again.


So please find here the latest version of the driver !!

Also, following the suggestions from nerd65536, this version fixes the driver problem on suspend/restart, and README instructions are improved.

2010-07-20

Linux on a Fujitsu U810, P1620, T1010 - Touchscreen IX

Following the request from several users, and a little bit late, I have adapted the driver to work on systems with kernel-compiled usbhid module.


The problem was that, in certain cases (fedora and other distributions) the usbhid module is compiled in the kernel, not compiled as a module. In these cases, the prior script that performs the correct binding of the device to the fujitsu_usb_touchscreen module was not working. Also, the previous script, even it was working, was not very polite and was not following correct computer initialization procedures.

You can find the new driver here.

To follow installation instructions, go read this previous post.

2009-11-16

Linux on a Fujitsu U810 - Upgrade to karmic koala

Yesterday I was brave enough to upgrade my reliable jaunty to an unpredictable karmic, so here are my results so far:

- touchscreen driver - works ok

I just reinstalled it just typing, with the latest version,

make clean
make
sudo make install

and it worked OK


- external monitor - I'm having some issues:

Update: also read this update

*) in order to have the monitor work, I have to plug it once ubuntu is started (was ok on jaunty)

*) my monitor is 1920x1200, the maximum I get is 1360x768 (was ok on jaunty)

I have just opened a bug in the video-intel group at xorg, https://bugs.freedesktop.org/show_bug.cgi?id=25115


- suspend/resume - works ok!

- fujitsu buttons driver (fjbtndrv) - works ok

- webcam - works ok!

2009-08-21

Linux on a Fujitsu U810, U820, P1620, P1630, T1010, B8260 - Touchscreen X

andrew, a reader of this blog, has posted a comment noting that this linux touchscreen driver also works on a fujitsu p1630, so p1630 owners, welcome to this blog!

2009-07-15

Linux on a Fujitsu U810, P1620, T1010 - Touchscreen VIII

Following a request from a user, I have adapted the driver to work on a Fujitsu T1010.

The problem was that, for an unknown reason, when running the calibration script, inside the driver code -1 was considered bigger than 94. I think that behavior must be because of some integer sign issues either because the new kernel, either because who knows; the truth is that this comparison works fine in my system, but doesn't on the T1010.

So, if you find that the calibration script doesn't work properly, then update to this newer version and try again.

Thanks to draco, for reporting the driver works on a T1010, for reporting the bug and letting me remote connect to his computer to debug the driver.

uname -a was:
Linux xxx 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 22:12:12 UTC 2009 x86_64 GNU/Linux


You can find the new driver here.

To follow installation instructions, go read this previous post.

2009-07-10

Linux on a Fujitsu U810 - X Graphics Performance

After upgrading to ubuntu 9.04, and setting up the latest intel video driver repository to be able to work with an external monitor, I was fiddling a little with some internal-external monitor.

Then, some days later, I notice I was experiencing X was extremely slow; when running glxgears, I was getting about 60fps, scrolling a web page on firefox was flickering, and I was a little on misery. I thought that was the price, so I've been like that for one month.

But yesterday it was enough!

I send the 'grep 'EE' /var/log/Xorg.0.log' command, and I saw the following error in the X log file:

intel(0): Cannot support DRI with frame buffer width > 2048

So after some googling, what I did was to look at the xorg.conf file. For some unknown reason to me, I had the following

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Virtual 5094 2048
EndSubSection
EndSection

So after restoring the Virtual values to 2048 2048, and restarting X, now graphics was much improved!!

Now glxgears gives me 530fps, a x10 increase in performance, and it really is much more responsive!!

I found some other suggestions in the net that didn't work:

- include Option "AccelMethod" "xaa" -> the computer hung
- include the command export INTEL_BATCH=1 to my .bashrc -> no effect

I have to investigate these other suggestion found:

Option “PageFlip” “true”
Option “TripleBuffer” “true”
Option “XvMC” “true”
Option “XvMCSurfaces” “7″

I'll update this post once I test this options.

2009-05-27

Grab and Drag extension for Firefox

A month ago I read about a firefox extension that would help screen panning for touchscreen users.

Since touchscreen in my u810 was not working, I had to first make the touchscreen work, thus I programmed the fujitsu_usb_driver.

So that, last week I installed this extension, which can be found here.

I've been using it during all this last week, and I can tell you that it works very well, it's reliable, and I find it very useful. So that, I recommend you to try it if you use a touchscreen tablet computer.

I find it so useful that I even use it when using an external mouse!

Don't hesitate to go to its website and take a look at the screenshoots.

P.D.- I have not any relationship with the developer(s) whatsoever, just talking as a normal user for this plugin...

2009-05-19

Linux on a Fujitsu U810, P1620 - Touchscreen VII

New update of the touchscreen driver package: the driver was not working ok when the screen was rotated.

I think that now, accuracy is good in all screen orientations.

Follow the instructions in this earlier post for download and installation.

2009-05-15

Linux on a Fujitsu U810, P1620 - Touchscreen VI

Update 2009.05.19: new version available here!!

Following the feedback from a user complaining about the module not compiling under linux kernel 2.6.30, I'm releasing this new version, 0.3.3, which includes the following improvements:

- compiles under 2.6.30
- installation does not override previous calibration values, if exist
- more robust /etc/rc.local, to make sure the module is loaded before usbhid

If you have it already working, you can forget about this update; this update is for people having trouble with installation or compilation, but does not provide any new functionality.

2009-05-14

Linux on a Fujitsu U810, P1620 - Touchscreen V

Update 2009.05.19: new version available here!!


Update 2009.05.16: updated the link to the package with the newer version. See this post for details.


As pointed by one user, when doing screen rotation pen accuracy was not good.

I have reviewed the code and come up with a new version, where I think coordinates calculation is OK now (I think the previous code was a leftover for when I had my screen not well calibrated ...)

So, download the new package and follow the instructions detailed in this previous post.

Please, report your feedback on this new version and calibration values !!

2009-05-12

Linux on a Fujitsu U810, P1620 - Touchscreen IV

Update 2010.10.18: new version available here!!


Update 2010.07.20: new version available here!!


Update 2009.07.15: new version available here!!


Update 2009.05.19: new version available here!!


Update 2009.05.14: there's a new version of the code in this post. I have also updated the link in this post.

Uhm.. good news for everyone listening ... (is there anyone?)

I finally managed to create a simple enough method for using and calibrating the touchscreen on a Fujitsu u810 (aka u1010), u820 (aka u2010) or p1620.

I think the steps are simple and easy.

To install, download this package (update: latest version here, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.8), uncompress it into a temporary directory, and follow the instructions included in the README file, which I copy here:


Fujitsu usb touchscreen kernel module and utilities v0.3.8
by zmiq2 ,
updated for Ubuntu maverick (10.10) by nerd65536 , Mon, 18 Oct 2010 18:19:33 +0200,


The goal of this project is to produce a useful linux kernel and utilities to use the
fujitsu usb touchscreen included in tablet laptops like the U810 (aka u1010, u820),
the P1620 and the T1010.

This driver has been tested and proved working on a Fujitsu U810 - 32bit, on a
Fujitsu P1620 - 64bit and on a Fujitsu T1010 - IA64bit.

For other authorship information, see copyright.



INSTALLATION

Installation steps detailed here are based on ubuntu linux distributioni 10.10. It might
be different in your system, but they certainly are very easy to adapt to any other
distribution.

Drop me an email if you have trouble installing the package.

0 set your computer BIOS to use the touchscreen in 'tablet' mode
this is the mode also used by windows, and provides very sharp touchscreen accuracy

1 download the package file to any directory

$ mkdir fujitsu_touchscreen_driver
$ cd fujitsu_touchscreen_driver
$ wget http://

2 uncompress the package
$ tar zxvf fujitsu-usb-touchscreen-0.3.8.tar.gz
$ cd fujitsu-usb-touchscreen-0.3.8

3 install the software
$ make
$ sudo make install
(at this last step you'll be asked for your password to install certain software as root user)

4 setup a startup application for automatic touchscreen rotation
ubuntu hardy (8.04)
once logged into gnome, go to System -> Preferences -> Sessions, and go to the 'Startup Programs' tab, and Add to automatically start /usr/bin/fujitsu_touchscreen_rotate.py at login

ubuntu jaunty (9.04), ubuntu karmic (10.04), ubuntu maverick (10.10)
once logged into gnome, go to System -> Preferences -> Startup Applications. Click Add.
under "Command:", type: "/usr/bin/fujitsu_touchscreen_rotate.py". Click OK.
on your next login, the rotation service will be active.

And you are done!!!

NOTE: you'll need to repeat step 3 every time you upgrade your linux kernel to a new version.



TOUCHSCREEN CALIBRATION

If you feel that the touchscreen is not accurately calibrated, i.e. when tapping the screen,
the cursor appears in a different spot, run the provided calibration tool.

Calibration must be done when screen is in normal orientation; calibration done in this mode
will make the touchscreen work in all orientations; do not calibrate the screen while rotated!


Open a terminal and type:

$ fujitsu_touchscreen_calibration.py


The terminal will start the calibration software. With the laptop stylus, click
several times on each of the four corners of the viewable screen, not the corners of the
hardware screen. When you see that the line "last read" doesn't change after clicking
on the corners, just press S to save the settings and quit.

While in the calibration tool, you can press R to reset current calibration procedure,
or press Q to quit without applying any changes.

After calibration you can see your calibration values by running the following command in
a terminal window:

$ dmesg | grep fujitsu_usb_touchscreen | grep loaded

Please report your computer model and calibration values at spareinfo.blogspot.com to
share with other users.



OTHER SETUP - SCREEN ROTATION

In order to have the touchscreen automatically rotate when rotating the screen, I
suggest you also install the fjbtndrv driver package from the ppa.launchpad.net. With
this package, when pressing the rotate-screen hardware button in the screen bezel in a
U810, the display will rotate and the touchscreen will act accordingly.

$ sudo add-apt-repository ppa:khnz/ppa
$ sudo apt-get update
$ sudo apt-get install fjbtndrv



OTHER SETUP - RIGHT CLICK ON LONG PRESS

In order to have a long-press act as a right-click, configure gnome assistive
technologies to do so:

1 Enable Assistive Technologies
ubuntu hardy (8.04)
in gnome, go to System -> Preferences -> Assistive Technologies and select the
'Enable assistive technologies' check

ubuntu jaunty (9.04) through ubuntu maverick (10.10)
in gnome, go to System -> Preferences -> Assistive Technologies and select the
'Mouse Accesibility' option to get into the details

2 Enable right click
ubuntu hardy (8.04), ubuntu jaunty (9.04) through ubuntu maverick (10.10)
in gnome, go to System -> Preferences -> Mouse, then go to Accessibility tab, and
select the 'Trigger secondary click by holding down the primary button' option

2009-04-29

Linux on a Fujitsu P1620 - Touchscreen

update 2009.05.12: see this newer post: Linux on a Fujitsu U810, P1620 - Touchscreen IV


After having a reader asking me for the u810 touchscreen driver for his Fujitsu P1620, yesterday we made some tests and, good news!!

The driver works, even it needs some calibration parameters adjustments.

It works on a Fujitsu P1620 with ubuntu 9.04 (Jaunty) 64bits !!

We'll do some more testing but I hope to post a new version of the driver that will work for both P1620 and the U810, so stay tuned to have your screen 100% functional!!

2009-04-20

Linux on a Fujitsu U810 - Touchscreen III

Update 2009.05.12: see this newer post:
Linux on a Fujitsu U810, P1620 - Touchscreen IV


This is a replacement of my previous entries on how to get the touchscreen working; please forget about previous posts (I and II), which works better and it's easier to install and maintain.

In order to have the touchscreen working, here's the final solution where:
  • the point precision is very sharp
  • works with standard Xorg drivers
  • works after suspending / resume cycle without trouble
  • works after rotating the screen
  • works even with an external monitor connected, so the touchscreen is remapped to fit the whole screen area
  • works very nicely for clicking as well as for ink-painting/writing with ink software like xournal !!!
The solution include these steps:
  1. configure bios to tablet mode
  2. install a kernel module: u810_tablet
  3. copy two files to make the u810_tablet module load correctly at boot and when X loads
  4. install one python script and one small c program to have the touchscreen work correctly after rotation

1. configure bios to tablet mode

go into bios and select touchscreen to work in tablet mode


2 install a kernel module: u810_tablet

Latest version: 0.2.4 (2009.04.20)

Download the source code for the u810_tablet kernel module, or just download the already compiled one (for ubuntu 9.04, kernel 2.6.28).

To compile the module:

- make sure you have the linux development environment installed; I would suggest to install the packages using synaptics package manager, and select linux-headers, gcc

- uncompress the downloaded file, cd to the newly created directory and just type
# make

and as root,
# make install


To just install the already compiled module (if you compiled the module, you don't need to follow this step):

as root, copy the module file (u180_tablet.ko) to /lib/modules/`uname -r`/extra/
# cp u810_tablet.ko
/lib/modules/`uname -r`/extra/

as root, run depmod command
# depmod -a


3 copy or edit two files to make the u810_tablet module load correctly at boot and when X loads

In order to have the module load correctly at boot, as root edit the file /etc/rc.local and insert the following lines at any place (you can download rc.local here):

# Correct u810_tablet module load - start
# Author: zmiq2
# Info: spareinfo.blogspot.com

MODPATH=/sbin
RMMOD=$MODPATH/rmmod
MODPROBE=$MODPATH/modprobe

. /lib/lsb/init-functions

log_action_begin_msg "Starting u810_tablet module load"
log_progress_msg " u810_tablet module load:unload usbhid"
$RMMOD usbhid
log_progress_msg " u810_tablet module load:load u810_tablet"
$MODPROBE u810_tablet
log_progress_msg " u810_tablet module load:reload usbhid"
$MODPROBE usbhid
log_action_begin_msg "Finished u810_tablet module load"
log_end_msg 0
# Correct u810_tablet module load - end

In order to have the windowing system recognize the module, copy this file as /etc/hal/fdi/policy/u810_tablet.fdi.


4 install one python script and one small c program to have the touchscreen work correctly after rotation

Download u810_rotate_helper and u810_rotate.py.

as root,

- copy both files to /usr/bin

- make u810_rotate_helper suid:
# chmod +s /usr/bin/u810_rotate_helper


Source code for u810_rotate_helper is here. You can easily compile it yourself just running the command
gcc u810_rotate_helper.c -o u810_rotate_helper
.


Activate u810_rotate.py to start when you log into gnome

Once logged into gnome, go to System -> Preferences -> Starup Applications and add /usr/bin/u810_rotate.py to start when you log in


Reboot and enjoy the touchscreen !!

I can recommend xournal, gournal as hand-writing note taking applications (no handwriting recognition though).

You'll need to repeat step 2 every time there's a new kernel version (like if you change from 2.6.28 to 2.6.29) but not if you just stick to the same ubuntu release (where usually kernel version after upgrade goes from 2.6.28-8 to 2.6.28-11).


Pending tasks

- autorotate integrated mouse-pointer coordinates when screen is rotated. That should be easy....

- configure evdev to handle long-press as right-mouse click


If you installed a previous version detailed in a previous post

- restore your initramfs:
make sure u180_tablet is not in /etc/initramfs-tools/modules file; if it was before, remove it and as root run the command # update-initramfs -u 'all'

- restore your acpi-support file
make sure u810_tablet is not included in in the MODULES variable in /etc/default/acpi-support file


Developer notes

- currently if using rotation using xinput facilities with evdev module does not work properly, even there's a bug fix already tested that suggests that it should work, so rotation is made by the driver

- u810_tablet module parameters
orientation=normal:0|right:1|inverted:2|left:3
maxx,maxy,minx,miny (when normal)
printpos=0|1, to print via /var/log/kern.log x/y coordinates, for debugging

2009-04-15

Linux on a Fujitsu U810 - Touchscreen II

2009.04.20 update: disregard this entry and go to read the better Linux on a Fujitsu U810 - Touchscreen III



The rest of this entry is obsolete.

This is a follow up of this previous entry, so make sure you read both!

1 Source code for u810_tablet kernel module

You can find here the source code for the u810_tablet kernel module. I'm willing to update it with any suggestions or improvements anyone may suggest.

Latest version: 0.2.3 (2009.04.15)

To compile the module:

- make sure you have the linux development environment installed; I would suggest to install the packages using synaptics package manager, and select linux-headers, gcc

- uncompress the downloaded file, cd to the newly created directory and just type
# make

and as root,
# make install

To load the new module, just unload the old one and load the new one:
as root:
# rmmod u810_tablet
# modprobe u810_tablet

To have the module load correctly on boot, follow step 3 described in this previous post

Read Developer Notes at the end of this post for some module parameters documentation


2 regarding step 4 of this previous entry, i have found that:

- using the evdev module, xournal works very well but the module doesn't work as expected, since last clicked coordinates remain in memory, so when you lift the pen and press in another area, the computer thinks you selected the whole area

- using the evtouch module, the touchscreen also works very well, but for an unkown reason xournal does not work; I haven't tried any other inking software

I'm currently investigating this issue because in both causes there are annoying effects.

- in order to have the u810_tablet work with xorg-evdev module, use this file as /etc/hal/fdi/policy/u810_tablet.fdi

- in order to have the u810_tablet work with xorg-evtouch module, use this file as /etc/hal/fdi/policy/u810_tablet.fdi


It is interesting to play with "System -> Preferences -> Mouse -> Accessibility Tab -> Trigger secondary click by holding down the primary button" option when working with evdev module, to make a long press act as right-click.


Developer notes

u810_tablet module info

- parameters
orientation=normal:0|right:1|inverted:2|left:3
maxx,maxy,minx,miny (when normal)
printpos=0|1, to print via /var/log/kern.log x/y coordinates, for debugging


$ ls -l /sys/module/u810_tablet/parameters/
total 0
-rw-r--r-- 1 root root 4096 2009-04-15 20:02 orientation
-rw-r--r-- 1 root root 4096 2009-04-15 20:02 printpos
-rw-r--r-- 1 root root 4096 2009-04-15 20:02 touch_maxx
-rw-r--r-- 1 root root 4096 2009-04-15 20:02 touch_maxy
-rw-r--r-- 1 root root 4096 2009-04-15 20:02 touch_minx
-rw-r--r-- 1 root root 4096 2009-04-15 20:02 touch_miny

To change touchscreen orientation
# echo "1" > orientation

Linux on a Fujitsu U810 - External Monitor II

update - 2009.05.07 - please disregard this post and go to the newer and better solution at Linux on a Fujitsu U810 - External Monitor III



This post is a follow up of my previous posts here and here.

As of today, 2009.04.15, ubuntu jaunty 9.04 xorg intel video driver package still does not include the patch that makes external monitor working. I hope next release will include it, since today's latest ubuntu version takes up to 2009.02.28's changes, while our desired patch was included in 2009.03.05 !!

In order to have the external monitor working now, without worries, follow these steps:

1 download this debian package (see note below for details on how I made the package)

2 install the package

as root, execute
# dpkg -i xserver-xorg-video-intel_2.6.1-1ubuntu1zmiq1_i386.deb

(you may see some messages regarding you are downgrading the package's current version, but it doesn't matter as this is a temporary solution)

3 make sure your /etc/X11/xorg.conf file is like

Section "Device"
Identifier "Configured Video Device"
Option "SDVOBOutput" "VGA-1"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"

SubSection "Display"
Virtual 2048 2048
EndSubSection
EndSection


(note the line Option "SDVOBOutput" "VGA-1")


4 reboot

Done!!

Since the FN+A keyboard shortcut does not work to switch the external monitor on / off, see this tip to have fast switching between external monitor on/off just pressing the brigthness-up button.

note: you must run step 2 every time you upgrade the video-intel driver module using ubuntu's update manager, since it will install an old unpatched version; you may also unselect the xorg-xserver-video-intel driver package from the packages list, so it doesn't overwrite your hand-installed package


Developer notes

The package posted above does not include any harmful stuff, but of course I'm not responsible of anything, it is provided as it is, blah blah blah...

I created the package downloading the ubuntu xorg intel driver available on 2009.01.23 (xserver-xorg-video-intel_2.6.1-1ubuntu1), and I applied the already available patch at that time.

I tried to do the same today, based on the latest 2.6.3 version and applying the current patch (which is different to the patch I applied to 2.6.1), but I haven't succeed and I don't want to spend more time fiddling since I hope soon ubuntu driver will have the patch included.

The patch available today is not the same as the one I used, but the one I used works anyway!

The steps I followed are:

1. get all code from repositories, as well as latest intel driver code, which already includes the patch

apt-get source xserver-xorg-video-intel
apt-get build-dep xserver-xorg-video-intel
apt-get install devscripts


2. apply the patch
cd xserver-xorg-video-intel-VERSION
(I cannot remember the exact command, something like patch < ....)

3. build the package
dch -l zmiq "Xorg-intel patched for external monitor on u810"
dpkg-buildpackage -b
dh_builddeb

4. install the created package
now you should have a file named like

xserver-xorg-video-intel_2.6.1-1ubuntu1zmiq1_i386.deb

2009-04-07

Linux on a Fujitsu U810 - Touchscreen

2009.04.20 update: disregard this entry and go to read the better Linux on a Fujitsu U810 - Touchscreen III

The rest of this entry is obsolete !!



Having the touchscreen working is what involved more work.

Fast steps to have touchscreen working:

1. bios setup

go into bios and select touchscreen a tablet mode
In tablet mode the touchscreen works well both in windows and linux

I know most other sources tell to select touchscreen mode; but my method works great with tablet mode, as well as touch sensitivity is very sharp in all screen areas


2. download the u810_tablet kernel module and install it

Detailed information about the u810_tablet kernel module can be found here (TBD).


- get the module here

as root:

- copy the module to /lib/modules/`uname -r`/extra/
# cp u810_tablet.ko
/lib/modules/`uname -r`/extra/

- run depmod command
# depmod -a

- make sure u810_tablet handles acpi properly, to have ssuspend/resume working

edit the file /etc/default/acpi-support

to include the following
# Add modules to this list to have them removed before suspend and reloaded
# on resume. An example would be MODULES="em8300 yenta_socket"
#
# Note that network cards and USB controllers will automatically be unloaded
# unless they're listed in MODULES_WHITELIST
MODULES="u810_tablet"


3. make sure u810_tablet module is loaded before any other module, specially before usbhid

as root:

- edit file /etc/initramfs-tools/modules to look like:
# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
u810_tablet
- update your initram file to have the u810_tablet module load the very first one

# update-initramfs -u 'all'

=> note: I'm trying to find another way to have u810_tablet module loading before usbhid module; playing with modprobe.conf files didn't work as expected, but I need to do more testing

=> you need to do this every time you upgrade your kernel either with ubuntu's update manager tools or manually


4 configure X to read data from u810_tablet module

Notes about the method described to have the touchscreen working:

- I have noticed that in tablet mode, calibration is not needed; default parameters included in the following files should work as expected

- many methods in the web make us of evtouch x driver; this method works with evdev x driver, so forget anything you may have read before for setting up the touchscreen

- this method makes use of the automatic hardware discovery funcionality included in latest ubuntu, so the xorg.conf file doesn't need to have anything configured. Everything is setup on-the-fly

as root:

create the following file
/etc/hal/fdi/policy/u810_tablet.fdi


<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.product" contains="Fujitsu Component USB Touch Panel">
<merge key="input.x11_driver" type="string">evdev</merge>
<merge key="input.x11_options.MinX" type="string">130</merge>
<merge key="input.x11_options.MinY" type="string">250</merge>
<merge key="input.x11_options.MaxX" type="string">3820</merge>
<merge key="input.x11_options.MaxY" type="string">3920</merge>
<merge key="input.x11_options.MoveLimit" type="string">0</merge>
<merge key="input.x11_options.ReportingMode" type="string">Raw</merge>
<merge key="input.x11_options.SendCoreEvents" type="string">True</merge>
<merge key="input.x11_options.TapTimer" type="string">90</merge>
</match>
</device>
</deviceinfo>

download the file here


5 install two small programs to auto-rotate touch coordinates when screen is rotated

- download u810_rotate_helper and u810_rotate.py

as root,

- copy both files to /usr/bin

- make u810_rotate_helper suid:

# chmod +s /usr/bin/u810_rotate_helper


6 activate u810_rotate.py to start when you log into gnome

Once logged into gnome, go to System -> Preferences -> Starup Applications and add /usr/bin/u810_rotate.py to start when you log in


7 reboot

Reboot and enjoy the touchscreen !!

I can recommend xournal, gournal as hand-writing note taking applications (no handwriting recognition though)


8 pending tasks

- autorotate integrated mouse-pointer coordinates when screen is rotated. That should be easy....

- configure evdev to handle long-press as right-mouse click

- work out another method to have u810_tablet module properly loaded without messing with initramfs
need to confirm this:
"I can confirm blacklisting usbhid worked for me. I simply made a blacklist entry for usbhid an
d then in /etc/modules I loaded bcm5974 and then usbhid.

That way usbhid still gets loaded, but after bcm5974"

- make sure u810_tablet can handle suspend/resume without including in in the MODULES variable

- post source code: I need to make small cleaning as well as include copyright stuff. Just give me a couple of days ...

- any other?


debugging tools

- once the u810_tablet module is loaded, you should see the device created in
/dev/input/by-id; if the device doesn't appear here after loading the module, don't go any further and solve it

- to verify coordinates:
xinput --list
xinput test 3 and verify coordinates match max/min x/y

- to verify hal has identified the device
lshal -u /org/freedesktop/Hal/devices/usb_device_430_530_noserial_if0_logicaldev_input

hal-find-by-capability --capability input | xargs -I{} hal-device {}


some helpers and tools

xinput list



some old notes

when using a non-working module
xinput --list-props "EVTouch TouchScreen"
xinput get-button-map "EVTouch TouchScreen"
xinput query-state "EVTouch TouchScreen"
xinput test "EVTouch TouchScreen" => doesn't receive coordinates well

Linux on a Fujitsu U810 - External Monitor

external monitor

External resolution goes up to 1920x1600, which is better than the external resolution achieved under windows using the original fujitsu video driver.

As of 2009.03.31, video driver intel (xserver-xorg-video-intel) provided by ubuntu jaunty release does not include a patch that makes external monitor to function as expected. This problem was not present on ubuntu 8.04, so you might prefer to stay with 8.04 until ubuntu includes that fix.

update - 2009.05.06: please see this other post, since there's a way to obtain the package with the patch included!


The bug is: https://bugs.freedesktop.org/show_bug.cgi?id=17823

and the patch is already submitted:

2009-03-05 SDVO: handle multifunction encoder (try 2) Zhenyu Wang 1 -65/+160

If you want to have external monitor working you must apply the patch by yourself; otherwise, wait until ubuntu maintainers include the patch in the official release.

See this other post about notes how to apply the patch yourself.

Update (2009.04.15): See this other post about how to install a patched driver or install the patch yourself.

I'm monitoring when the patch is included, and I'll update this page accordingly; analyzing current patch speed, I expect this patch to be included by 2009.04.20.


external monitor switch hack

Since the Fn+A button doesn't work as expected to activate external monitor, I suggest to take advantage of the brightness-up button (Fn+D) to have the computer switch between the LCD and the external monitor.

In order to do so, as root edit the file /etc/acpi/video_brightnessup.sh to look as follows:


/etc/acpi/video_brightnessup.sh

#!/bin/sh

test -f /usr/share/acpi-support/key-constants || exit 0

. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_BRIGHTNESSUP

logger "auto screen selection"
X_USER=$(w -h -s | grep ":[0-9]\W" | head -1 | awk '{print $1}')
export DISPLAY=:0.0
export XAUTHORITY=/home/$X_USER/.Xauthority
if [ -e /tmp/xrandr.auto ]
then
logger "activating lvds"
rm -rf /tmp/xrandr.auto
/usr/bin/xrandr --output VGA-1 --off >> /tmp/xrandr.auto.log 2>&1
/usr/bin/xrandr
sleep 1
/usr/bin/xrandr --output LVDS --auto >> /tmp/xrandr.auto.log 2>&1
else
logger "activating external"
touch /tmp/xrandr.auto
/usr/bin/xrandr --output LVDS --off >> /tmp/xrandr.auto.log 2>&1
/usr/bin/xrandr
sleep 1
/usr/bin/xrandr --output VGA-1 --auto >> /tmp/xrandr.auto.log 2>&1
fi




With this hack, external monitor switch always works either the external monitor is connected or not. If you want to bring screen brightness up without switching the screen, just use the brightness control provided by ubuntu.


other hints

- if you cannot get past 1024x1024 resolution on the external display, with the updated driver, verify that int he /etc/X11/xorg.conf file there's a line like
SubSection "Display"
Virtual 2048 2048
EndSubSection

- this is my /etc/X11/xorg.cong
Section "Device"
Identifier "Configured Video Device"
Option "SDVOBOutput" "VGA-1"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"

SubSection "Display"
Virtual 2048 2048
EndSubSection
EndSection


- commands to add a mode for a display

mode definition
xrandr --newmode "1920x1200@60" parameters

mode assignment
xrandr --output VGA-1 --addmode "1920x1200@60"

mode activation
xrandr --output VGA-1 --mode "1920x1200@60"

=> things to watch

- watch when ubuntu has the proper patch applied to xserver-xorg-video-intel (expected: sometime in 2009.04)

- watch when ubuntu properly detects the FN+A key to activate/deactivate external monitor (need to test as new ubuntu releases happen)