diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 3315c3f25b..2bb8e0c289 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -1063,8 +1063,7 @@ static bool video_driver_init_internal(bool *video_is_threaded) command_event(CMD_EVENT_OVERLAY_DEINIT, NULL); command_event(CMD_EVENT_OVERLAY_INIT, NULL); - if (!frame_cache_data) - video_driver_cached_frame_set(&dummy_pixels, 4, 4, 8); + video_driver_cached_frame_set(&dummy_pixels, 4, 4, 8); #if defined(PSP) video_driver_set_texture_frame(&dummy_pixels, false, 1, 1, 1.0f); @@ -2503,7 +2502,9 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->xmb_alpha_factor = settings->uints.menu_xmb_alpha_factor; video_info->menu_wallpaper_opacity = settings->floats.menu_wallpaper_opacity; - video_info->libretro_running = core_is_game_loaded(); + if (!settings->bools.menu_pause_libretro) + video_info->libretro_running = (rarch_ctl(RARCH_CTL_IS_INITED, NULL) + && !rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)); #else video_info->menu_is_alive = false; video_info->menu_footer_opacity = 0.0f; diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index f326c5d001..0abea01a11 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2582,7 +2582,7 @@ static void xmb_draw_bg( if (!running && draw.texture) draw.color = &coord_white[0]; - if (running || video_info->xmb_color_theme == XMB_THEME_WALLPAPER) + if (video_info->xmb_color_theme == XMB_THEME_WALLPAPER) add_opacity = true; menu_display_draw_bg(&draw, video_info, add_opacity); diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 2c20a6fd63..a7d1fad1cf 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -543,7 +543,7 @@ void menu_display_draw_bg(menu_display_ctx_draw_t *draw, draw->coords = &coords; - if (draw->texture) + if (!video_info->libretro_running && !draw->pipeline.active) add_opacity_to_wallpaper = true; if (add_opacity_to_wallpaper)