Running Android-Dex on Pop!_OS 24.04, ( cosmic ) connected wired to a Poco X5 Pro on HyperOS 2 (official).
I've granted every permission the app asked for, turned off battery restrictions, and allowed background running. Still doesn't hold a stable connection.
What happens: it connects fine and streams for a bit, first frame decodes ok (1080x2400), then I start getting a flood of "no frame!" errors from the h264 decoder and the frame recv starts failing. It reconnects a few times on its own but eventually just hard crashes with an "Aborted (core dumped)". After that it tries falling back to software rendering, which just hangs completely waiting on OpenGL frames until I kill it.
System: Pop!_OS 24.04 LTS, kernel 7.0.11-76070011-generic, i5-13420H, Intel UHD Graphics, COSMIC desktop.
Not sure if this is a HyperOS-specific decoder quirk or something on the resolution negotiation side (I noticed it expects 1920x1200 but the device is sending 1280x720 during the fallback). Happy to test builds or grab more logs if that helps.
Full log below:
noob@honor:~/Applications/android_dex$ chmod +x
android_dex_win Build_copy/ data/ lib/ run_android_dex.sh
noob@honor:~/Applications/android_dex$ chmod +x run_android_dex.sh
noob@honor:~/Applications/android_dex$ ./run_android_dex.sh
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Android Dex — Adaptive Universal Linux Launcher
Developed by: Shrey113
https://github.com/Shrey113/Android-Dex
─────────────────────────────────────────────────────────────────────
Auto-resolves system dependencies and provides an adaptive
rendering path for ultimate cross-distribution compatibility.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Android Dex for Linux by Shrey113
─────────────────────────────────────────────────────
[OK] All binary dependencies already installed
[OK] Android udev rules (USB device access)
[OK] User in 'plugdev' group (USB permissions)
[OK] FFmpeg libraries (H.264 video decode)
─────────────────────────────────────────────────────
All critical checks passed — launching Android Dex...
[INFO] Launching with Hardware Acceleration...
Gtk-Message: 16:40:04.537: Failed to load module "colorreload-gtk-module"
Gtk-Message: 16:40:04.537: Failed to load module "window-decorations-gtk-module"
[AppDrawer] Connection restored, triggering auto-load...
[HomeScreenGrid] App list changed: bulk_refresh for . Reloading.
[AppDrawer] Real-time app list change: bulk_refresh for
[DexPlugin] Stream thread started: video=0 audio=1 control=0 port=12346
[DexPlugin] Connecting audio socket...
[DexPlugin] ✅ Audio socket connected (fd=60)
[DexPlugin] Reading dummy byte from first socket (fd=60)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Stream thread started: video=1 audio=0 control=1 port=12345
[DexPlugin] Connecting video socket to port 12345...
[DexPlugin] ✅ Video socket connected (fd=60)
[DexPlugin] Connecting control socket...
[DexPlugin] ✅ Control socket connected (fd=65)
[DexPlugin] Reading dummy byte from first socket (fd=60)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Entering video decode loop...
[DexPlugin] Waiting for first 12-byte frame header...
[DexPlugin] Stream thread started: video=0 audio=1 control=0 port=14000
[DexPlugin] Connecting audio socket...
[DexPlugin] ✅ Audio socket connected (fd=70)
[DexPlugin] Reading dummy byte from first socket (fd=70)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Received codec config packet (size=32) — feeding to decoder
[h264 @ 0x60a63ef29e40] no frame!
[DexPlugin] avcodec_send_packet failed: -1094995529
[DexPlugin] Waiting for first 12-byte frame header...
[DexPlugin] ✅ First video frame decoded: 1080x2400
[h264 @ 0x60a63ef29e40] no frame!
[h264 @ 0x60a63ef29e40] no frame!
[h264 @ 0x60a63ef29e40] no frame!
[DexPlugin] Stream thread started: video=0 audio=1 control=0 port=12346
[DexPlugin] Connecting audio socket...
[DexPlugin] ✅ Audio socket connected (fd=82)
[DexPlugin] Reading dummy byte from first socket (fd=82)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] ❌ Frame payload recv failed (size=2016)
[DexPlugin] Video decode loop ended (frames decoded: 343, running=0)
[DexPlugin] Stream thread started: video=0 audio=1 control=0 port=14000
[DexPlugin] Connecting audio socket...
[DexPlugin] ✅ Audio socket connected (fd=60)
[DexPlugin] Reading dummy byte from first socket (fd=60)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Stream thread started: video=1 audio=0 control=1 port=12345
[DexPlugin] Connecting video socket to port 12345...
[DexPlugin] ✅ Video socket connected (fd=65)
[DexPlugin] Connecting control socket...
[DexPlugin] ✅ Control socket connected (fd=70)
[DexPlugin] Reading dummy byte from first socket (fd=65)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Entering video decode loop...
[DexPlugin] Waiting for first 12-byte frame header...
[DexPlugin] Received codec config packet (size=32) — feeding to decoder
[h264 @ 0x60a63ef649c0] no frame!
[DexPlugin] avcodec_send_packet failed: -1094995529
[DexPlugin] Waiting for first 12-byte frame header...
[DexPlugin] ✅ First video frame decoded: 1080x2400
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[h264 @ 0x60a63ef649c0] no frame!
[DexPlugin] Stream thread started: video=1 audio=0 control=1 port=12345
[DexPlugin] Connecting video socket to port 12345...
[DexPlugin] ✅ Video socket connected (fd=83)
[DexPlugin] Connecting control socket...
[DexPlugin] ✅ Control socket connected (fd=87)
[DexPlugin] Reading dummy byte from first socket (fd=83)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Entering video decode loop...
[DexPlugin] Waiting for first 12-byte frame header...
[DexPlugin] Stream thread started: video=0 audio=1 control=0 port=14001
[DexPlugin] Connecting audio socket...
[DexPlugin] ✅ Audio socket connected (fd=92)
[DexPlugin] Reading dummy byte from first socket (fd=92)...
[DexPlugin] Dummy byte: recv returned 1, byte=0x00
[DexPlugin] Received codec config packet (size=32) — feeding to decoder
[h264 @ 0x60a63ee2af40] no frame!
[DexPlugin] avcodec_send_packet failed: -1094995529
[DexPlugin] Waiting for first 12-byte frame header...
[DexPlugin] ✅ First video frame decoded: 1080x2400
[h264 @ 0x60a63ee2af40] no frame!
^C[DexPlugin] ❌ Frame header recv failed (frame_count=4261)
[DexPlugin] Video decode loop ended (frames decoded: 4261, running=1)
[DexPlugin] ❌ Frame header recv failed (frame_count=1532)
[DexPlugin] Video decode loop ended (frames decoded: 1532, running=0)
^Cembedder.cc (2603): 'FlutterEngineRemoveView' returned 'kInvalidArguments'. Remove view info was invalid. The implicit view cannot be removed.
g_mutex_clear() called on uninitialised or locked mutex
^C^C^C./run_android_dex.sh: line 393: 50947 Aborted (core dumped) "$APP_BINARY" "${PASS_ARGS[@]}"
[WARN] Hardware rendering failed (Code 134). Attempting Software Rendering (llvmpipe)...
Gtk-Message: 16:48:40.164: Failed to load module "colorreload-gtk-module"
Gtk-Message: 16:48:40.164: Failed to load module "window-decorations-gtk-module"
** (com.example.android_dex_win:52175): WARNING **: 16:48:44.596: Timed out waiting for OpenGL frame of size 1920x1200 (have 1280x720)
** (com.example.android_dex_win:52175): WARNING **: 16:48:44.778: Timed out waiting for OpenGL frame of size 1920x1200 (have 1280x720)
** (com.example.android_dex_win:52175): WARNING **: 16:48:44.908: Timed out waiting for OpenGL frame of size 1920x1200 (have 1280x720)
** (com.example.android_dex_win:52175): WARNING **: 16:48:45.034: Timed out waiting for OpenGL frame of size 1920x1200 (have 1280x720)
^C
noob@honor:~/Applications/android_dex$
noob@honor:~/Applications/android_dex$ \neofetch
///////////// noob@honor
///////////////////// ----------
///////*767//////////////// OS: Pop!_OS 24.04 LTS x86_64
//////7676767676*////////////// Host: FRI-GXXXA M1020
/////76767//7676767////////////// Kernel: 7.0.11-76070011-generic
/////767676///*76767/////////////// Uptime: 20 hours, 21 mins
///////767676///76767.///7676*/////// Packages: 3130 (dpkg), 35 (flatpak), 24 (snap)
/////////767676//76767///767676//////// Shell: bash 5.2.21
//////////76767676767////76767///////// Resolution: 1920x1200
///////////76767676//////7676////////// DE: COSMIC
////////////,7676,///////767/////////// Theme: Breeze [GTK2/3]
/////////////*7676///////76//////////// Icons: breeze-dark [GTK2/3]
///////////////7676//////////////////// Terminal: cosmic-term
///////////////7676///767//////////// CPU: 13th Gen Intel i5-13420H (12) @ 4.600GHz
//////////////////////'//////////// GPU: Intel Raptor Lake-P [UHD Graphics]
//////.7676767676767676767,////// Memory: 3415MiB / 15728MiB
/////767676767676767676767/////
///////////////////////////
/////////////////////
/////////////
noob@honor:~/Applications/android_dex$
Running Android-Dex on Pop!_OS 24.04, ( cosmic ) connected wired to a Poco X5 Pro on HyperOS 2 (official).
I've granted every permission the app asked for, turned off battery restrictions, and allowed background running. Still doesn't hold a stable connection.
What happens: it connects fine and streams for a bit, first frame decodes ok (1080x2400), then I start getting a flood of "no frame!" errors from the h264 decoder and the frame recv starts failing. It reconnects a few times on its own but eventually just hard crashes with an "Aborted (core dumped)". After that it tries falling back to software rendering, which just hangs completely waiting on OpenGL frames until I kill it.
System: Pop!_OS 24.04 LTS, kernel 7.0.11-76070011-generic, i5-13420H, Intel UHD Graphics, COSMIC desktop.
Not sure if this is a HyperOS-specific decoder quirk or something on the resolution negotiation side (I noticed it expects 1920x1200 but the device is sending 1280x720 during the fallback). Happy to test builds or grab more logs if that helps.
Full log below: