From 82a0cb8b6f90a1d09d9de98baf0185ae3532b748 Mon Sep 17 00:00:00 2001 From: maj00r Date: Fri, 3 Jul 2026 22:28:17 +0200 Subject: [PATCH] audio: log the real OpenAL Soft library version ALC_MAJOR/MINOR_VERSION only report the OpenAL API spec level (always 1.1), which is misleading. Additionally log alGetString(AL_VERSION) (e.g. "1.1 ALSOFT 1.24.2") once a context is current, and relabel the spec line. --- audio/audiorenderer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/audio/audiorenderer.cpp b/audio/audiorenderer.cpp index eb18058e..0c529ca1 100644 --- a/audio/audiorenderer.cpp +++ b/audio/audiorenderer.cpp @@ -571,7 +571,7 @@ openal_renderer::init_caps() { WriteLog( "Audio Renderer: " + al_renderer - + " OpenAL Version: " + oalversion ); + + " OpenAL API spec: " + oalversion ); // ALC spec level, always 1.1; not the library version WriteLog( "Supported extensions: " + std::string{ (char *)::alcGetString( m_device, ALC_EXTENSIONS ) } ); @@ -590,6 +590,13 @@ openal_renderer::init_caps() { return false; } + // the version reported above is the OpenAL API spec level (always 1.1); the real implementation + // version string (e.g. "1.1 ALSOFT 1.24.2") is only queryable once a context is current + if( auto const *libversion { (char const *)::alGetString( AL_VERSION ) } ) { + crashreport_add_info( "openal_lib_version", libversion ); + WriteLog( "sound: library version: " + std::string{ libversion } ); + } + if (alIsExtensionPresent("AL_SOFT_deferred_updates")) { alDeferUpdatesSOFT = (void(*)())alGetProcAddress("alDeferUpdatesSOFT");