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.
To set up a runtime environment on Windows:
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.
sudo apt install libegl-dev libxext-dev
sudo apt install fonts-nanum
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.
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.
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).
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