Advanced Applications
Update history
| Date | Version | Author | Update content |
|---|---|---|---|
| 2025-9-11 | v0.2 | iawak9lkm |
|
| 2025-8-26 | v0.1 | BuGu |
|
Switching to PiKVM
In addition to running the NanoKVM framework, NanoKVM Pro is also compatible with the PiKVM software framework. You can switch between them as needed.
Switching to PiKVM
By default, the NanoKVM Pro uses the NanoKVM framework. You can switch to PiKVM in Settings -> About -> Switch Device.

After clicking, the system will automatically restart and boot into the PiKVM framework. This process takes about 30 seconds. If it does not switch automatically for a long time, please refresh the webpage manually.

The default username and password for the PiKVM framework are also admin, admin. However, the two platforms use their own usernames and passwords, which are not unified. It is strongly recommended to change them after logging in.

Some functions in the PiKVM framework require the use of a web terminal, such as Wi-Fi configuration and Tailscale setup.
When updating NanoKVM, the PiKVM framework will be updated simultaneously.
Switching to NanoKVM
Switching back from the PiKVM system to NanoKVM is equally simple. Just go to Options -> Switch to NanoKVM and click Switch Now.

After clicking, the system will automatically restart and boot into the NanoKVM framework. This process takes about 30 seconds. If it does not switch automatically for a long time, please refresh the webpage manually.
SSH & mDNS
SSH
By default, NanoKVM-Pro disables SSH to ensure system security. If you need to enable the SSH service or use it when previewing new versions, you can turn it on as follows:
- ATX/Desk: From the web interface, go to
Settings→Device→ enableSSH - Desk: From the screen, tap
Settings→SSHto enableSSH
The default account is root with the password sipeed. If you change the web account password in the NanoKVM interface, the SSH password will be updated accordingly.
mDNS
To enable or disable mDNS, use the following methods:
- ATX/Desk: From the web interface, go to
Settings→Device→ enable/disablemDNS - Desk: From the screen, tap
Settings→mDNSto enable/disablemDNS
HDMI Input & Loop Out
Currently, configuration is only supported on the Desk version’s screen.
Support for ATX/Desk web interface will be added soon.
If HDMI functionality is not required, you can disable it to reduce power consumption. Operation:
On Desk: From the screen, tap Settings → HDMI to enter the HDMI configuration page, which has two options:
- INPUT: When disabled, Desk stops capturing HDMI input signals.
- LOOP OUT: When disabled, Desk stops outputting HDMI loop-out signals.
Display Adjustment
ATX
Currently, the OLED screen supports the following function:
- Short press the
USRbutton to toggle the OLED display on or off.
Desk
The LCD screen supports the following functions (all configured from the screen):
Adjust backlight brightness:
Settings→BrightnessStandby clock:
Settings→Auto Clock- When disabled, the LCD remains always on.
- When enabled, the LCD switches to a clock display after a long period of inactivity.
Factory Reset
Quick Reset
ATX: Long press the
USRbutton until the screen showsReset, then release.Requires version ≥
1.0.13Desk: From the screen, tap
Settings→Helpto enter the Help page. Repeatedly tap the reset button until0appears, and the device enters recovery mode.
Note: Do not perform any other operations until the device has fully restarted and refreshed the screen.
Deep Reset
For details, see the FAQ section on Image Burning Methods.
HDMI Secondary Display
Since NanoKVM-Pro can emulate a display, capture screen content, and features a small built-in screen, it can function as an HDMI secondary display.
In the UI, simply select HDMI as the video output source to display the captured video feed on the small screen.
When used as a desktop accessory, this feature can serve as a:
- Mini secondary monitor
- System performance monitor
- Video thumbnail player
and more.

