FAQ Troubleshooting Guide
This guide addresses common errors and symptoms encountered while using the DXNN SDK and provides step-by-step solutions.
Table of Contents
- Q1. Container 'Restarting' Error (#dxrtd-conflict)
- Q2. X11 Session Warnings & Mount Errors (Wayland Issues)
- Q3. Firmware Version Mismatch Error
- Q4. Device Driver Update Error
- Q5. Model-Runtime Version Compatibility Error
Q1. Container 'Restarting' Error (dxrtd Conflict)
This issue occurs when the container status is continuously displayed as Restarting after running docker_run.sh, making it impossible to enter the container.
Diagnostic Steps
- Step 1. Check Status: Run
docker psand check if theSTATUSis repeatedly showingRestarting (255). - Step 2. Check Logs: Run
docker logs <container_name>and check for the message "Other instance of dxrtd is running".
# Check container status
docker ps
# Example Output: STATUS repeats 'Restarting (255)'
CONTAINER ID IMAGE COMMAND STATUS NAMES
041b9a4933e3 dx-runtime:24.04 "/usr/local/bin/dxrtd" Restarting (255) 4 seconds ago dx-runtime-24.04
# Check container logs
docker logs dx-runtime-24.04
# Output: "Other instance of dxrtd is running"
Cause
The DEEPX Runtime Daemon (dxrtd) is designed as a singleton. Only one instance can run on the entire system (Host + all Containers). If dxrtd is already running on the host, the daemon inside the container will fail to initialize, causing a crash loop.
Solution: Stopping the Host Runtime Service (dxrtd)
Method 1: Stop the Host Service (Recommended)
Stop the service on the host to allow the containerized daemon to gain control over the NPU.
# Stop the host service
sudo systemctl stop dxrt.service
# Re-run the container
./docker_run.sh --target=dx-runtime --ubuntu_version=24.04
For more details, refer to the Host System Preparation in 02. Setting Up Environment.
Method 2: Prevent Auto-execution in the Container
If you must keep the host service running, configure the container so that the daemon (dxrtd) does not start automatically upon launch.
For more details, refer to the Docker Advanced Troubleshooting in 02. Setting Up Environment.
Q2. X11 Session Warnings & Mount Errors (Wayland Issues)
This occurs when X11 forwarding authentication fails, leading to GUI tool errors or container startup refusal.
Diagnostic Steps
- Q2.1 Warning:
[WARN] it is recommended to use an X11 sessionappears during startup. - Q2.2 Error: The container fails with
error mounting /tmp/.docker.xauthafter a system reboot or logout.
Cause
- Q2.1: GUI tools such as DX-TRON are optimized for X11. Wayland sessions can cause
xauthprocesses to be unstable. - Q2.2: Ending a Wayland session may purge X authentication data or change directory paths, causing Docker mount points to become invalid.
Solution: Set the Default System Session to X11
The most reliable solution is to set the login session to X11 (Xorg). This is the standard procedure for Ubuntu/GNOME environments.
Step 1. Modify GDM Configuration
Open the GDM3 configuration file.
sudo nano /etc/gdm3/custom.conf
Uncomment WaylandEnable=false to force the login screen to use Xorg.
# Force the login screen to use Xorg
WaylandEnable=false
Step 2. Apply Settings
Restart GDM or reboot your system.
sudo systemctl restart gdm3
# Or simply reboot the PC
Step 3. Resource Cleanup
Remove orphan containers before re-running.
# Clean up existing containers
docker compose -f docker/docker-compose.yml down --remove-orphans
# Re-run the container
./docker_run.sh --target=dx-runtime --ubuntu_version=24.04
For more details, refer to the Docker Installation section in 02. Setting Up Environment.
Q3. Firmware Version Mismatch Error
This error occurs when the application stops because the firmware on the NPU hardware is older than the required software stack version.
Diagnostic Steps
Check the error message in your terminal.
The current firmware version is X.X.X.
Please update your firmware to version Y.Y.Y or higher.
Cause
Mismatch between the installed DX-RT (Runtime) library and the DX-FW (Firmware) flashed onto the NPU.
Solution: Updating Firmware (DX-FW) and Cold Booting
Method 1: Using the Integrated Installation Script (Recommended)
Update the firmware using the all-in-one setup script.
./dx-runtime/install.sh --target=dx_fw
Method 2: Using the Dedicated CLI Tool (dxrt-cli)
Update the firmware manually by pointing to the specific binary file.
dxrt-cli -u ./dx-runtime/dx_fw/m1/X.X.X/mdot2/fw.bin
Critical Post-Update Action: Cold Booting
To completely initialize the hardware logic and ensure the new firmware version is applied, please follow this procedure.
Option 1. [Recommended] Cold Boot
- Method: Shut down the system completely, unplug the power cable to drain any residual power, then plug it back in and turn it on.
- Reason: This is the most reliable way to guarantee a complete hardware-level reset for the NPU.
Option 2. For Remote/SSH Environments
- If physical power disconnection is impossible (e.g., in a remote server room), perform a system restart at the OS level using the
sudo rebootcommand. In most standard scenarios, a system reboot is sufficient to refresh the firmware.
Final Verification
After rebooting, enter the following command in the terminal to verify that the firmware has been updated successfully.
dxrt-cli -s
For more details, refer to the Firmware (DX-FW) Update and Activation section in 02. Setting Up Environment.
Q4. Device Driver Update Error
This issue occurs when the application execution is interrupted because the kernel driver version is outdated.
Diagnostic Steps
Check the terminal for the following error message.
The current device driver version is X.X.X.
Please update your device driver to version Y.Y.Y or higher.
Cause
The installed kernel driver (dx_rt_npu_linux_driver) does not meet the minimum requirements of the current DX-RT.
Solution: Update the Device Driver on the Host OS
To resolve this, you must update the driver module directly on your host operating system.
Step 1. Install the Driver Module
Run the installation script specifically targeting the driver.
./dx-runtime/install.sh --target=dx_rt_npu_linux_driver
Step 2. System Reboot
Since the driver needs to be reloaded into the Linux kernel, a system reboot is mandatory.
sudo reboot
Step 3. Verify Status
After the reboot, confirm the update was successful.
dxrt-cli -s
Because Docker containers share the host's kernel, driver updates must be performed on the Host OS, not inside the container. Updating the driver inside a container will not affect the hardware communication layer.
For more details, refer to the Module Build and Installation section in 02. Setting Up Environment.
Q5. Model-Runtime Version Compatibility Error
This error occurs when the application stops because of the incompatibility between the compiler version (used to create the .dxnn file) and the runtime library version.
Diagnostic Steps
Check the terminal for the following error message.
The model's compiler version(X.X.X) is not compatible in this RT library.
Please downgrade the RT library version to X.X.X or use a model file generated with a compiler version X.X.X or higher.
Cause
This happens when there is a version mismatch between the DX-COM (Compiler) and the DX-RT (Runtime).
Solution: Synchronizing Versions via Re-compilation
To resolve this, you must ensure that your model and runtime environments are using compatible versions.
Method 1: Re-compile the Model (Recommended)
Re-generate the .dxnn file using a compiler version that is compatible with your current system's DX-RT version. This is the safest way to ensure optimal performance and feature support.
Method 2: Adjust the Runtime Library Version
Reinstall DX-RT to a version that matches the model's requirements.
If you choose this method, you must also re-verify the compatibility of your NPU Driver and Firmware.
Version Verification Guide
To find the exact compatible combinations for each module, please refer to the DXNN SDK Version Compatibility Matrix.