Run the official UU Remote client on Linux with native input, display, tray, updates, hardware video integration, and an opt-in Intel/Mutter zero-copy lab.
English · 简体中文
Important
This is an unofficial compatibility wrapper. It does not distribute NetEase's proprietary installer or client binaries.
Note
This repository preserves the history and 0BSD license of
GuoWQ222/uu-remote-for-linux.
The extras/intel-mutter-zero-copy work is a separately documented,
fail-closed experiment derived from a real Proxmox wallboard deployment.
Remote control of the login screen after logout is coming soon.
- ✨ Highlights
- 🚀 Install
- 🧭 Choose a path
- ⚡ Intel/Mutter lab
- 🧭 Daily use
- 🎛️ Compatibility
- 🧰 Commands
- 📄 License
| Capability | What you get | |
|---|---|---|
| 🖥️ | Official client | Wine-based environment, graphical interface, and automatic updates |
| 🖱️ | Native control | Supports X11/Wayland, dual monitors, and primary-display switching |
| 🎬 | Hardware video | Supports CPU/OpenH264, NVIDIA NVDEC, and NVENC H.264/HEVC |
| 🧭 | Linux desktop | Native tray and all UU Remote settings |
| Goal | Recommended path |
|---|---|
| Use UU Remote on a normal Ubuntu desktop | Install the stable upstream Debian package |
| Build, inspect, or contribute to the wrapper | Install this repository from source |
| Run an unattended Intel-powered wallboard | Start with the base install, then evaluate the opt-in Intel/Mutter lab |
The base path is the product. The Intel path is an auditable experiment with a narrow compatibility gate, explicit rollback, and real-client acceptance checks; it is never silently enabled.
Download the latest upstream Debian package, then install it on X11 or GNOME Wayland:
sudo apt install ./uu-remote-for-linux_1.1.42_amd64.deb
uu-remote-for-linuxNo repository or archive key is required. On first launch, accept NetEase's official agreement to install the client and WebView2.
Tip
Terminal-only setup: uu-remote-for-linux --accept-eula --setup-only
🧱 Install from source
sudo apt install ca-certificates curl osslsigncode python3-gi zenity libpipewire-0.3-0 libegl1 libgles2
git clone https://github.com/RickeyRen/uu-remote-linux.git
cd uu-remote-linux
./scripts/install-user.sh
~/.local/bin/uu-remote-for-linuxRight-click the native tray icon:
| Action | Purpose |
|---|---|
| Show main window | Restore the hidden or minimized UU window |
| Controlled display | Select the Ubuntu monitor matching the Windows video track |
| Viewer layout | Leave windows under manual control (default), keep one on the primary display, or arrange two existing viewers |
| Select decoder | Choose CPU/NVIDIA decoding and restart UU |
| Exit | Stop the dedicated Wine client |
Controlled-display choices follow hot-plug, rotation, and layout changes automatically. Viewer windows move automatically only after selecting a managed layout.
| Area | Backend | Status | Notes |
|---|---|---|---|
| System | Ubuntu 24.04 | ✅ | Supported distribution |
| CPU | amd64 / x86_64 | ✅ | Architecture of the published Debian package |
| Runtime | Wine 11.1+ | ✅ | Required Wine version |
| Desktop | X11 + XTest | ✅ | Direct input and existing UU capture path |
| Desktop | GNOME Wayland Portal | ✅ | XWayland UI and Portal input; native three-buffer PipeWire DMA-BUF capture, with explicit failure instead of a hidden transport fallback |
| Decode | CPU / OpenH264 | ✅ | Safe fallback, up to 1080p/60 fps |
| Decode | NVIDIA NVDEC | 🧪 | Experimental; UU menu up to 4K/144 fps |
| Encode | NVIDIA NVENC | ✅ | H.264/HEVC, enabled only after validation |
| Encode | Intel VAAPI + Mutter | 🧪 | Opt-in H.264 zero-copy lab; Arc Pro B50 at 1440p60 verified |
| AMD hardware | — | ❌ | CPU fallback remains available |
Warning
Wayland requires Portal permission. On a multi-monitor desktop, select all displays in the sharing dialog; the permission is then restored for later sessions. Login-manager and lock-screen capture are outside the logged-in Portal session; use X11 for unattended access before login.
The exact version boundaries, semantic profilers, and update rollback transaction are documented in COMPATIBILITY.md.
The advanced path removes the Wine/GDI full-frame bottleneck:
Mutter monitor → PipeWire DMA-BUF → VAAPI VPP/NV12 → H.264
controller input → UU hook → Mutter RemoteDesktop
On the reference Intel Arc Pro B50 host it sustained 59–61 fps at 2560×1440, with roughly 5 ms GPU encode time and no CPU frame readback. It also fixes the remote-control failure mode where a delayed embedded cursor replaces the local controller cursor after idle.
Read the compatibility gate, recovery requirements, install procedure, and acceptance checklist before enabling it:
Show common commands
# Start and maintenance
uu-remote-for-linux
uu-remote-for-linux --diagnose
uu-remote-for-linux --repair
uu-remote-for-linux --stop
uu-remote-for-linux --check-update
# Decoder
uu-remote-for-linux --select-decoder
uu-remote-for-linux --list-decoders
uu-remote-for-linux --decoder auto # cpu / nvidia:0
# Controlled-host encoder
uu-remote-for-linux --enable-hwencode
uu-remote-for-linux --disable-hwencodeOriginal project code uses the Zero-Clause BSD license. Optional components retain their own licenses; revisions, corresponding source, build notes, and checksums are listed in NOTICE.md and third_party/HWDECODE.md.