Table of Contents

Setting up a Runtime Environment

Typically, a jControls NF4 application will be developed and debugged on a Windows development PC, and then deployed to another target PC. By setting up a development environment, the development PC will have everything it needs to run the application, as installing the development tools also installs the runtime components. However, before a an application can be deployed and run on a target PC, that typically would not have development tools installed, the runtime components must be installed and configured.

jControls NF4 only supports 64-bit platforms. 32-bit platforms are not supported.

Windows

To set up a runtime environment on Windows:

  1. Download and install the .NET Framework 4. Then, any jControls NF4 .exe file can be executed like any other Windows program.
  2. To install the fonts used by the jControls NF4 Visual Studio templates, install Nanum Gothic.

Linux

If using the latest operating system for COMFILE Technology's ComfilePi panel PCs then jControls NF4 applications should work out of the box without any of the following installations or configurations.

Install Dependencies

  1. Install the Mono Framework. The Mono Frameork framework is an open source implementation of the .NET Framework 4.x for Linux. v6.12 or later is required for jControls NF4 applications.
  2. To support jControls' hardware acceleration, run the following commands to install the necessary software packages:
    sudo apt install libegl-dev libxext-dev
  3. To install the fonts used by the jControls NF4 Visual Studio templates run the following command:
    sudo apt install fonts-nanum

Workaround for .NET ARM Linux Garbage Collection Bug

Important - Due to a bug in the .NET runtime, it may be necessary to restrict the .NET garbage collector's memory limit on devices with small amounts of memory (e.g. a Raspberry Pi) or .NET applications may abort prematurely. To set the garbage collector's memory limit, create or open the file /etc/environment, and add the following line to the file.

DOTNET_GCHeapHardLimitPercent=32

Then reboot.

For more information about this setting, see Microsoft's official documentation.

Remove X11 Touch Gestures

X11 mouse/touch gestures can interfere with the .NET controls' input events such as MouseDown, MouseUp, and Click. Therefore, it is recommended to remove any gestures by deleting any files in the folder /etc/X11/xorg.conf.d/ that define them. See Configure Touchscreen Gestures for more information.

Raspberry Pi OS Bullseye: Displaying a jControls NF4 application Fullscreen

To get a .NET jControls NF4 application to display fullscreen on a Raspberry Pi Bullseye OS, it may be necessary to change some settings on the desktop panel (i.e. taskbar).

Raspberry Pi OS Boookworm: Displaying a jControls NF4 application Fullscreen

To get a .NET jControls NF4 application to display fullscreen on a Raspberry Pi Bookwoom OS, it may be necessary to hide the desktop panel (i.e. taskbar). To do that edit the file ~/.config/wf-panel-pi.ini and add the following lines:

autohide=true
autohide_duration=0