USB Expansion Features
USB NCM
The NCM function allows the NanoKVM to simulate a USB network card, enabling users to log in directly via USB. To enable:
- ATX/Desk: From the web interface, go to
Settings→Device→ enableVirtual Network - Desk: From the screen, tap
Settings→USB→ enableNCM
USB Secondary Display
Supported only on NanoKVM-Desk
Currently, the USB secondary display function is supported only on Windows systems.
Download and extract the USB secondary display driver.
On Desk: From the screen, tap
Settings→USBto enter the USB configuration page, then enablePanel.On the controlled PC:
Open
Device Manager→Other devicesFind
NanoKVMPro→ right-clickProperties→Driver→Update driverChoose
Browse my computer for drivers→Let me pick from a list of available drivers on my computerDouble-click
Show all devicesUnder
Standard USB Host Controller/Standard system devices, locateUSB Composite Device→ double-click to install
Note: Driver locations may vary depending on Windows version. Please search carefully.
After installation, a new
loop input to outputdevice will appear underOther devicesin Device Manager.Right-click this device →
Update driver→Browse my computer for drivers→Browse→ select the USB secondary display driver folder →Next→ follow the prompts to complete installation.Once installed, a new NanoKVM graphics device will appear under
Display adapters.On Desk, enter the secondary display page from the screen, select USB, and the Desk will function as a USB secondary display.
To disable, refer to step 2 to turn off
Panel.When re-enabling, some systems may require reinstalling the USB driver.
Updates
NanoKVM Pro will periodically push new application versions that include new features and bug fixes. You can update the application version in Settings -> Check for Updates.

