diff --git a/bin/system-info.c b/bin/system-info.c index 23de35f6a42e54ed6547c4b003d4110780725e1c..cf0dcf3e6384a217a535b5058d5a25f2c52a523f 100644 --- a/bin/system-info.c +++ b/bin/system-info.c @@ -972,10 +972,11 @@ main (int argc, jsonify_runtime_issues (builder, runtime_issues); json_builder_end_array (builder); - if (g_strcmp0 (rt_path, "/") == 0) - { - overrides = srt_system_info_list_pressure_vessel_overrides (info, &messages); + overrides = srt_system_info_list_pressure_vessel_overrides (info, &messages); + if ((overrides != NULL && overrides[0] != NULL) + || (messages != NULL && messages[0] != NULL)) + { json_builder_set_member_name (builder, "overrides"); json_builder_begin_object (builder); diff --git a/steam-runtime-tools/system-info.c b/steam-runtime-tools/system-info.c index 3074de02366f6239d1915cf43ff0b876feb364a3..280c3df240c95f96eed291fe5981b22ba4c0bae3 100644 --- a/steam-runtime-tools/system-info.c +++ b/steam-runtime-tools/system-info.c @@ -1234,17 +1234,10 @@ ensure_overrides_cached (SrtSystemInfo *self) "overrides/", "usr/lib/pressure-vessel/overrides/", }; - g_autofree gchar *runtime = NULL; gsize i; self->overrides.have_data = TRUE; - runtime = srt_system_info_dup_runtime_path (self); - /* Skip checking the overridden folder if we are not in a pressure-vessel - * Steam Runtime container */ - if (g_strcmp0 (runtime, "/") != 0) - return; - for (i = 0; i < G_N_ELEMENTS (paths); i++) { if (_srt_file_test_in_sysroot (self->sysroot, self->sysroot_fd, @@ -2562,7 +2555,17 @@ ensure_runtime_cached (SrtSystemInfo *self) if (self->runtime.issues == SRT_RUNTIME_ISSUES_NONE && self->runtime.path == NULL) { - if (g_strcmp0 (self->os_release.id, "steamrt") == 0) + const char *runtime = g_environ_getenv (self->env, "STEAM_RUNTIME"); + + if (runtime != NULL && runtime[0] == '/' && runtime[1] != '\0') + { + self->runtime.issues = _srt_runtime_check (srt_steam_get_bin32_path (self->steam_data), + self->runtime.expected_version, + self->env, + &self->runtime.version, + &self->runtime.path); + } + else if (g_strcmp0 (self->os_release.id, "steamrt") == 0) { self->runtime.path = g_strdup ("/"); self->runtime.version = g_strdup (self->os_release.build_id);