Steps to reproduce
Steps to reproduce
- Install latest stable or pre-release Cloudstream on an Allwinner H713-based Android TV device (e.g. HY320 projector)
- Add any extension/repository
- Open home screen
Expected behavior
Images should load normally, as they did in versions prior to the Glide → Coil migration (PR #1368, merged Oct 26, 2024).
Actual behavior
No images load at all — not posters, not extension icons, not thumbnails. Every image slot shows the placeholder.
Cloudstream version and commit hash
4.7.0-PRE
Android version
Android 13
Logcat
Other details
Diagnosis performed
- Network is not the issue:
curl successfully downloads TMDB images from the device (HTTP 200, full payload received)
- DNS is not the issue:
ping image.tmdb.org resolves correctly to BunnyCDN (0% packet loss, ~72ms)
- TLS/certificates are not the issue: 130 CA certs present, curl completes HTTPS handshake without errors
- Storage is not the issue: 2 GB free on 8 GB internal storage
- Clean install does not fix it: Full uninstall + reinstall, tested on both stable and pre-release
- Other devices on the same network work fine with the same Cloudstream version
- Images worked ~1 year ago on the same device, before the Coil migration
Root cause hypothesis
Coil's image decoding (likely hardware bitmap allocation or GPU-backed rendering) is incompatible with the Allwinner H713 GPU/display driver stack. Glide handled this gracefully; Coil does not. The device's AOSP WebView (v101.0.4951.61) and limited GPU drivers may lack support for features Coil assumes are available.
Confirmed: Extension icons load correctly on v4.4.0 (Glide-based). Same icons fail to load on latest stable/pre-release (Coil-based) on the same device, same network.
Device information
- Device: HY320 Android TV Projector (Magcubic/Sinoy)
- SoC: Allwinner H713
- RAM: 2 GB
- Storage: 8 GB
- OS: Android 11 (unlicensed/AOSP-based, no Google certification)
- WebView: AOSP WebView 101.0.4951.61
- GMS: Present (com.google.android.gms)
- Architecture: armeabi-v7a
Cloudstream version
Tested on latest stable and latest pre-release — both affected.
Possible fix directions
- Add a fallback to software bitmap decoding when hardware bitmap allocation fails
- Add
allowHardware(false) to Coil's ImageLoader builder for devices that report Allwinner GPU
- Or provide a user-facing toggle to disable hardware bitmaps in Settings
Acknowledgements
Steps to reproduce
Steps to reproduce
Expected behavior
Images should load normally, as they did in versions prior to the Glide → Coil migration (PR #1368, merged Oct 26, 2024).
Actual behavior
No images load at all — not posters, not extension icons, not thumbnails. Every image slot shows the placeholder.
Cloudstream version and commit hash
4.7.0-PRE
Android version
Android 13
Logcat
Other details
Diagnosis performed
curlsuccessfully downloads TMDB images from the device (HTTP 200, full payload received)ping image.tmdb.orgresolves correctly to BunnyCDN (0% packet loss, ~72ms)Root cause hypothesis
Coil's image decoding (likely hardware bitmap allocation or GPU-backed rendering) is incompatible with the Allwinner H713 GPU/display driver stack. Glide handled this gracefully; Coil does not. The device's AOSP WebView (v101.0.4951.61) and limited GPU drivers may lack support for features Coil assumes are available.
Confirmed: Extension icons load correctly on v4.4.0 (Glide-based). Same icons fail to load on latest stable/pre-release (Coil-based) on the same device, same network.
Device information
Cloudstream version
Tested on latest stable and latest pre-release — both affected.
Possible fix directions
allowHardware(false)to Coil's ImageLoader builder for devices that report Allwinner GPUAcknowledgements