Automatic configuration using uinput


Please note this document is aimed at Linux systems using the uinput interface.

Starting with UPDD version 6.0.379 the kernel interface configuration aspects of setting up a multi-screen touch system using the uinput interface have been automated.

The actual monitor layout still needs to be manually specified but once that is correctly configured the kernel interface mapping, which can be quite difficult to be manually configured, is now automated.

This automation should work for a wide variety of scenarios, but due to the diversity of multi-screen implementations, both software and hardware based; this solution can not be guaranteed to work in all cases. In the event of an issue the manual setup procedure should be referenced. That said, the automatic approach is independent of the multi-screen implementation and as such should work in most scenarios.

Quick guide
These steps are intended for users familiar with UPDD configuration.
All that is necessary to configure uinput for a multi screen system is :

  1. Setup monitor segmentation, where required.
  2. For any screen associated with a Linux display other than :0 set the setting linux_display.n 
  3. Set the UPDD setting uinput.autoconfigure 
  4. Run the configure process 

Step by step guide
You will need to use the driver's command line interface throughout.

For clarity the bare commands are listed here, omitting the path and environment setup.

E.g. you might use the actual command  './upddenv ./upddutils monitors'

In this document we will refer to just 'upddutils monitors'

Determine the segmentation of the monitors 
In the simplest case each monitor listed will correspond to a physical screen and using the the upddutils command to list the monitors seen by the driver will match the number of physical monitors.

However in some cases, a listed monitor might actually describe the co-ordinate range of a number of physical screens. This would be the case for example if a hardware based video splitter is used. The xorg configuration or other 3rd party software or hardware can also give rise to such a configuration. UPDD refers to this as monitor segmentation.

In this example two monitors are connected each with resolution 640 x 480, but only one monitor is reported:

We describe this as a system having 1 logical monitor but 2 physical screens.

From the example above it can be seen that the system sees this as a single co-ordinate system with the second monitor having the co-ordinate range 
640,0 to 1279,478

You will need to refer to your system hardware or software configuration to determine the segmentation arrangement of each monitor.

Once this is known you should set the UPDD segmentation settings for each monitor.

For the example shown above you would use the command:

More complex arrangements are of course possible, with different stacking, e.g. vertical, multiple rows etc and differing screen resolutions.

The use of monitor_segment_map is explained in more detail here.

Set Linux displays 
For any monitors listed by upddutils monitors where the DISPLAY associated with this monitor is not “:0” this needs additional configuration.

In this example monitor 2 in the upddutils monitors list is DISPLAY “:1”



Set autoconfigure 
Execute the following command to enable automatic configuration:



Identify the screens
To identify the screens run the command:

    UPDD\ Calibrate identify

This is described in more detail here.

If you have configured the monitor segmentation correctly then you should see the identify window (a screen with a single cross at the horizontal centre) on each physical screen. If not recheck settings.

At this stage (after clicking the cross on each identify screen) the software will analyze the system and set the necessary settings, before moving on to the next screen.

The cursor will jump around whilst this analysis is performed.