Files
openwrt/docs/kwrt-vs-immortalwrt-guide.md
2026-03-22 00:54:57 -07:00

15 KiB
Executable File
Raw Blame History

KWRT vs ImmortalWrt - Comprehensive Comparison

Created: 2026-01-12
Purpose: Deep dive into the two main community OpenWrt forks available for GL-AX1800


🌟 Executive Summary

Both KWRT and ImmortalWrt are enhanced forks of OpenWrt that add features, packages, and optimizations beyond vanilla OpenWrt. However, they target different audiences and have distinct philosophies:

  • KWRT (Koolshare OpenWrt by Kiddin9): Chinese-focused, online firmware customization, bleeding-edge packages
  • ImmortalWrt: International fork with performance optimizations, broader device support, more conservative approach

1 KWRT (Koolshare OpenWrt / Kiddin9 OpenWrt)

What Is KWRT?

Full Name: Koolshare OpenWrt (also known as Kiddin9's OpenWrt or just "Kwrt")
Developer: Kiddin9
Website: https://openwrt.ai
GitHub: https://github.com/kiddin9/OpenWrt_x86-r2s-r4s

Philosophy

KWRT aims to provide maximum customization through an online build platform while maintaining the latest OpenWrt code with extensive plugin/package support. It's particularly popular in the Chinese OpenWrt community but supports international users.

Key Features

🔧 Online Firmware Customization

  • Web-based Builder: Visit openwrt.ai to customize firmware before download
  • Kernel Selection: Choose from multiple kernel versions (5.15.x, 6.1.x, 6.6.x, 6.12.x)
  • Package Pre-selection: Select packages to include before compilation
  • Theme Options: Choose default LuCI theme
  • File System: Ext4 support for sponsored users

📦 Extensive Package Repository

  • Maintains comprehensive GitHub repos for OpenWrt packages
  • Vast collection of open-source plugins
  • Many packages commonly needed by Chinese users
  • Third-party packages and tools not in official OpenWrt

Common Default Packages:

  • autocore - System auto-configuration
  • base-files - Core system files
  • bash - Full bash shell (not just busybox ash)
  • dnsmasq-full - Enhanced DNS/DHCP server
  • firewall4 - NFTables firewall
  • luci-app-firewall - Firewall web interface
  • openssh-sftp-server - SFTP support

Optional Packages (examples):

  • luci-app-accesscontrol-plus - Access control
  • luci-app-adbyby-plus / luci-app-adguardhome - Ad blocking
  • luci-app-aliyundrive-webdav - Cloud drive integration
  • luci-app-aria2 - Download management
  • Network proxy tools: koolss (SS/SSR), v2ray, wireguard, brook

🏗️ Architecture Support

Unlike Koolshare's original X64-only focus, Kiddin9's KWRT supports:

  • X86_64 - Desktop/server platforms
  • i386_pentium4 - Older Intel platforms
  • aarch64 - Generic, Cortex-A72, Cortex-A53 (← GL-AX1800 uses this)
  • ARM - Cortex-A9, Cortex-A7, ARM1176JZF-S
  • MIPS - mipsel_24kc, mips_24kc
  • Devices: Raspberry Pi, N1, various routers

🚀 Build Frequency

  • Monthly snapshots (typically around the 10th of each month)
  • Based on latest OpenWrt master
  • Dated builds (MM.DD.YYYY format)

🖥️ Web Server

  • Uses Nginx instead of Uhttpd
  • Better performance for web services
  • Enhanced HTTP server capabilities

For GL-AX1800 Specifically

Target: qualcommax/ipq60xx
Architecture: aarch64_cortex-a53
Build Example: kwrt-01.10.2026-qualcommax-ipq60xx-glinet_gl-ax1800-squashfs-factory.bin

Installation:

  1. Enter U-Boot mode (hold reset, power on, 10 sec)
  2. Browse to http://192.168.1.1
  3. Flash .bin or .ubi factory image
  4. For upgrades: use sysupgrade.bin

Available Files:

  • Factory.bin - Standard factory image
  • Factory.ubi - UBI format for NAND flash
  • Sysupgrade.bin - For OpenWrt→OpenWrt upgrades

Pros

Online customization - Build exactly what you need
Latest packages - Bleeding-edge versions
LuCI included - Web interface by default
Nginx - Better web server
More pre-installed - Many useful packages out-of-box
Regular builds - Monthly updates
Wide hardware support - Many architectures
Active development - Frequent commits

Cons

⚠️ Chinese-focused - Documentation/UI primarily Chinese
⚠️ Less stable - Monthly builds, less testing than releases
⚠️ Non-upstreamable - Custom patches not in official OpenWrt
⚠️ Larger images - More packages = bigger firmware
⚠️ Slow download - openwrt.ai server can be very slow
⚠️ Less support - Smaller international community

When to Choose KWRT

Choose KWRT if you:

  • Want maximum customization before download
  • Need specific Chinese-region packages/tools
  • Want the latest packages immediately
  • Prefer pre-configured systems
  • Are comfortable with monthly snapshot builds
  • Like having many options/plugins available
  • Can read/navigate Chinese interfaces

2 ImmortalWrt

What Is ImmortalWrt?

Full Name: ImmortalWrt
Type: OpenWrt fork
Developer: Chinese developer community
Website: https://immortalwrt.org
GitHub: https://github.com/immortalwrt/immortalwrt

Philosophy

ImmortalWrt aims to enhance OpenWrt with better performance, more device support, and additional packages while maintaining a more traditional approach than KWRT. Focus on performance optimization and "non-upstreamable" improvements.

Key Features

Performance Optimization

  • Wireless driver optimization - Enhanced Wi-Fi performance
  • Kernel optimization - Tuned for better speed/stability
  • MediaTek focus - Particularly good for MTK chips
  • Users report better performance vs vanilla OpenWrt in many cases
  • High network speed - Optimized for throughput

🔧 Out-of-the-Box Functionality

  • More features pre-enabled vs official OpenWrt
  • Less manual configuration needed
  • Better defaults for common use cases

📱 Device Support

  • Wider range of devices than official OpenWrt
  • Particularly: Chinese-branded routers
  • Single-board computers (SBCs)
  • Devices not officially supported by mainstream OpenWrt
  • Faster adoption of new hardware

🌍 Localization

  • Default optimized profiles for mainland China
  • Includes Chinese-specific optimizations
  • More international than KWRT
  • English documentation available

📦 Package Differences

  • Uses opkg package manager (same as OpenWrt)
  • More packages ported than vanilla
  • Includes packages commonly needed by Chinese users
  • Third-party packages addressing local internet requirements
  • Approximately 8000+ packages available

🔄 Release Model

  • Stable releases - e.g., 23.05.7
  • Snapshot builds - Daily/regular updates
  • More conservative than KWRT's monthly approach

For GL-AX1800 Specifically

Target: qualcommax/ipq60xx
Architecture: aarch64_cortex-a53
GCC: 12.3.0 (stable), 14.3.0 (snapshots)

Stable Release: 23.05.7

Snapshots:

File Pattern:

immortalwrt-qualcommax-ipq60xx-glinet_gl-ax1800-squashfs-factory.bin
immortalwrt-qualcommax-ipq60xx-glinet_gl-ax1800-squashfs-sysupgrade.bin

Pros

Performance - Optimized for speed/stability
Device support - More hardware than vanilla
Stable releases - Not just snapshots
LuCI included - Web interface by default
More international - Better English support than KWRT
Frequent updates - Bug fixes come quickly
Better drivers - Enhanced wireless drivers
Proven track record - Established fork
Less bloated - More focused than KWRT

Cons

⚠️ Non-upstreamable - Custom patches not in official OpenWrt
⚠️ Less mainstream - Smaller than vanilla OpenWrt community
⚠️ Custom tweaks - May conflict with official packages
⚠️ Documentation - Less comprehensive than vanilla
⚠️ Update lag - Sometimes behind vanilla on security updates
⚠️ Regional focus - Still Chinese-oriented

When to Choose ImmortalWrt

Choose ImmortalWrt if you:

  • Want better performance than vanilla OpenWrt
  • Need support for Chinese/Asian hardware
  • Prefer stable releases over snapshots
  • Want more packages but not KWRT's full collection
  • Like the balance between vanilla and heavily customized
  • Need MediaTek optimization
  • Want frequent bug fixes
  • Prefer a more traditional OpenWrt experience

📊 Detailed Comparison Matrix

Feature Vanilla OpenWrt KWRT (Kiddin9) ImmortalWrt
Philosophy Upstream-first, stability Maximum customization Performance + support
Release Model Stable + snapshots Monthly builds Stable + snapshots
Stability
Performance
Device Support Wide Very Wide Widest
Package Count ~8000 ~10000+ ~8000+
Pre-installed Minimal Many More than vanilla
Customization Manual Online builder Manual
LuCI Included Yes Yes Yes
Web Server Uhttpd Nginx Uhttpd
Chinese Focus No Strong Moderate
International
Documentation Excellent Limited Good
Community Size Huge Small Medium
Update Speed Moderate Fast (monthly) Fast
Build Frequency Daily snapshots Monthly dated Regular
Security Updates Fastest Moderate Fast
Upstream Compat. Perfect Modified Modified
File Size Smallest Largest Medium
Learning Curve Medium Medium Easy-Medium

🎯 Which Should You Choose for GL-AX1800?

Choose Vanilla OpenWrt 25.12.0-rc2 If:

  • Want official, well-supported firmware
  • Value stability and security above all
  • Need reliable security updates
  • Want largest community support
  • Comfortable with SSH/manual package installation
  • RECOMMENDED for most users

Choose KWRT If:

  • Want online firmware customization
  • Need specific Chinese-region tools
  • Want bleeding-edge packages immediately
  • Like pre-configured systems with many options
  • Don't mind monthly snapshot builds
  • Can navigate Chinese interfaces
  • Want Nginx web server
  • Enjoy tinkering with latest features

Choose ImmortalWrt If:

  • Want best performance optimization
  • Need stable releases with extra features
  • Want balance between vanilla and KWRT
  • Prefer traditional OpenWrt feel with enhancements
  • Like more international focus than KWRT
  • Want enhanced wireless drivers
  • Need quick bug fixes
  • Want more packages than vanilla but not KWRT's full selection

🔍 Technical Differences

Package Management

All three use opkg but with different repositories:

# Vanilla OpenWrt
opkg update
opkg install <package>

# KWRT
# Pre-configured with Kiddin9's repos
# Nginx instead of Uhttpd
# More packages available by default

# ImmortalWrt
# Own package repos
# More packages ported
# Chinese-specific tools included

Kernel Versions

Firmware Kernel Notes
OpenWrt 25.12-rc2 6.6.x LTS kernel
OpenWrt Master 6.6.x+ Latest stable
KWRT 5.15.x -6.12.x User selectable!
ImmortalWrt Stable 5.15.x Conservative
ImmortalWrt Snapshot 6.6.x Latest

GCC Toolchain

Firmware GCC Version C++ Support
OpenWrt 25.12-rc2 14.3.0 C++23
OpenWrt Master 14.3.0 C++23
KWRT 14.3.0 C++23
ImmortalWrt 23.05 12.3.0 C++20
ImmortalWrt Snapshot 14.3.0 C++23

KWRT

https://dl.openwrt.ai/firmware/qualcommax-ipq60xx/glinet_gl-ax1800/

Latest: kwrt-01.10.2026-qualcommax-ipq60xx-glinet_gl-ax1800-squashfs-factory.bin

ImmortalWrt Snapshots

https://downloads.immortalwrt.org/snapshots/targets/qualcommax/ipq60xx/

Latest: immortalwrt-qualcommax-ipq60xx-glinet_gl-ax1800-squashfs-factory.bin

ImmortalWrt Stable (if available)

https://downloads.immortalwrt.org/releases/23.05.7/targets/qualcommax/ipq60xx/

💡 Real-World Use Cases

Home Lab / Development

Recommendation: KWRT or OpenWrt Master

  • Online customization for dev tools
  • Latest GCC for compiling
  • Many packages available

Production Router / Reliability

Recommendation: ImmortalWrt Stable or OpenWrt 25.12-rc2

  • Stable releases
  • Performance optimized
  • LuCI included

Chinese Internet / Region-Specific

Recommendation: KWRT

  • Best Chinese tool support
  • Optimized for region
  • Custom packages included

Performance Testing / Benchmarking

Recommendation: ImmortalWrt

  • Best wireless performance
  • Kernel optimizations
  • Proven speed improvements

Learning OpenWrt / First Time

Recommendation: OpenWrt 25.12-rc2

  • Official documentation
  • Largest community
  • Best learning resources

🚀 My Recommendation for Your GL-AX1800

Based on having downloaded multiple firmware variants:

1st Choice: OpenWrt 25.12.0-rc2

  • Stable release candidate
  • Native IPQ6000 support
  • LuCI included
  • GCC 14.3.0
  • Will become official stable soon

2nd Choice: ImmortalWrt Snapshot

  • If you need better performance
  • Stable enough for daily use
  • More packages than vanilla

3rd Choice: KWRT

  • If you want to experiment
  • Try the online customization
  • Test bleeding-edge packages

Avoid for Production: OpenWrt Master Snapshots

  • Too unstable (daily builds)
  • Use 25.12-rc2 instead

🛠️ Installation Tips

Both KWRT and ImmortalWrt install the same way as vanilla OpenWrt:

  1. Power off router
  2. Hold reset button while powering on
  3. Hold 10 seconds until LED blinks
  4. Set PC IP: 192.168.1.100
  5. Browse: http://192.168.1.1
  6. Upload factory.bin file
  7. Wait 3-5 minutes

Via SSH (if already running OpenWrt)

scp firmware.bin root@192.168.x.1:/tmp/
ssh root@192.168.x.1
sysupgrade -n /tmp/firmware.bin

📚 Additional Resources

KWRT

ImmortalWrt

Community


📝 Summary

  • KWRT = Customization King 👑 (online builder, many packages, Chinese-focused)
  • ImmortalWrt = Performance Beast (optimized, stable, balanced)
  • Vanilla OpenWrt = Rock Solid 🗿 (official, supported, stable)

All three work great on GL-AX1800 with the qualcommax/ipq60xx target!