Pushed updates for release v1.1.0

This commit is contained in:
2026-10-20 23:42:30 +02:00
parent be7891f066
commit d75c345d36
26 changed files with 606 additions and 217 deletions

View File

@@ -15,6 +15,7 @@ from typing import Any
from uuid import uuid4
from ...command import CommandOutcome
from ...depot import validate_installed_launch_catalog
from ...diagnostics.crash_dumps import (
inspect_minidump,
prepare_minidump_attachment,
@@ -107,6 +108,7 @@ def play_locked(
flush=True,
)
window_launch_metadata: dict[str, object] = {
"renderer_requested": settings.renderer,
"gamebox_enabled": not no_box,
"resizable_window_requested": settings.allow_window_resizing,
"launcher_inside_steam_runtime": launcher_nested_in_steam_runtime,
@@ -119,8 +121,11 @@ def play_locked(
window_launch_metadata["gamescope_disabled_reason"] = (
"launcher_inside_steam_runtime"
)
launch_catalog = api.read_cached_depot_launch_catalog(paths.depot_launch_catalog_cache)
if game_dir is None:
validate_installed_launch_catalog(paths, launch_catalog)
start_option = api.select_depot_start_option(
api.read_cached_depot_launch_catalog(paths.depot_launch_catalog_cache),
launch_catalog,
realm or settings.realm,
)
settings = runtime_settings_for_realm(settings, start_option.name)
@@ -229,8 +234,6 @@ def play_locked(
},
context={"operation": "launch_game", "stage": "game_start"},
)
if before_game is not None:
before_game()
managed_asset_paths = (
[entry.path for entry in depot_file_catalog.files]
if depot_file_catalog is not None
@@ -332,6 +335,7 @@ def play_locked(
else None
),
pass_fds=game_lease_fds,
before_start=before_game,
)
except KeyboardInterrupt:
game_runtime_seconds = max(0.0, time.monotonic() - game_started_at)
@@ -608,7 +612,7 @@ def game_exit_metadata(
# Python gamebox sees it.
wrapped_sigkill = 256 - int(signal.SIGKILL)
if (
runtime_kind in {"umu", "proton7", "proton7-container"}
runtime_kind in {"umu", "ge-proton", "proton7", "proton7-container"}
and returncode == wrapped_sigkill
):
wrapper = "proton" if runtime_kind == "proton7" else "umu"
@@ -925,6 +929,10 @@ def runtime_issue_summary(stderr: str) -> dict[str, object]:
"gstreamer_missing_library_count": len(missing_libraries),
"gstreamer_missing_libraries": missing_libraries,
"gstreamer_stream_error": "winegstreamer error" in folded,
"gstreamer_caps_error_count": sum(
"gst_caps_is_fixed (caps)" in line and "failed" in line
for line in folded.splitlines()
),
"mesa_egl_initialization_failed": "egl: failed to create dri2 screen" in folded,
"gamescope_present_queue_unsupported": (
"physical device queue doesn't support presenting on our surface" in folded
@@ -932,6 +940,17 @@ def runtime_issue_summary(stderr: str) -> dict[str, object]:
"gamescope_vulkan_output_failed_count": folded.count(
"vulkan_make_output failed"
),
"gamescope_memory_protection_warning_count": folded.count(
"sd_bus_call(g_dbus, message, uint64_max, null, &reply)failed with ret"
),
"gamescope_priority_fallback": "no cap_sys_nice, falling back" in folded,
"gamescope_forced_cleanup": (
"gamescope did not stop gracefully; forcing cleanup" in folded
),
"gamescope_child_status_missing": (
"gamescope exited without a recorded game status" in folded
),
"proton_game_drive_warning": "unable to use parent for game drive" in folded,
"steam_api_app_id_missing": "steamapi_init() failed; no appid found" in folded,
"dbghelp_symdeferred_assertion_count": folded.count(dbghelp_assertion),
"bubblewrap_uid_map_permission_denied": bwrap_uid_map_denied in folded,