Touch-Base Support

Big Sur support

Last updated 2023-03-20

In November 2020 Apple officially released Big Sur (10.16/11) and ARM (M1) processors. MacOS 11 runs on both Intel and ARM.

Late in 2019 Apple announced that they were replacing kernel extensions with system extensions and MacOS 11 running on silicon systems is the first such system to semi-enforce this requirement. This move is an obvious step to encourage developers to redevelop any kernel extensions as system extensions.

In addition to this requirement, user-mode software that is complied for Intel systems should be recompiled as universal binaries, that is, software that will run natively on both Intel and ARM based systems.

Acknowledging that it may take sometime before all applications are created as universal binaries Apple implements a compatibility layer in the silicon systems called Rosetta 2 to allow Intel based apps to run in silicon systems.

How do the above requirement affect the UPDD driver?

Compatibility layer / Universal binaries

We have tested UPDD driver and utilities within the compatibility layer and all appears to be OK. Because the silicon systems are so much faster there does not seem to be any detrimental effect on the touch performance therefore the existing UPDD software works as expected.

That said, as soon as the various 3rd party libraries utilised by UPDD are available with support for Apple silicon systems we intend to produce universal binaries versions of our software.

System / Kernel Extensions

These notes relate to UPDD driver version 6.0.698 that utilises a System Extension and earlier versions that use the older Kernel extensions

System Extension

UPDD now supports System Extensions. During installation, you will be notified the system extension is blocked, and you will be asked to 'Allow' it in the Security and Privacy dialog.

A reboot is not required once you have granted permission to load.

 During UPDD uninstall you will also be asked to allow the System Extension to be modified (uninstalled):

Kernel Extension (6.0.685 and earlier)

In these older versions UPDD utilises an old kernel extension and a new 'codeless' kernel extension, developed 8th Dec 2020, to enable on-the-fly capture of USB devices as supported by the installed driver. The driver handles USB devices from user-space but the kext is needed to prevent class drivers from being automatically attached to the USB devices.

Below are the observed differences when installing UPDD kernel extension version.

These instructions refer to drivers created on or after 8th Dec 2020 that carry the old kext and new codeless kext.

Intel systems

The new codeless kext file caused kext load error 71 (an unknown error) and therefore we are using the 'old' codeless kext on Intel systems.

You still need to give manual permission to load the kext via the "Allow" button in the Security and privacy dialog to approve the installation of the UPDD software.

Silicon systems

In our initial tests with the new codeless version of the kext we were not asked for permission to load the kext nor required to reboot for the kext to load and without needing reduced security, a win / win!

However, users have reported that they have been asked to grant permission to load and required to reboot as shown below. One user reported that they had to reduce system security to allow the kext to load. In our tests we only saw this on the 'old' kext, not the new 'codeless' one we created for M1 systems.

If you need to grant permission but don't do so then Kext error 27 will likely be shown in the UPDD Console.

Big Sur Security

Prior to creating the new codeless kext / supporting system extensions (698 and above),  these were the instructions to install the old kext on Silicon M1 systems.

With Apple Silicon system you may have to enable kernel extensions usage as follows:

1. Enter the macOS Recovery environment by following the directions in "Start up your computer in macOS Recovery": 

2. In the menu bar, pick the menu Utilities > Startup Security Utility

3. Select your system and click "Security Policy"

4. Click the button for "Reduced Security"

5. Check the box next to "Allow user management of kernel extensions from identified developers"

6. Click OK and enter your administrator password when requested

7. Reboot your system (only after the UPDD installation has completed. The reboot will likely be blocked if the install app is still running)

You must retain the 'Reduced Security' security level for the kernel extension to load in ARM processors.

With that done, you can install the driver as documented although there's a few steps that are different compared to installing on Intel macs as shown in the screenshots below:

Step1: The new dialog approving the system extension update.

Step2: The new Security & Privacy dialog. Note that the text on the bottom now reads" Some system software requires your attention before it can be used." Select "Details"

Step3: This is what appears after clicking the "Details..." button in the previous step. We are not sure why "Apple Inc" is listed as well but it seems to do no harm. Select OK to approve the updates.

Step4: After clicking OK in the previous step, this dialog appears.

Step5: After clicking "Restart", this window appears and takes several seconds to complete, at which point the system reboots and the driver is able to load.