diff '--color=auto' -Naur session-settings-8.1.0.orig/meson.build session-settings-8.1.0/meson.build
--- session-settings-8.1.0.orig/meson.build	2026-08-05 17:19:42.573203701 +0200
+++ session-settings-8.1.0/meson.build	2026-08-05 17:20:17.258243802 +0200
@@ -27,6 +27,16 @@
     'org.gnome.SettingsDaemon.XSettings',
 ]
 
+keyring_components = [
+    'gnome-keyring-daemon',
+    'gcr-ssh-agent'
+]
+
+desktop_components = [
+    'orca',
+    'io.elementary.settings-daemon'
+]
+
 subdir('po')
 
 if get_option('mimeapps-list')
diff '--color=auto' -Naur session-settings-8.1.0.orig/session/meson.build session-settings-8.1.0/session/meson.build
--- session-settings-8.1.0.orig/session/meson.build	2026-08-05 17:19:42.577039775 +0200
+++ session-settings-8.1.0/session/meson.build	2026-08-05 17:26:52.598100266 +0200
@@ -34,78 +34,79 @@
   install_dir: datadir / 'gnome-session' / 'sessions'
 )
 
-autostartdir = join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
-
-gsd_dir = gsd_dep.get_pkgconfig_variable('prefix')
-desktop_file_install = find_program('desktop-file-install')
-
-foreach component : gsd_components
-  original_filename = component + '.desktop'
+if (gsd_dep.version().version_compare('< 49'))
+  autostartdir = join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
+  gsd_dir = gsd_dep.get_pkgconfig_variable('prefix')
+  desktop_file_install = find_program('desktop-file-install')
+
+  foreach component : gsd_components
+    original_filename = component + '.desktop'
+
+    if get_option('detect-program-prefixes') == true
+      original_autostart_file = join_paths(gsd_dir, 'etc/xdg/autostart', original_filename)
+    else
+      original_autostart_file = join_paths(autostartdir, original_filename)
+    endif
+
+    patched_filename = 'pantheon-' + component + '.desktop'
+
+    custom_target('create-gsd-autostart' + patched_filename,
+      input: original_autostart_file,
+      output: patched_filename,
+      command: [
+        desktop_file_install,
+        '--set-key=OnlyShowIn',
+        '--set-value=Pantheon',
+        '--vendor=pantheon',
+        '--dir=@OUTDIR@',
+        '@INPUT@',
+      ],
+      install: true,
+      install_dir: autostartdir,
+    )
+  endforeach
+
+  gnome_keyring = find_program('gnome-keyring-daemon')
+  onboard = find_program('onboard')
+  orca = find_program('orca')
 
   if get_option('detect-program-prefixes') == true
-    original_autostart_file = join_paths(gsd_dir, 'etc/xdg/autostart', original_filename)
+    # TODO: use fs module in meson 0.53.0
+    gnome_keyring_prefix = gnome_keyring.path().split('/bin')[0]
+    onboard_prefix = onboard.path().split('/bin')[0]
+    orca_prefix = orca.path().split('/bin')[0]
+
+    autostarts = {
+      'gnome-keyring-pkcs11': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-pkcs11.desktop'),
+      'gnome-keyring-secrets': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-secrets.desktop'),
+      'gnome-keyring-ssh': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-ssh.desktop'),
+      'onboard-autostart': join_paths(onboard_prefix, 'etc/xdg/autostart', 'onboard-autostart.desktop'),
+      'orca-autostart': join_paths(orca_prefix, 'etc/xdg/autostart', 'orca-autostart.desktop'),
+    }
   else
-    original_autostart_file = join_paths(autostartdir, original_filename)
+    autostarts = {
+      'gnome-keyring-pkcs11': join_paths(autostartdir, 'gnome-keyring-pkcs11.desktop'),
+      'gnome-keyring-secrets': join_paths(autostartdir, 'gnome-keyring-secrets.desktop'),
+      'gnome-keyring-ssh': join_paths(autostartdir, 'gnome-keyring-ssh.desktop'),
+      'onboard-autostart': join_paths(autostartdir, 'onboard-autostart.desktop'),
+      'orca-autostart': join_paths(autostartdir, 'orca-autostart.desktop'),
+    }
   endif
 