After clicking download, the new application installation package will be automatically downloaded, which includes kvmcomm_x.x.x_arm64.deb, nanokvmpro_x.x.x_arm64.deb, and pikvm_x.x.x_arm64.deb:
kvmcomm_x.x.x_arm64.debis responsible for driving the shared hardware in the NanoKVM and PiKVM frameworks;nanokvmpro_x.x.x_arm64.debis the NanoKVM application software;pikvm_x.x.x_arm64.debis the PiKVM application software.
Enabling the preview update feature will allow you to access the latest experimental application, which usually includes updated features but may lack stability. It is recommended to enable SSH before downloading preview updates.
You can also download specific versions and install them manually.
# Taking download of version 1.1.6 as an example
# Download file
sudo curl -L https://cdn.sipeed.com/nanokvm/preview/nanokvm_pro_1.1.6.tar.gz | sudo tar -xz
# Enter folder
cd nanokvm_pro_1.1.6
# Install deb packages
sudo apt install ./*.deb
Software version 1.1.5 and later underwent an architectural adjustment. Older NanoKVM-Pro units can only fetch up to version 1.1.5 initially; after updating, they will be able to retrieve the latest versions.
How to Use TF Card for Storage Expansion
The NanoKVM-Desk version features a TF card slot on the rear panel. Inserting a TF card expands the storage capacity and enables the Virtual U Disk function.
The TF card is mounted by default under the NanoKVM system's /sdcard directory. When Virtual U Disk is enabled, the TF card is simultaneously mounted as a mass storage device through the USB composite interface, allowing file transfer to the controlled host via this feature.
Note:
The ATX version cannot expose the TF card slot due to bracket size constraints.
The first batch of Desk versions does not support TF card hot-plugging. Please insert the TF card when the device is powered off.
The Virtual U Disk and image mounting functions cannot be enabled simultaneously.
How to Set a Static IP
NanoKVM-Pro introduced static IP configuration for Ethernet cards in version 1.1.6 and above. You can assign a static IP by configuring the /boot/eth.nodhcp file. The detailed setup method is as follows:
Create a file named /boot/eth.nodhcp in NanoKVM-Pro, then edit it according to the following rules:
- Each line represents a custom IP in the format:
addr/netid gw[optional]; - Multiple static IPs can be preset across multiple lines.
Simplified steps:
# Perform the following operations in the NanoKVM-Pro web terminal or SSH terminal
# Create the /boot/eth.nodhcp file and write the configuration
echo "192.168.2.2/22" > /boot/eth.nodhcp
During system startup, the static IP address list in the
/boot/eth.nodhcpfile will be read. The setup process is as follows:
- Sequential detection: The system reads the IPs in the file line by line and checks whether each one is already in use by another device on the network.
- Detection mechanism:
arpingis used for detection first; ifarpingis not installed in the system, it automatically falls back to using thepingcommand.- Set available IP: Once the first available (unused) IP is found, the system immediately sets it as the static address for the device, and the process terminates.
- Fallback option: If all IPs in the list are occupied, the system will attempt to obtain an IP automatically via DHCP.
- Guaranteed address: If DHCP also fails to assign an address (for example, if there is no DHCP server on the network), the system will use the fixed guaranteed address
192.168.90.1.
How to Use Serial Port
NanoKVM Pro provides two sets of available serial ports: UART1/UART2. (Note: The ATX version, limited by the standard bracket size, does not have these ports externally exposed; only the internal solder pads are retained.)
The interface definition diagram for the Desk version is as follows:

- Using the Serial Terminal via the Web Interface
Requires firmware version 1.1.5 or higher
Navigate to: Web Menu Bar -> Terminal -> Serial Terminal. Here, you can configure the serial port number, baud rate, and other options.

- Send serial commands only:
# Set ttyS1 to 115200 baud rate
stty -F /dev/ttyS1 115200
# Send hexadecimal data 0x11, 0x22, 0x33
echo -n -e '\x11\x22\x33' > /dev/ttyS1
How to Modify EDID
EDID (Extended Display Identification Data) is a set of data provided by a display device to the host, including device information, resolution and frame rate lists, color characteristics, audio capabilities, etc. The host adjusts the display settings based on the received EDID.
NanoKVM Pro supports modifying the EDID exposed by the virtual display. You can clone the EDID from a monitor or write your own EDID to achieve specific screen ratios, refresh rates, or color characteristics.
Modifying the EDID may risk improper display functionality. Please proceed with caution. If issues arise, restore the default EDID.
Writing method:
# 1. Prepare the EDID file, typically 256 bytes, and scp it to the system
ls -l /root/customize.bin
# -rw-r--r-- 1 1000 1000 256 Aug 19 14:44 /root/customize.bin
# 2. Write the EDID
cat /root/customize.bin > /proc/lt6911_info/edid
# 3. Restore the default EDID:
cat /kvmcomm/edid/e18.bin > /proc/lt6911_info/edid
Version 1.0.15 includes two EDID files: e18.bin and e48.bin.
e18.binuses conservative parameters compatible with most systems.e48.binadds currently tested stable resolutions, but compatibility is not guaranteed for all devices.
Supported resolutions and refresh rates are listed below:
| Resolution | Refresh Rate | Aspect Ratio | e18.bin | e48.bin |
|---|---|---|---|---|
| 3840×2160 | 39 FPS | 16:9 | × | ✓ |
| 3840×2160 | 30 FPS | 16:9 | ✓ | ✓ |
| 3840×2160 | 25 FPS | 16:9 | ✓ | × |
| 2560×1440 | 83 FPS | 16:9 | ✓ | ✓ |
| 2560×1440 | 60 FPS | 16:9 | × | ✓ |
| 2560×1440 | 30 FPS | 16:9 | ✓ | × |
| 1920×1200 | 60 FPS | 16:10 | ✓ | ✓ |
| 1920×1080 | 125 FPS | 16:9 | × | ✓ |
| 1920×1080 | 120 FPS | 16:9 | ✓ | ✓ |
| 1920×1080 | 100 FPS | 16:9 | ✓ | ✓ |
| 1920×1080 | 60 FPS | 16:9 | ✓ | ✓ |
| 1920×1080 | 30 FPS | 16:9 | ✓ | ✓ |
| 1680×1050 | 60 FPS | 16:10 | ✓ | ✓ |
| 1440×900 | 60 FPS | 16:10 | ✓ | ✓ |
| 1280×1024 | 60 FPS | 5:4 | ✓ | ✓ |
| 1280×960 | 60 FPS | 4:3 | ✓ | ✓ |
| 1280×800 | 60 FPS | 16:10 | ✓ | ✓ |
| 1280×720 | 60 FPS | 16:9 | ✓ | ✓ |
| 1152×864 | 60 FPS | 4:3 | ✓ | ✓ |
| 1024×768 | 60 FPS | 4:3 | ✓ | ✓ |
| 800×600 | 60 FPS | 4:3 | ✓ | ✓ |
Resolutions not listed above may exhibit display errors or fail to show.
About Latency
NanoKVM-Pro has made significant improvements in latency, with end-to-end latency controlled at around 100ms at any resolution.
The latency mentioned by other competitors is not end-to-end latency, but one-way latency. The actual end-to-end latency is much higher than what they claim.
Actual tests show that choosing different frame rates has little impact on end-to-end latency, meaning the latency for 1080P120 and 1080P30 is almost the same.
| Video Mode | End-to-End Latency |
|---|---|
| Direct H264 | 100ms |
| WebRTC H264 | 100ms |
| MJPEG | 100~150ms |
Note: We use "end-to-end" latency to reflect the actual latency perceived by users:
The delay from when a user moves the mouse in the local browser window to when the remote desktop mouse starts moving in the browser.
You can use this Python script to actually measure the "end-to-end" latency. Maximize the browser window or place it on the left side, ensuring the current remote desktop background color has maximum contrast with the mouse pointer color (for example, use a white background for a black pointer, or a black background for a white pointer).
python lat_mouse.py TEST_CNT RECORD_NAME
4K30 webrtc end-to-end latency record:
