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..b3051bd0f860936e34bba6bb7021b82c4bcee5ea 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-add-XPRA_SYSCONF_DIR.patch',
+        ]),
         ('checksums', [
             ('sha256', '1e548b8d20c243fba40692abb0aa2759e3bd3f2d3b6b51a160f82746cdf1d782'),
             ('sha256', '83053938421de4dfd4ff8cd5430414180e9f33d5c59b4f1c1428095db6b1fa71'),
+            ('sha256', 'cdef1de0b941b25cfdfdac11f36b6548febcbd76116761a05f3db3839c33d059'),
         ]),
         ('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', '252ce94ac3079c0d4db7a10862fe690ef0dd46ccdf36780bc917b5ff49205eb0'),
+        ]),
         ('use_pip', False),
         ('skipsteps', ['configure', 'build', 'install']),  # install in postinstallcmds
         ('modulename', 'xpra'),
@@ -117,6 +125,12 @@ 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 +155,9 @@ postinstallcmds = [
     'chmod +x %(installdir)s/bin/xpra',
 ]
 
+modextravars = {
+    'XPRA_SYSCONF_DIR' : '%(installdir)s/etc/xpra',
+}
 modextrapaths = {
     'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'],
 }
diff --git a/Golden_Repo/x/xpra/xpra-add-XPRA_SYSCONF_DIR.patch b/Golden_Repo/x/xpra/xpra-add-XPRA_SYSCONF_DIR.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a8d11897c6fc88307956c0e022cd425d3a894d70
--- /dev/null
+++ b/Golden_Repo/x/xpra/xpra-add-XPRA_SYSCONF_DIR.patch
@@ -0,0 +1,38 @@
+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 -Naur xpra.orig/xpra/platform/xposix/paths.py xpra/xpra/platform/xposix/paths.py
+--- a/xpra.orig/xpra/platform/xposix/paths.py	2022-03-30 23:59:37.275482000 +0200
++++ a/xpra/xpra/platform/xposix/paths.py	2022-03-31 00:00:57.851713000 +0200
+@@ -80,7 +80,10 @@
+ 
+ 
+ def do_get_system_conf_dirs():
+-    dirs = ["/etc/xpra", "/usr/local/etc/xpra"]
++    if os.environ.get("XPRA_SYSCONF_DIR") is not None:
++        dirs = [os.environ.get("XPRA_SYSCONF_DIR")]
++    else:
++        dirs = ["/etc/xpra", "/usr/local/etc/xpra"]
+     for d in os.environ.get("XDG_CONFIG_DIRS", "/etc/xdg").split(":"):
+         dirs.append(os.path.join(d, "xpra"))
+     #hope the prefix is something like "/usr/local" or "$HOME/.local":
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..141ea3202393d28d69a00c5b30109916da778ba8
--- /dev/null
+++ b/Golden_Repo/x/xpra/xprahtml-4.5.2-encryptionfix.patch
@@ -0,0 +1,17 @@
+--- 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,14 @@
+ 		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);
++	}
++	console.warn("key_salt=", key_salt);
++	console.log("key_salt=", key_salt.constructor);
++	console.log("key_salt=", typeof key_salt);
++	console.log("from packet encoder", this.packet_encoder);
+ 	const iterations = caps["cipher.key_stretch_iterations"];
+ 	if (iterations<0) {
+ 		throw "invalid number of iterations: "+iterations;