diff --git a/frontend/frontend_console.c b/frontend/frontend_console.c index 61c47551d6..bdc207c141 100644 --- a/frontend/frontend_console.c +++ b/frontend/frontend_console.c @@ -31,11 +31,13 @@ #undef main -int rarch_console_preinit(void); - +// Only called once on init and deinit. +// Video and input drivers need to be active (owned) +// before retroarch core starts. static void init_console_drivers(void) { - driver.video->start(); + init_drivers_pre(); // Set driver.* function callbacks. + driver.video->start(); // Statically starts video driver. Sets driver.video_data. driver.input_data = driver.input->init(); rarch_input_set_controls_default(driver.input); driver.input->post_init(); @@ -69,7 +71,9 @@ int main(int argc, char *argv[]) rarch_settings_set_default(); rarch_config_load(); - rarch_console_preinit(); + config_load(); + init_libretro_sym(); + init_system_info(); init_console_drivers(); diff --git a/retroarch.c b/retroarch.c index 509434b065..0f11ff8df6 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2643,38 +2643,6 @@ static void validate_cpu_features(void) #endif } -#ifdef RARCH_CONSOLE -int rarch_console_preinit(void) -{ - init_state(); - - if (g_extern.verbose) - { - RARCH_LOG_OUTPUT("=== Build ======================================="); - print_compiler(stderr); - RARCH_LOG_OUTPUT("=================================================\n"); - } - - validate_cpu_features(); - config_load(); - - init_libretro_sym(); - init_system_info(); - - init_drivers_pre(); - - return 0; - -#if 0 -error: - pretro_deinit(); - uninit_libretro_sym(); - - return 1; -#endif -} -#endif - int rarch_main_init(int argc, char *argv[]) { init_state();