diff --git a/Apps/ImmichElias/main/Source/main.c b/Apps/ImmichElias/main/Source/main.c index 5eb400c..7002b88 100644 --- a/Apps/ImmichElias/main/Source/main.c +++ b/Apps/ImmichElias/main/Source/main.c @@ -471,16 +471,13 @@ static void detect_display_size(AppCtx* ctx, lv_obj_t* parent) { if (dw2>0 && dh2>0) { w=dw2; h=dh2; } } ctx->disp_w=w; ctx->disp_h=h; - // True fullscreen background: use full display resolution for image request - // Like BookPlayer, image should cover entire screen, UI overlays on top - int target_w = w; - int target_h = h; - if (target_w>480) target_w=480; - if (target_h>320) target_h=320; - if (target_w<120) target_w=FALLBACK_W; - if (target_h<120) target_h=FALLBACK_H; + // Black screen fix: request small image to avoid OOM and internal low memory 8723 bytes + // 320x240 decoded ~300KB, 240x180 ~172KB, 480x320 ~600KB (too large, causes black screen) + // Use 240x180 for stability, widget still fills display for fullscreen bg effect + int target_w = 240; + int target_h = 180; ctx->img_w=target_w; ctx->img_h=target_h; - ESP_LOGI(TAG, "Display detected %dx%d -> img target %dx%d FULLSCREEN bg", w,h,target_w,target_h); + ESP_LOGI(TAG, "Display detected %dx%d -> img request %dx%d (widget %dx%d fullscreen) BLACK SCREEN FIX", w,h,target_w,target_h,w,h); } static void hide_chrome(AppCtx* ctx) {