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

473 lines
15 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
- **URL:** https://downloads.immortalwrt.org/releases/23.05.7/targets/qualcommax/ipq60xx/
- **Note:** GL-AX1800 support may not be in stable yet (404 errors observed)
**Snapshots:**
- **URL:** https://downloads.immortalwrt.org/snapshots/targets/qualcommax/ipq60xx/
- Regular builds available
**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:
```bash
# 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 |
---
## 📥 Download Links for GL-AX1800
### 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:
### U-Boot Method (Recommended)
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)
```bash
scp firmware.bin root@192.168.x.1:/tmp/
ssh root@192.168.x.1
sysupgrade -n /tmp/firmware.bin
```
---
## 📚 Additional Resources
### KWRT
- Website: https://openwrt.ai
- GitHub: https://github.com/kiddin9/OpenWrt_x86-r2s-r4s
- Packages: https://github.com/kiddin9/openwrt-packages
### ImmortalWrt
- Website: https://immortalwrt.org
- GitHub: https://github.com/immortalwrt/immortalwrt
- Forum: Various Chinese and international forums
### Community
- OpenWrt Forum: https://forum.openwrt.org
- Reddit: r/openwrt
- GL.iNet Forum: https://forum.gl-inet.com
---
## 📝 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!