wmPlayer (lmplayer) is a desktop music player built with Rust, GTK4, and WebKitGTK, featuring a pure-Rust Kugou protocol engine with online streaming, lossless audio, local library management, and desktop lyrics.
- v0.9.4
- Published at
- 1d ago
- 113
- Stars
- 46
- Download
- Synced at
- 1d ago
Latest release
v0.9.4Oct 27, 2026, 03:52 AMREADME
Project Overview
wmPlayer (repo name lmplayer) is a modern music player built with Rust and GTK4 + WebKitGTK, focused on deep integration with the Linux desktop. It places the web front end inside a native borderless window and implements a Kugou protocol engine in pure Rust, so signing, decryption, and lyric decoding need no external Node.js process. Beyond online streaming and lossless playback, it offers local library management, an audio cache pool, a system tray, and standalone desktop lyrics.
Online streaming, a local library, and desktop lyrics in one native window.
Key Features
- Online music: quality parsing (standard, high, lossless, Hi-Fi), keyword search suggestions, new-song and rising charts
- QR login: scan to sign in with session persistence, unlocking playlists and personalized recommendations
- Local library: scan and play local audio with local playlists, favorites, and play history
- Audio cache pool: smart reuse of cached audio to cut bandwidth and speed up seek-and-play
- Immersive playback: spinning vinyl animation, blurred cover backgrounds, and word-by-word highlighted lyrics
- Multiple themes: light, dark, frosted light, and matte dark, switchable instantly
- System tray: follows the StatusNotifierItem spec with background persistence and playback controls
- Desktop lyrics: a companion floating lyric app with opacity, font scaling, and highlight color controls
- Multimedia keys: supports MPRIS media control and global multimedia hotkeys
Target Audience
- Music lovers on the Linux desktop who prefer native apps
- Users who want both online music and a local library on their computer
- Users who need desktop lyrics and tray control
Quick Start
- Download and extract the package for your platform from Releases, or build from source
- Install system dependencies as needed; on Ubuntu-based systems run
sudo apt install libgtk-4-dev libwebkitgtk-6.0-dev libsoup-3.0-dev - Launch the app and browse recommendations on the discover page, or search songs by keyword
- Sign in via QR code when needed; the session is stored locally
- Add a local music folder in settings and scan it to play from the local library page
- For desktop lyrics, install the companion OSD floating lyrics app or the KDE Plasma widget
Core Advantages
- Pure-Rust engine: signing, decryption, and lyric decoding are all in Rust, with no external Node.js process
- Single self-contained binary: front end assets are compiled in, so it runs out of the box with no loose dependencies
- Works offline: icons and fonts are bundled locally, so the UI renders fully without a network
- Deep desktop integration: tray, multimedia keys, and desktop lyrics all follow Linux desktop specs
System Requirements
| Item | Requirement |
|---|---|
| OS | Linux (GTK4 + WebKitGTK 6.0) |
| Runtime | Rust 1.75 or higher; Node.js 18+ to build the front end |
| System deps | libgtk-4, libwebkitgtk-6.0, libsoup-3.0, and others |
| Network | Internet access for online playback |
Notes
- This is a third-party client built on public APIs and protocol research, not the official Kugou client
- It is for personal study and technical research only; please respect music copyright and support the official service
- Copyrighted data may be produced during use; clear the generated cache within 24 hours
- For NVIDIA drivers,
WEBKIT_DISABLE_DMABUF_RENDERERis enabled by default to avoid a frozen UI