diff --git a/src/Renderer.cpp b/src/Renderer.cpp
index 9896107d41a0be9b08364f9b5be02a85d61c3aca..e1733018c683b43749aa397dfa853cf189e628e0 100644
--- a/src/Renderer.cpp
+++ b/src/Renderer.cpp
@@ -174,7 +174,7 @@ static auto create_render_pass(const vk::Format color_format, const vk::Device d
         .dstAccessMask = vk::AccessFlagBits::eColorAttachmentWrite,
     };
 
-    const vk::RenderPassCreateInfo render_pass_create_info{
+    const vk::RenderPassCreateInfo create_info{
         .attachmentCount = static_cast<uint32_t>(attachment_descriptions.size()),
         .pAttachments    = attachment_descriptions.data(),
         .subpassCount    = 1,
@@ -183,7 +183,7 @@ static auto create_render_pass(const vk::Format color_format, const vk::Device d
         .pDependencies   = &subpass_dependency,
     };
 
-    return device.createRenderPassUnique(render_pass_create_info);
+    return device.createRenderPassUnique(create_info);
 }
 
 Renderer::Renderer(const Window& window)
diff --git a/src/Window.cpp b/src/Window.cpp
index bab07e45437a9c754e06aee6957957ab679cc27e..bfa48decfe00af3bb01c3b68cf80ef96c5020ded 100644
--- a/src/Window.cpp
+++ b/src/Window.cpp
@@ -3,21 +3,35 @@
 #include <format>
 #include <stdexcept>
 
-[[nodiscard]]
-static auto
-    create_window(const uint16_t width, const uint16_t height, const std::string& title)
-        -> GLFWwindow*
+static void init_glfw()
 {
-    if (const auto error_code{ glfwInit() }; error_code != GLFW_TRUE) {
-        throw std::runtime_error{
-            std::format("glfwInit failed with error code {}", error_code)
-        };
+    if (const int success{ glfwInit() }; success != GLFW_TRUE) {
+        const char* description{};
+        const int   error_code{ glfwGetError(&description) };
+
+        if (description == nullptr) {
+            throw std::runtime_error{
+                std::format("glfwInit failed with error code {}", error_code)
+            };
+        }
+        throw std::runtime_error{ std::format(
+            "glfwInit failed with error code {} - '{}'", error_code, description
+        ) };
     }
-    if (const auto result{ std::atexit(glfwTerminate) }; result != 0) {
+
+    if (const int result{ std::atexit(glfwTerminate) }; result != 0) {
         throw std::runtime_error{
-            std::format("std::atexit(glfwTerminate) failed with error code {}", result)
+            std::format("std::atexit failed with error code {}", result)
         };
     }
+}
+
+[[nodiscard]]
+static auto
+    create_window(const uint16_t width, const uint16_t height, const std::string& title)
+        -> GLFWwindow*
+{
+    init_glfw();
 
     glfwDefaultWindowHints();
     glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
@@ -34,9 +48,7 @@ static auto
 auto Window::vulkan_instance_extensions() -> std::span<const char* const>
 {
     static const std::vector s_extension_names{ []() -> std::vector<const char*> {
-        if (glfwInit() != GLFW_TRUE) {
-            return {};
-        }
+        init_glfw();
 
         uint32_t             count{};
         const char**         glfw_extension_names{ glfwGetRequiredInstanceExtensions(&count) };