diff --git a/src/common/logging.cpp b/src/common/logging.cpp index efba9ceb79..2868300d1a 100644 --- a/src/common/logging.cpp +++ b/src/common/logging.cpp @@ -298,7 +298,7 @@ private: std::size_t bytes_written = 0; bool enabled = true; }; -#endif + #ifdef _WIN32 /// @brief Backend that writes to Visual Studio's output window struct DebuggerBackend final : public Backend { diff --git a/src/video_core/vulkan_common/vulkan_instance.cpp b/src/video_core/vulkan_common/vulkan_instance.cpp index 41f848750e..b8ba90a2fe 100644 --- a/src/video_core/vulkan_common/vulkan_instance.cpp +++ b/src/video_core/vulkan_common/vulkan_instance.cpp @@ -115,9 +115,19 @@ void RemoveUnavailableLayers(const vk::InstanceDispatch& dld, std::vector OpenLibrary( - [[maybe_unused]] Core::Frontend::GraphicsContext* context) { +std::shared_ptr OpenLibrary([[maybe_unused]] Core::Frontend::GraphicsContext* context) { LOG_DEBUG(Render_Vulkan, "Looking for a Vulkan library"); +#if defined(__OPENORBIS__) + return std::make_shared(); +#else #if defined(__ANDROID__) && defined(ARCHITECTURE_arm64) // Android manages its Vulkan driver from the frontend. return context->GetDriverLibrary(); @@ -46,6 +48,7 @@ std::shared_ptr OpenLibrary( #endif return library; #endif +#endif } } // namespace Vulkan diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl3.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl3.cpp index cff2292bb2..34e512b0a1 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl3.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl3.cpp @@ -26,10 +26,12 @@ EmuWindow_SDL3::EmuWindow_SDL3(InputCommon::InputSubsystem* input_subsystem_, Core::System& system_) : input_subsystem{input_subsystem_}, system{system_} { input_subsystem->Initialize(); - if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_GAMEPAD)) { - LOG_CRITICAL(Frontend, "Failed to initialize SDL3: {}, Exiting...", SDL_GetError()); - exit(1); - } + if (!SDL_InitSubSystem(SDL_INIT_VIDEO)) + LOG_CRITICAL(Frontend, "SDL_INIT_VIDEO: {}", SDL_GetError()); + if (!SDL_InitSubSystem(SDL_INIT_JOYSTICK)) + LOG_CRITICAL(Frontend, "SDL_INIT_JOYSTICK: {}", SDL_GetError()); + if (!SDL_InitSubSystem(SDL_INIT_GAMEPAD)) + LOG_CRITICAL(Frontend, "SDL_INIT_GAMEPAD: {}", SDL_GetError()); titlebar_timer = SDL_AddTimer(2000, [](void *userdata, SDL_TimerID, Uint32) -> Uint32 { auto* this_ = (EmuWindow_SDL3*)userdata; auto const results = this_->system.GetAndResetPerfStats(); diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl3_vk.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl3_vk.cpp index 9019cbbba0..4781a75c78 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl3_vk.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl3_vk.cpp @@ -81,8 +81,12 @@ EmuWindow_SDL3_VK::EmuWindow_SDL3_VK(InputCommon::InputSubsystem* input_subsyste window_info.type = Core::Frontend::WindowSystemType::Android; window_info.render_surface = android_window; } else { +#ifdef __OPENORBIS__ + window_info.type = Core::Frontend::WindowSystemType::Headless; +#else LOG_CRITICAL(Frontend, "Unable to determine native window backend from SDL properties"); std::exit(EXIT_FAILURE); +#endif } OnResize();