diff --git a/Golden_Repo/x/xpra/xpra-4.3.2-GCCcore-11.2.0.eb b/Golden_Repo/x/xpra/xpra-4.3.2-GCCcore-11.2.0.eb
index 4b23cb1efd72b4b5ce70ecdddee64cc30618630f..0cf74cbfd0963da9018069ce60ceea41fc4c5c40 100644
--- a/Golden_Repo/x/xpra/xpra-4.3.2-GCCcore-11.2.0.eb
+++ b/Golden_Repo/x/xpra/xpra-4.3.2-GCCcore-11.2.0.eb
@@ -91,10 +91,14 @@ exts_list = [
     ('xpra', '4.3.2', dict(list(local_common_opts.items()) + [
         ('source_urls', ['https://github.com/Xpra-org/%(name)s/archive/']),
         ('source_tmpl', 'v%(version)s.tar.gz'),
-        ('patches', ['xpra-4.0.4-use_Xorg_on_PATH_first.patch']),
+        ('patches', [
+            'xpra-4.0.4-use_Xorg_on_PATH_first.patch',
+            'xpra-iconsearch-XDG_DATA_DIRS.patch',
+        ]),
         ('checksums', [
             ('sha256', '1e548b8d20c243fba40692abb0aa2759e3bd3f2d3b6b51a160f82746cdf1d782'),
             ('sha256', '83053938421de4dfd4ff8cd5430414180e9f33d5c59b4f1c1428095db6b1fa71'),
+            ('sha256', '7bb677302308dacdc55f9a862b6eee43f0a8d2b4524a8dec6d80bcdf3982d6af'),
         ]),
         ('use_pip', False),
         ('buildopts', '--without-strict --with-nvenc --with-nvjpeg --with-Xdummy'),
@@ -103,7 +107,11 @@ exts_list = [
     ('xpra-html5', '4.5.2', dict(list(local_common_opts.items()) + [
         ('source_urls', ['https://github.com/Xpra-org/%(name)s/archive/']),
         ('source_tmpl', 'v%(version)s.tar.gz'),
-        ('checksums', [('sha256', '7f4ccea864fdfb8d6c71a77100fcb2ad07af0773eaafc528ec19ff8187d9bfdb')]),
+        ('patches', ['xprahtml-4.5.2-encryptionfix.patch']),
+        ('checksums', [
+            ('sha256', '7f4ccea864fdfb8d6c71a77100fcb2ad07af0773eaafc528ec19ff8187d9bfdb'),
+            ('sha256', 'be0b430f7e6970eb35912c5c2cc7fb9f2073f94485c12776d06752cf8c0f6023'),
+        ]),
         ('use_pip', False),
         ('skipsteps', ['configure', 'build', 'install']),  # install in postinstallcmds
         ('modulename', 'xpra'),
@@ -117,6 +125,13 @@ postinstallcmds = [
         './setup.py install %(installdir)s/share/xpra/www && '
         'popd'
     ),
+    # set specific configurations
+    (
+        # server config
+        'touch %(installdir)s/etc/xpra/server.env && '
+        "sed -i 's!^source =.*!source = %(installdir)s/etc/xpra/server.env!' "
+        "       %(installdir)s/etc/xpra/conf.d/60_server.conf"
+    ),
     # make Xpra randomly choose a GPU for acceleration if present
     'mv %(installdir)s/bin/xpra %(installdir)s/bin/xpra.orig',
     'head -1 %(installdir)s/bin/xpra.orig > %(installdir)s/bin/xpra',
@@ -141,6 +156,9 @@ postinstallcmds = [
     'chmod +x %(installdir)s/bin/xpra',
 ]
 
+modextravars = {
+    'XPRA_SYSTEM_CONF_DIRS': '%(installdir)s/etc/xpra',
+}
 modextrapaths = {
     'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'],
 }
diff --git a/Golden_Repo/x/xpra/xpra-iconsearch-XDG_DATA_DIRS.patch b/Golden_Repo/x/xpra/xpra-iconsearch-XDG_DATA_DIRS.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f5afb0bbd1c9d32b75e92354286d7a87dd04343d
--- /dev/null
+++ b/Golden_Repo/x/xpra/xpra-iconsearch-XDG_DATA_DIRS.patch
@@ -0,0 +1,23 @@
+diff -Naur xpra.orig/xpra/platform/xposix/menu_helper.py xpra/xpra/platform/xposix/menu_helper.py
+--- a/xpra.orig/xpra/platform/xposix/menu_helper.py	2022-03-30 23:59:37.274275428 +0200
++++ a/xpra/xpra/platform/xposix/menu_helper.py	2022-03-31 00:06:49.279245408 +0200
+@@ -177,8 +177,9 @@
+ def find_pixmap_icon(*names):
+     if not LOAD_FROM_PIXMAPS:
+         return None
++    pixmaps_dirs = [d + '/icons' for d in os.environ.get("XDG_DATA_DIRS").split(":")]
+     pixmaps_dir = "%s/share/pixmaps" % sys.prefix
+-    pixmaps_dirs = (pixmaps_dir, os.path.join(pixmaps_dir, "comps"))
++    pixmaps_dirs += (pixmaps_dir, os.path.join(pixmaps_dir, "comps"))
+     for d in pixmaps_dirs:
+         if not os.path.exists(d) or not os.path.isdir(d):
+             return None
+@@ -411,6 +412,8 @@
+         from xdg.Menu import MenuEntry
+         entries = {}
+         for d in LOAD_APPLICATIONS:
++            if not os.path.exists(d):
++                continue
+             for f in os.listdir(d):
+                 if not f.endswith(".desktop"):
+                     continue
diff --git a/Golden_Repo/x/xpra/xprahtml-4.5.2-encryptionfix.patch b/Golden_Repo/x/xpra/xprahtml-4.5.2-encryptionfix.patch
new file mode 100644
index 0000000000000000000000000000000000000000..40ec1ed1dad2ef5d34d422336ff42e888fce423b
--- /dev/null
+++ b/Golden_Repo/x/xpra/xprahtml-4.5.2-encryptionfix.patch
@@ -0,0 +1,13 @@
+--- a/html5/js/Protocol.js.orig    2022-03-28 12:59:40.198667996 +0200
++++ b/html5/js/Protocol.js 2022-03-28 13:02:38.099943598 +0200
+@@ -631,6 +631,10 @@
+ 		throw "unsupported encryption specified: '"+cipher+"'";
+ 	}
+ 	const key_salt = caps["cipher.key_salt"];
++	let key_salt = caps["cipher.key_salt"];
++	if (typeof key_salt !== 'string') {
++		key_salt = String.fromCharCode.apply(null, key_salt);
++	}
+ 	const iterations = caps["cipher.key_stretch_iterations"];
+ 	if (iterations<0) {
+ 		throw "invalid number of iterations: "+iterations;