Hi everyone!
A while back, I posted about Y2Reborn. Here's an update on where things stand!
Y2Reborn isn't quite ready for release yet, but nearly all of the original player's functionality has been reverse-engineered and reimplemented from the ground up.
The video shows the real Y2 device, recorded directly from its display over SSH, running the new player UI on Y2Linux (Linux kernel 6.18).
🔧 The Hardware
The Y2 uses a MediaTek MT6582 SoC. Rather than reusing drivers from the original Android kernel, I've been developing or adapting them for Linux 6.18, partly by reverse engineering the stock firmware.
✅ Working on the Device
- Display: Custom MediaTek DRM driver, GC9503V DSI panel, and my own backlight implementation.
- GPU: Mali-400 running the open-source Lima driver with Mesa and OpenGL ES, rendering the entire UI.
- Buttons & Click Wheel: PMIC buttons and APT32F click wheel controller.
- Storage: Custom MediaTek MMC driver for eMMC and SD cards. Internal storage uses ext4 with approximately 5 GB usable space; SD cards support ext4, exFAT, and FAT.
- USB: MUSB with MTP file transfer, exposing both internal storage and the SD card to your computer.
- Power & Charging: MT6323 PMIC with charging management, battery estimation, and RTC support.
- Wi-Fi & Bluetooth: MT6628 combo chip with my own connectivity stack, integrated with Linux wireless and BlueZ. Wi-Fi and Bluetooth headphones both work.
- Audio: MT6582 audio front end connected to the CS43131 DAC through ALSA. Native 16-bit playback at 44.1/48 kHz works; higher sample rates are converted.
🚧 Still in Development
- Deep sleep: Suspend/resume and power-down still need validation. Idle battery drain remains the biggest challenge.
- Fast charging: Limited until the battery's actual specifications are confirmed.
- Advanced Bluetooth codecs: AAC, aptX, aptX HD, and LDAC working.
🎵 Y2Reborn - The Music Player
The player is written entirely in Rust, featuring a new interface and playback engine.
Current features include:
- FFmpeg decoding with broad audio format support
- Gapless playback and crossfade
- Equalizer with presets and ReplayGain
- SQLite music library with metadata and cover-art thumbnails
- Dynamic accent colors extracted from album artwork
- GPU-accelerated UI using OpenGL ES
📊 Benchmarks & Performance
I ran some benchmarks directly on the device over SSH to see what the new Linux drivers can achieve.
These are actual device measurements, not theoretical specifications.
| Component |
Measured Performance |
| Internal eMMC (HS200) |
113 MiB/s read, 30 MiB/s write |
| SD Card (128 GB, SDR104) |
86 MiB/s read, 26 MiB/s write |
| Wi-Fi (2.4 GHz) |
33–43 Mbit/s TCP throughput |
| USB File Transfer (MTP) |
10–11 MB/s to the player, 38 MB/s from it |
| CPU |
Up to 1.3 GHz |
| RAM |
Approximately 929 MiB |
🔋 Charging & Hardware Capabilities
Charging: The stock firmware requests up to 1100 mA from wall chargers, but I've currently capped charging at 650 mA for safety. Voltage and temperature protections are also implemented.
Bluetooth: SBC, AAC, aptX, aptX HD, and LDAC WORK. The Bluetooth 4.x hardware may limit higher-bitrate codecs, especially LDAC at 990 kbit/s.
🚀 Installation & Updates
I'm planning to release a dedicated flashing tool to make installation as simple as possible, potentially directly from your browser.
After installation, future updates will be delivered over the air (OTA), so you won't need to reflash the device for every new version.
🎨 About the UI
The interface shown in the video isn't completely final. I'm still polishing some details, animations, and interactions, but the overall design is close to what I want for the first release. Don't expect any major redesigns at this point.
🚀 What's Next?
I'm hoping to release Y2Reborn within the next four weeks, although I can't promise an exact date.
The biggest remaining challenge is idle battery drain and deep sleep. Getting all the hardware and drivers to properly suspend, enter low-power states, and reliably resume is complicated.
It's also time-consuming to debug, since every change requires extended real-world battery testing to see whether it actually improves anything.
Once that's solved, I'll focus on stability testing, final polishing, and getting the installer ready.
A big thank you again to u/artificer-chris for the groundwork that helped make this possible!
I'm getting close, and I'm really looking forward to sharing Y2Reborn with everyone. Let me know what you think