-  patched_filename = 'pantheon-' + component + '.desktop'
-
-  custom_target('create-gsd-autostart' + patched_filename,
-    input: original_autostart_file,
-    output: patched_filename,
-    command: [
-      desktop_file_install,
-      '--set-key=OnlyShowIn',
-      '--set-value=Pantheon',
-      '--vendor=pantheon',
-      '--dir=@OUTDIR@',
-      '@INPUT@',
-    ],
-    install: true,
-    install_dir: autostartdir,
-  )
-endforeach
-
-gnome_keyring = find_program('gnome-keyring-daemon')
-onboard = find_program('onboard')
-orca = find_program('orca')
-
-if get_option('detect-program-prefixes') == true
-  # TODO: use fs module in meson 0.53.0
-  gnome_keyring_prefix = gnome_keyring.path().split('/bin')[0]
-  onboard_prefix = onboard.path().split('/bin')[0]
-  orca_prefix = orca.path().split('/bin')[0]
-
-  autostarts = {
-    'gnome-keyring-pkcs11': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-pkcs11.desktop'),
-    'gnome-keyring-secrets': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-secrets.desktop'),
-    'gnome-keyring-ssh': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-ssh.desktop'),
-    'onboard-autostart': join_paths(onboard_prefix, 'etc/xdg/autostart', 'onboard-autostart.desktop'),
-    'orca-autostart': join_paths(orca_prefix, 'etc/xdg/autostart', 'orca-autostart.desktop'),
-  }
-else
-  autostarts = {
-    'gnome-keyring-pkcs11': join_paths(autostartdir, 'gnome-keyring-pkcs11.desktop'),
-    'gnome-keyring-secrets': join_paths(autostartdir, 'gnome-keyring-secrets.desktop'),
-    'gnome-keyring-ssh': join_paths(autostartdir, 'gnome-keyring-ssh.desktop'),
-    'onboard-autostart': join_paths(autostartdir, 'onboard-autostart.desktop'),
-    'orca-autostart': join_paths(autostartdir, 'orca-autostart.desktop'),
-  }
+  foreach name, autostart : autostarts
+    custom_target('create-autostart-' + name,
+      input: autostart,
+      output: 'pantheon-' + name + '.desktop',
+      command: [
+        desktop_file_install,
+        '--set-key=OnlyShowIn',
+        '--set-value=Pantheon',
+        '--vendor=pantheon',
+        '--dir=@OUTDIR@',
+        '@INPUT@',
+      ],
+      install: true,
+      install_dir: autostartdir,
+    )
+  endforeach
 endif
-
-foreach name, autostart : autostarts
-  custom_target('create-autostart-' + name,
-    input: autostart,
-    output: 'pantheon-' + name + '.desktop',
-    command: [
-      desktop_file_install,
-      '--set-key=OnlyShowIn',
-      '--set-value=Pantheon',
-      '--vendor=pantheon',
-      '--dir=@OUTDIR@',
-      '@INPUT@',
-    ],
-    install: true,
-    install_dir: autostartdir,
-  )
-endforeach
diff '--color=auto' -Naur session-settings-8.1.0.orig/systemd/meson.build session-settings-8.1.0/systemd/meson.build
--- session-settings-8.1.0.orig/systemd/meson.build	2026-08-05 17:19:42.577128577 +0200
+++ session-settings-8.1.0/systemd/meson.build	2026-08-05 17:20:17.258315373 +0200
@@ -4,27 +4,39 @@
     systemd_userunitdir = dep_systemd.get_pkgconfig_variable('systemduserunitdir', define_variable: ['prefix', get_option('prefix')])
 endif
 
-desktop_plain = 'pantheon'
+desktop_targets = 'targets'
+desktop_sockets = 'sockets'
+desktop_services = 'services'
 
 shell_component = {
-    desktop_plain: 'io.elementary.gala',
+    desktop_targets: 'io.elementary.gala',
 }
 
 required_components = {
-    desktop_plain: gsd_components,
+    desktop_targets: gsd_components,
+    desktop_sockets: keyring_components,
+    desktop_services: desktop_components
 }
 
 gnome_session_wanted_targets = []
-foreach component: required_components[desktop_plain]
+gnome_session_wanted_sockets = []
+gnome_session_wanted_services = []
+foreach component: required_components[desktop_targets]
     gnome_session_wanted_targets += 'Wants=@0@.target'.format(component)
 endforeach
+foreach component: required_components[desktop_sockets]
+    gnome_session_wanted_sockets += 'Wants=@0@.socket'.format(component)
+endforeach
+foreach component: required_components[desktop_services]
+    gnome_session_wanted_services += 'Wants=@0@.service'.format(component)
+endforeach
 
 session_config = configure_file(
     input: 'gnome.session.conf.in',
     output: 'session.conf',
     configuration: {
-        'requires_component': shell_component[desktop_plain],
-        'wants_required_components': '\n'.join(gnome_session_wanted_targets),
+        'requires_component': shell_component[desktop_targets],
+        'wants_required_components': '\n'.join(gnome_session_wanted_targets, gnome_session_wanted_sockets, gnome_session_wanted_services),
     },
     install_dir: systemd_userunitdir / 'gnome-session@pantheon.target.d',
 )
