Release Notes for RTX64 3.4
Key Features
General
- Product Help for RTX64 is now available in HTML5 format, replacing the CHM format previously installed. This new format provides a more contemporary look-and-feel, as well as improved search functionality.
Activation and Configuration
- Redesigned and added new functionality to the Activation and Configuration utility. You can now:
- activate and manage licenses for RTX64 components and set the RTSS boot configuration from a single screen. (5848)
- enable and disable licenses through the Activation and Configuration utility. (6258)
- delete licenses from a license file on a hard drive and dongle. (5636)
Subsystem
- Added support for Intel® Advanced Vector Extensions 512 (AVX-512) instructions.
Tools and Utilities
- Added a System Tray application for RTX64 that displays the current state of the Subsystem and provides links to various RTX64 tools from a right-click menu.
- Improved Task Manager to allow for tasks to be scheduled to start automatically with the Subsystem. (1011)
SDK
- Added the RTX64 Native Framework (
RtfwAPI.dll
), a native DLL and import library that allows users to programmatically configure the Subsystem. - Added support for RtMonitorControl in Windows applications linked to RTAPI. (5850)
- Added a new Real-time function, RtGetProcessorInfo, that retrieves the number values for the lowest and highest RTSS processors. (3178)
Samples
- Added a new sample, MulticoreResponseTimeMeasurements, that runs a System Response Timer on different cores simultaneously. (4427)
- Added a new sample, Native Framework Client, that demonstrates how to use the RTX64 Native Framework library in a Visual Studio C/C++ project. (6002)
- Added a new sample, RawIpSocket, which runs a raw IP echo client and/or raw IP echo server, depending on the specified command line options. (2687)
- Improved the TCPIP sample to include TCPIPClientNblock, which demonstrates how to use non-blocking connect. (4938)
Issues Resolved
General
- Resolved an issue where Windows security updates that prevent Meltdown-Spectre vulnerabilities for Windows 10, Windows 8.1, and Windows 7 caused the RTX64 Subsystem to crash on startup. (6609)
Installation
- Resolved an issue where the RTX64 SDK did not add path
C:\Program Files\IntervalZero\Common\bin
to the PATH variable. As a result, a full path was required when activating via Command Line when only the SDK was installed. (6162) - Resolved an issue where the history information used by Analyzer did not update when the ADDLOCAL and/or REMOVE parameters were specified during modification of a silent installation. (6158)
- Resolved an issue where the RTX64 Runtime installer failed when attempting to upgrade an existing version on a machine where LPT or COM Port devices were converted to RTX64 control. (6233)
- Resolved an issue where a Blue Screen occurred during installation on machines with the Intel® RAID controller when any IaStor_.sys driver was present in the
C:\windows\system32\drivers
folder. (6363)
Activation and Configuration
- Resolved an issue where a user would be warned about a soon-to-expire Evaluation license when that Evaluation license was not in use. (6257)
- Implemented functionality that warns the user when a dongle has become corrupted. (5677)
- Resolved an issue where RTX64 would report it was not licensed following a downgrade of the Runtime product license. (5225)
- Resolved an issue where the error No RTX64 runtime license is available (Error:0x20000001) randomly occurred when an RTSS application was run a system where the RTX64 license file contained several licenses locked to different dongles. (6333)
- Resolved an issue where the RTX64 Activation command line utility would hang when multiple NICs were connected to the machine and the Rtx64ActivationUtil.exe - listdongles command line option was used. (5621)
Subsystem
- Resolved an issue where using function RtkOpenMutex with a name that doesn’t exist in the Windows driver caused issues in the Object table. (5859)
Tools and Utilities
- Resolved an issue where RtssRun would return a Process ID rather than a proper exit code. (5000)
- Improved the following tools to include a stack trace in the error messages that appear when an unhandled exception occurs: (4962)
- Task Manager
- Monitor Utility
- Dongle Activation Utility
- Activation and Configuration Utility
- Latency View
- Improved RTX64 integration with the Windows Event Viewer so that logged RTX64 events now contain complete event details in human-readable form. (3464)
- Improved RTX64 by ensuring System Tray notifications appear for all user login sessions. (2726)
- Ensured Analyzer includes multiple IPv4 Address and Netmask pairings when such pairings exist for a single physical interface. (5937)
- Resolved an issue where Analyzer did not always include the label Visual Studio 15.0 in its output when Visual Studio 2017 was installed. (5748)
- Resolved an issue where Tracealyzer failed silently on machines where the RTX64 SDK was installed but not the Runtime. (6238)
- Resolved an issue where Task Manager did not retain parameters specified for a given task. (4416)
- Resolved an issue where Analyzer sometimes incorrectly reported the Windows Operating System version. (5692)
- Resolved an issue where an exception occurred when Task Manager attempted to retrieve process information for elevated Windows processes linked to RTX64. (6810)
RT-TCP/IP Stack and Drivers
- Resolved an issue where the RT-TCP/IP Stack reported errors when Hyper-Threading was enabled on machines with over 32 processors. (5920)
Application Development
- Resolved an issue where some applications would generate the following compiler error when built in Japanese versions of Visual Studio: The file contains a character that cannot be represented in the current code page (number). (5720)
SDK
- Resolved an issue where C Runtime function fflush returned an error when used in the RTSS environment. (6671)
Samples
- Resolved an issue where the SRTM, RtTcpIpServer, and RtTcpIpClient samples each caused build errors in Visual Studio 2017 if the Microsoft Foundation Classes (MFC) for C++ package was not included in the Visual Studio 2017 installation. (5858)
- Resolved build warnings that occurred when the IPCLatency sample was built in Visual Studio 2017. (5769)
Notes
Installation
- The RTX64 Runtime installer turns off the Windows fast startup setting on Windows 10 and Windows 8.1, if the setting is enabled at the time of installation. Fast startup remains turned off after the Runtime is uninstalled. You can enable fast startup through the Windows System Settings once RTX64 is uninstalled. (6065)
Activation and Configuration
- RTX64 components cannot be activated to a small form factor dongle via a remote machine. (4262)
Subsystem
- RTX64 event log entries are now accessible from the Windows Event Viewer under Event Viewer > Windows Logs > Application. (5673)
- Certain Subsystem functions and validation procedures, such as validation of affinity mask and ideal processor, will not occur until after the Subsystem has been started for the first time following configuration. (6668)
RT-TCP/IP Stack and Drivers
- If a device has been converted to RTX64 control, and the RTX64 Runtime is uninstalled, that device becomes unusable following a system reboot. A warning icon will appear with the device in Windows Device Manager. To ensure converted devices are usable following uninstall of the Runtime, you must either:
- Re-convert the device to RTX64 when the Runtime is re-installed.
- Convert the device back to Windows when the Runtime is uninstalled
(5979)
Tools and Utilities
- If a user who is not a member of either the RTX64Administrators or RTX64Users group – and who is not elevated to Administrator – attempts to launch the Control Panel on German language editions of Windows 10, the Control Panel will fail with an exception. (5862)
- When adding a binary as a scheduled task via RtssRun, you must provide the full path to the binary if the path is not included in a search path. See RtssRun Usage for more information. (6738)
- Product Help for Tracealyzer will not load unless a Web browser is installed on the machine. (6776)
SDK
- Certain properties in structure RTFW_NETWORK_INTERFACE should not be modified if the interface belongs to the Virtual Network. For more information, see RTFW_NETWORK_INTERFACE.
- The RTX64 SDK no longer installs the header file rtdef.h, which contained only internal macros. (6006)
- Neither the RTX64 Native nor RTX64 Managed library will check the local system for duplicate IPv6 addresses during configuration of network interfaces. Below are two important differences between the two libraries with regard to IPv4 addresses:
- The RTX64 Native Framework does check for duplicate IPv4 addresses on the local system in APIs RtfwCreateNetworkInterface and RtfwModifyNetworkInterface, which will fail with custom error RT_ERROR_IPV4_ADDRESS_INVALID when a duplicate IPv4 address is detected.
- The RTX64 Managed Code Framework does not check for duplicate IPv4 addresses on the local system in RTX64 3.4. This functionality will be added in a future release.
Samples
- The RtkIPC sample does not work with Visual Studio 2017, as the WDK is not yet compatible with that version of Visual Studio. The Visual Studio 2017-specific files associated with this sample are not installed with the RTX64 3.4 SDK. (5599)
Known Issues
Installation / Uninstallation
- The RTX/RTX64 Runtime installer fails when attempting to upgrade an existing version on a machine where LPT or COM Port devices are converted to RTX/RTX64 control. See the TechNote Upgrading RTX or an RTX64 Runtime Fails if LPT or COM Port Devices are Controlled by RTX/RTX64 for more information and workaround instructions. (6211)
- RTX64 user groups RTX64Users and RTX64Administrators are not removed during uninstall.
Activation and Configuration
- The Activation and Configuration utility crashes when the only RTX64 components installed on the system are of a version previous to RTX64 3.4. (6902)
Subsystem
- Internal testing of some AMD systems (including a Ryzen 5 1600 six-core processor @3200MHz) has revealed an issue where the Timer Initial Count Register on local APIC has counts moduled-up by 4. As a result, a non-4-moduled count will behave the same as a 4-moduled-up count. To work around this issue, call RtGetRtssTimeAsFileTime which is synchronized with Windows system time, in your RTSS processes. See the TechNote Clock Drift on AMD Systems for more information. (5584)
RT-TCP/IP Stack and Drivers
- Upgrading to RTX64 3.4 from any RTX64 Runtime version prior to RTX64 3.3 causes functionality of Network Interface Cards (NICs) to be lost. (5792)
- Attempts to convert a device being used by the RTX64 Subsystem back to Windows control may cause the Subsystem to become unstable. (6341)
Tools and Utilities
- Scheduled tasks added via RtssRun fail to start with the Subsystem if the <order id> parameter specified for the task is too large. When this occurs, RTX64 Server becomes unresponsive. Use RtssKill to stop the Server and the Subsystem. (6822)
- When you right-click on a scheduled task that isn’t selected in the Running Tasks page of the Task Manager, and then click Remove scheduled task from the right-click menu, an error appears: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index. The task is not deleted. (6895)
Application Development
- The RTX64 installer fails to register the RTX64 Managed Code Framework assembly. If you need to call the RTX64 Managed Code Framework assembly from C/C++ using COM, you must manually register the assembly using
regasm.exe
. You can find the DLL at%RTX64DIR%bin\IntervalZero.RTX64.dll
. (6952)
For information on the regasm.exe
tool, see https://docs.microsoft.com/en-us/dotnet/framework/tools/regasm-exe-assembly-registration-tool
SDK
- If you call RtfwGetAllNetworkInterfaces with parameter pCountNetworkInterfaces set to a value less than (<) the total number of interfaces (but not 0), the function will return the number of interfaces requested, but will reset the count to the total number of interfaces and return success. This results in a mismatch between the count and the number of returned interfaces. (6754)