Daemon process

Updated

The driver utilises a background, or daemon process, to undertake a number of driver related functions.

The UPDD installer implements start up methods for the daemon process based on the underlying operating system such that it is loaded on system start.

OS Start up method 
Windows The updd installer launches UPDD Daemon at the completion of the installation.
Thereafter, upon a system start the program is auto run. This is actioned by a registry entry, e.g for a Win 10 system:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run\updd-daemon
Linux Immediately after UPDD install UPDD Daemon is launched using the command  '/opt/updd/upddenv /opt/updd/UPDD\ Daemon &' by the install script running as root.
Thereafter xdg is used to start the daemon at system start running the same command.
MacOS UPDD Daemon is automatically launched as an always on per-user agent using launchd.

In some locked down touch systems it may be desirable to only run the driver process and not want or require to have UPDD daemon launched at startup in which case you will need remove the daemon process from the start up routine.

The daemon process handles the following functions:

Daemon icons   Shows the UPDD system tray / menu bar items
These icons, if enabled (note 1 below), are a visual indicator that the daemon process is running and shows if there are potentially issues with the touch interface. An exclamation mark in the icon indicates there is a problem. Hovering the cursor over the icon will reveal the reason the exclamation mark is being shown, either:

Notes

  1. The settings 'hide_systemtray_icon' and systemtray_icon_registration_only dictate if the icon is shown.  If defined, both must be 0 for the icon to be seen.
  2. Some Linux distributions will not show the icons in the notification area.  This being the case we have introduced command line options to invoke some of the daemon functions as described here.
Daemon menu
(Full list)








 
Register
Only shown for non-registered versions of the driver and allows for license registration.
Enabled
Indicates if touch is enabled (tick).  Touch for all devices can be disabled (cross) by selecting this option, such as in the case of system maintenance whereby it may be desirable to have touch disabled.  An alternative pointer device will be required to re-enable so use with caution.  Devices will be shown as DISABLED in the Status as shown below.

Status

Shows driver and device status and monitor association:
If a non-registered (evaluation) version of the driver shows number of clicks left this session and number of days left to trial.
Driver
No driver connection - indicates there is a major issue in that the daemon is unable to connect to the driver
or
Device - will show either:
No devices found - indicates no devices have been discovered on the system
or
for each device shows:
Device driver handle, device name, desktop association, status and screen name (if enabled)
Status value = OK - connected, NOK - disconnecte
d, DISABLED - manually disabled.


If you click on a NOK entry you will be presented with an option to delete the entry.

Configure
Invokes the configuration procedure.

Toolbars
Invokes the toolbar definition dialog

Change History
Lists the development history.

Test (only shown if Test utility available)
Invokes the UPDD Test utility.

Annotate (only shown if Annotate utility available)
Invokes the UPDD Annotate utility.

About
Indicates the UPDD driver version installed and shows license information.

License 

Evaluation - Indicates evaluation / trial copy of the driver

Shows driver version and build number

Registered to: [Licensee]

Daemon menu
(Register only)
In some OEM cases the Daemon menu is used only to offer license registration.  In this case only the Register option is available.  
Once the registration has been activated the Daemon icon will be removed.  This functionality is controlled by the setting systemtray_icon_registration_only.
Mouse interface Mac only - From Mountain Lion onwards the mouse interface only works for processes running under the logged in account. Given the driver process runs under the Root login the interface code was moved to the daemon process.
Kext registration Mac only - From High Sierra onwards registers the Kext file (Kernel Extension) to ensure that it has been registered (which should happen at driver install time) or to get an error return code that indicates why is is failing to register which is placed in the UPDD setting private.kextload.status. The kext file informs the OS what USB devices are to be handled by our driver. If this does not load then UPDD will not  be selected by the OS to handle the touch device.
USB enumeration period At system startup, when the driver loads, it checks the availability of supported USB devices every second to ensure it starts handling the USB device as soon as it becomes available in the system. When the Daemon process starts it sets this period to 10 seconds as it is unnecessary to check so often once the system is up and running. This check is only needed to discover newly added devices after the system is up and running, hence a longer delay is more appropriate.
Right Click visualisation Draws right click visual feedback during count down when using Interactive Touch mode.
Monitor metrics changes Sets the initial monitor metrics layout and looks for changes in video resolution, rotation and monitor layout that may affect UPDD configuration and touch screen calibration. Rotation adjustments are made automatically. Other changes may require a reconfiguration and this may be invoked automatically on next touch depending on the autoconfigure setting otherwise the configure option will need to be invoked manually.
‚ÄčIn Windows a windows message is actioned when the monitor metrics changes so any subsequent UPDD related action occurs almost instantly. In Mac and Linux there is a watchdog timer process that runs every 2 seconds looking for these changes so there may be a short delay for the change to take affect.
Monitor identification procedure Identify and associate UPDD Virtual HID devices with Windows internal monitor layout
Anchor mouse Monitors system pointer position and returns to previous position after touch
Sounds Generates sound on touch down, touch up.
Notifications Issues notifications as appropriate, such as device connection/disconnection, evaluation period expiry.
Linux X permission In a Linux environment UPDD Daemon will execute the command 
xhost SI:localhost:root
this grants permission to processes already having root privileges on the localhost system to access the X session in which UPDD Daemon is running.
This is required to allow the driver to post touch data on the X interface.

Command line options

These options have been introduced in version 6.0.271.

In case where the system tray menu is not available, such as the icon has been manually disabled or is not available in some Linux distributions, a number of options have been added to UPDD Daemon.

To access any of the graphical options, pass one of the following options to UPDD Daemon in a command window; status, settings, register, history, toolbars or about - these options are case insensitive!

In the Linux example below the status screen is shown:

Here is the same command in MacOS:

And Windows:

Adding UPDD Daemon to Windows start menu

You may wish to add one of the daemon dialogs to the Windows start menu.

Follow these instructions to add in Windows 10.

  • navigate to updd folder in explorer 
  • right click updd daemon 
  • click pin to start  
  • right click daemon in start menu 
  • click more 
  • click open file location (you can rename at this point if required) 
  • right click updd daemon 
  • click properties 
  • add the word settings/status to the target 
  • click ok 

This example invokes "UPDD Daemon" settings and has been renamed to UPDD Settings:

 

 Other Windows releases will have a similar method to add to start menu.

Daemon Application

To run UPDD Daemon as an application we have added an experimental parameter option "icon".

This shows a UPDD driver icon in the top left corner of the screen and can be used to mimic the behaviour of the standard 'system tray' icon / menu.

This is a very basic implementation; only supports left click, only supports the menu and menu options (no notifications) and has a fixed position.

This may be developed further if there is need for it.

Search