From 9c4b44233555a6506b0a78e3b7274291da5fbb9b Mon Sep 17 00:00:00 2001 From: Ross Vandegrift Date: Sun, 24 Mar 2024 21:21:15 -0700 Subject: [PATCH] attempt to dlopen libddcutil.so.5 first The backwards-incompatible changes in libddcutil.so.5 are documented at https://www.ddcutil.com/c_api_200/ - a quick grep says that the only affected symbol appearing in E is ddca_set_global_sleep_multiplier (which is already optional). This change does not make any of the changes suggested in the "Library Initialization" section of the above doc. --- src/bin/system/e_system_ddc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bin/system/e_system_ddc.c b/src/bin/system/e_system_ddc.c index 7b12fc5f4..f06ea2c93 100644 --- a/src/bin/system/e_system_ddc.c +++ b/src/bin/system/e_system_ddc.c @@ -304,9 +304,14 @@ err: static Eina_Bool _ddc_init(void) { - // .so.3 is ABI compatible twith .so.2 for out uses - see - // https://www.ddcutil.com/c_api_99/ for changes between them - ddc_lib = dlopen("libddcutil.so.4", RTLD_NOW | RTLD_LOCAL); + // .so.[345] are ABI compatible with .so.2 for our uses - see + // the changes listed at: + // - https://www.ddcutil.com/c_api_99/ + // - https://www.ddcutil.com/c_api_120/ + // - https://www.ddcutil.com/c_api_200/ + ddc_lib = dlopen("libddcutil.so.5", RTLD_NOW | RTLD_LOCAL); + if (!ddc_lib) + ddc_lib = dlopen("libddcutil.so.4", RTLD_NOW | RTLD_LOCAL); if (!ddc_lib) ddc_lib = dlopen("libddcutil.so.3", RTLD_NOW | RTLD_LOCAL); if (!ddc_lib)