diff --git a/developer_toolbox/inject_framework.sh b/developer_toolbox/inject_framework.sh
index 91596ff4..65a16c35 100755
--- a/developer_toolbox/inject_framework.sh
+++ b/developer_toolbox/inject_framework.sh
@@ -21,8 +21,8 @@ else
     exit 1
 fi
 
+sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons" 
+sudo cp -vfr "emu-configs/"** "$app/retrodeck/emu-configs/"
+sudo cp -vfr "tools" "$app"
 sudo cp -vfr "retrodeck.sh" "$app/bin/"
 sudo cp -vfr "functions/"** "$app/libexec/"
-sudo cp -vfr "tools" "$app"
-sudo cp -vfr "emu-configs/"** "$app/retrodeck/emu-configs/"
-sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons" 
\ No newline at end of file
diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml
index 5aed946b..83531018 100644
--- a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml
+++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml
@@ -25,9 +25,9 @@
 	</controller>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_030079f6de280000ff11000001000000</uuid>
+		<uuid>0_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
+		<rumble>0</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -123,19 +123,19 @@
 			</entry>
 			<entry>
 				<mapping>4</mapping>
-				<button>2</button>
-			</entry>
-			<entry>
-				<mapping>3</mapping>
 				<button>3</button>
 			</entry>
+			<entry>
+				<mapping>3</mapping>
+				<button>2</button>
+			</entry>
 			<entry>
 				<mapping>2</mapping>
-				<button>0</button>
+				<button>1</button>
 			</entry>
 			<entry>
 				<mapping>1</mapping>
-				<button>1</button>
+				<button>0</button>
 			</entry>
 		</mappings>
 	</controller>
diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml
index 0b1380fa..e62e1b06 100644
--- a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml
+++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml
@@ -1,40 +1,84 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <emulated_controller>
-	<type>Wii U Pro Controller</type>
+	<type>Wii U GamePad</type>
 	<profile>SteamInput-P1</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_030079f6de280000ff11000001000000</uuid>
+		<uuid>0_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
+		<rumble>0</rumble>
 		<axis>
-			<deadzone>0.2</deadzone>
+			<deadzone>0.25</deadzone>
 			<range>1</range>
 		</axis>
 		<rotation>
-			<deadzone>0.2</deadzone>
+			<deadzone>0.25</deadzone>
 			<range>1</range>
 		</rotation>
 		<trigger>
-			<deadzone>0.2</deadzone>
+			<deadzone>0.25</deadzone>
 			<range>1</range>
 		</trigger>
 		<mappings>
 			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
+				<mapping>24</mapping>
+				<button>40</button>
 			</entry>
 			<entry>
-				<mapping>2</mapping>
+				<mapping>23</mapping>
+				<button>46</button>
+			</entry>
+			<entry>
+				<mapping>22</mapping>
+				<button>41</button>
+			</entry>
+			<entry>
+				<mapping>21</mapping>
+				<button>47</button>
+			</entry>
+			<entry>
+				<mapping>20</mapping>
+				<button>38</button>
+			</entry>
+			<entry>
+				<mapping>19</mapping>
+				<button>44</button>
+			</entry>
+			<entry>
+				<mapping>18</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>14</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>1</mapping>
 				<button>0</button>
 			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
 			<entry>
 				<mapping>3</mapping>
-				<button>3</button>
+				<button>2</button>
 			</entry>
 			<entry>
 				<mapping>4</mapping>
-				<button>2</button>
+				<button>3</button>
 			</entry>
 			<entry>
 				<mapping>5</mapping>
@@ -61,60 +105,16 @@
 				<button>4</button>
 			</entry>
 			<entry>
-				<mapping>12</mapping>
+				<mapping>11</mapping>
 				<button>11</button>
 			</entry>
 			<entry>
-				<mapping>25</mapping>
-				<button>40</button>
-			</entry>
-			<entry>
-				<mapping>24</mapping>
-				<button>46</button>
-			</entry>
-			<entry>
-				<mapping>23</mapping>
-				<button>41</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>14</mapping>
-				<button>13</button>
+				<mapping>12</mapping>
+				<button>12</button>
 			</entry>
 			<entry>
 				<mapping>13</mapping>
-				<button>12</button>
+				<button>13</button>
 			</entry>
 		</mappings>
 	</controller>
diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml
index f953769a..2311676f 100644
--- a/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml
+++ b/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <emulated_controller>
 	<type>Wii U Pro Controller</type>
-	<profile>Deck-P2</profile>
+	<profile>SteamInput-P2</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_0300b836de280000ff11000001000000</uuid>
+		<uuid>1_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
+		<rumble>0</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -102,19 +102,19 @@
 			</entry>
 			<entry>
 				<mapping>4</mapping>
-				<button>2</button>
-			</entry>
-			<entry>
-				<mapping>3</mapping>
 				<button>3</button>
 			</entry>
+			<entry>
+				<mapping>3</mapping>
+				<button>2</button>
+			</entry>
 			<entry>
 				<mapping>2</mapping>
-				<button>0</button>
+				<button>1</button>
 			</entry>
 			<entry>
 				<mapping>1</mapping>
-				<button>1</button>
+				<button>0</button>
 			</entry>
 		</mappings>
 	</controller>
diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml
index 76b69281..b79243d5 100644
--- a/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml
+++ b/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <emulated_controller>
 	<type>Wii U Pro Controller</type>
-	<profile>Deck-P3</profile>
+	<profile>SteamInput-P3</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_0300f837de280000ff11000001000000</uuid>
+		<uuid>2_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
+		<rumble>0</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -20,6 +20,94 @@
 			<range>1</range>
 		</trigger>
 		<mappings>
+			<entry>
+				<mapping>13</mapping>
+				<button>12</button>
+			</entry>
+			<entry>
+				<mapping>14</mapping>
+				<button>13</button>
+			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>18</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>19</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>20</mapping>
+				<button>44</button>
+			</entry>
+			<entry>
+				<mapping>21</mapping>
+				<button>38</button>
+			</entry>
+			<entry>
+				<mapping>22</mapping>
+				<button>47</button>
+			</entry>
+			<entry>
+				<mapping>23</mapping>
+				<button>41</button>
+			</entry>
+			<entry>
+				<mapping>1</mapping>
+				<button>0</button>
+			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
+			<entry>
+				<mapping>3</mapping>
+				<button>2</button>
+			</entry>
+			<entry>
+				<mapping>4</mapping>
+				<button>3</button>
+			</entry>
+			<entry>
+				<mapping>5</mapping>
+				<button>9</button>
+			</entry>
+			<entry>
+				<mapping>6</mapping>
+				<button>10</button>
+			</entry>
+			<entry>
+				<mapping>7</mapping>
+				<button>42</button>
+			</entry>
+			<entry>
+				<mapping>8</mapping>
+				<button>43</button>
+			</entry>
+			<entry>
+				<mapping>9</mapping>
+				<button>6</button>
+			</entry>
+			<entry>
+				<mapping>10</mapping>
+				<button>4</button>
+			</entry>
+			<entry>
+				<mapping>12</mapping>
+				<button>11</button>
+			</entry>
 			<entry>
 				<mapping>25</mapping>
 				<button>40</button>
@@ -28,94 +116,6 @@
 				<mapping>24</mapping>
 				<button>46</button>
 			</entry>
-			<entry>
-				<mapping>23</mapping>
-				<button>41</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>14</mapping>
-				<button>13</button>
-			</entry>
-			<entry>
-				<mapping>13</mapping>
-				<button>12</button>
-			</entry>
-			<entry>
-				<mapping>12</mapping>
-				<button>11</button>
-			</entry>
-			<entry>
-				<mapping>10</mapping>
-				<button>4</button>
-			</entry>
-			<entry>
-				<mapping>9</mapping>
-				<button>6</button>
-			</entry>
-			<entry>
-				<mapping>8</mapping>
-				<button>43</button>
-			</entry>
-			<entry>
-				<mapping>7</mapping>
-				<button>42</button>
-			</entry>
-			<entry>
-				<mapping>6</mapping>
-				<button>10</button>
-			</entry>
-			<entry>
-				<mapping>5</mapping>
-				<button>9</button>
-			</entry>
-			<entry>
-				<mapping>4</mapping>
-				<button>2</button>
-			</entry>
-			<entry>
-				<mapping>3</mapping>
-				<button>3</button>
-			</entry>
-			<entry>
-				<mapping>2</mapping>
-				<button>0</button>
-			</entry>
-			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
-			</entry>
 		</mappings>
 	</controller>
 </emulated_controller>
diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml
index 63999a8a..ce184168 100644
--- a/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml
+++ b/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <emulated_controller>
 	<type>Wii U Pro Controller</type>
-	<profile>Deck-P4</profile>
+	<profile>SteamInput-P4</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_030039f7de280000ff11000001000000</uuid>
+		<uuid>3_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
+		<rumble>0</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -20,6 +20,94 @@
 			<range>1</range>
 		</trigger>
 		<mappings>
+			<entry>
+				<mapping>13</mapping>
+				<button>12</button>
+			</entry>
+			<entry>
+				<mapping>14</mapping>
+				<button>13</button>
+			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>18</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>19</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>20</mapping>
+				<button>44</button>
+			</entry>
+			<entry>
+				<mapping>21</mapping>
+				<button>38</button>
+			</entry>
+			<entry>
+				<mapping>22</mapping>
+				<button>47</button>
+			</entry>
+			<entry>
+				<mapping>23</mapping>
+				<button>41</button>
+			</entry>
+			<entry>
+				<mapping>1</mapping>
+				<button>0</button>
+			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
+			<entry>
+				<mapping>3</mapping>
+				<button>2</button>
+			</entry>
+			<entry>
+				<mapping>4</mapping>
+				<button>3</button>
+			</entry>
+			<entry>
+				<mapping>5</mapping>
+				<button>9</button>
+			</entry>
+			<entry>
+				<mapping>6</mapping>
+				<button>10</button>
+			</entry>
+			<entry>
+				<mapping>7</mapping>
+				<button>42</button>
+			</entry>
+			<entry>
+				<mapping>8</mapping>
+				<button>43</button>
+			</entry>
+			<entry>
+				<mapping>9</mapping>
+				<button>6</button>
+			</entry>
+			<entry>
+				<mapping>10</mapping>
+				<button>4</button>
+			</entry>
+			<entry>
+				<mapping>12</mapping>
+				<button>11</button>
+			</entry>
 			<entry>
 				<mapping>25</mapping>
 				<button>40</button>
@@ -28,94 +116,6 @@
 				<mapping>24</mapping>
 				<button>46</button>
 			</entry>
-			<entry>
-				<mapping>23</mapping>
-				<button>41</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>14</mapping>
-				<button>13</button>
-			</entry>
-			<entry>
-				<mapping>13</mapping>
-				<button>12</button>
-			</entry>
-			<entry>
-				<mapping>12</mapping>
-				<button>11</button>
-			</entry>
-			<entry>
-				<mapping>10</mapping>
-				<button>4</button>
-			</entry>
-			<entry>
-				<mapping>9</mapping>
-				<button>6</button>
-			</entry>
-			<entry>
-				<mapping>8</mapping>
-				<button>43</button>
-			</entry>
-			<entry>
-				<mapping>7</mapping>
-				<button>42</button>
-			</entry>
-			<entry>
-				<mapping>6</mapping>
-				<button>10</button>
-			</entry>
-			<entry>
-				<mapping>5</mapping>
-				<button>9</button>
-			</entry>
-			<entry>
-				<mapping>4</mapping>
-				<button>2</button>
-			</entry>
-			<entry>
-				<mapping>3</mapping>
-				<button>3</button>
-			</entry>
-			<entry>
-				<mapping>2</mapping>
-				<button>0</button>
-			</entry>
-			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
-			</entry>
 		</mappings>
 	</controller>
 </emulated_controller>
diff --git a/emu-configs/cemu/controllerProfiles/controller0.xml b/emu-configs/cemu/controllerProfiles/controller0.xml
index 889d7b19..e62e1b06 100644
--- a/emu-configs/cemu/controllerProfiles/controller0.xml
+++ b/emu-configs/cemu/controllerProfiles/controller0.xml
@@ -1,33 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <emulated_controller>
 	<type>Wii U GamePad</type>
-	<profile>SteamInput-P1-Gyro</profile>
-	<controller>
-		<api>DSUController</api>
-		<uuid>0</uuid>
-		<display_name>Controller 1</display_name>
-		<motion>true</motion>
-		<axis>
-			<deadzone>0.25</deadzone>
-			<range>1</range>
-		</axis>
-		<rotation>
-			<deadzone>0.25</deadzone>
-			<range>1</range>
-		</rotation>
-		<trigger>
-			<deadzone>0.25</deadzone>
-			<range>1</range>
-		</trigger>
-		<ip>127.0.0.1</ip>
-		<port>26760</port>
-		<mappings />
-	</controller>
+	<profile>SteamInput-P1</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_030079f6de280000ff11000001000000</uuid>
+		<uuid>0_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
+		<rumble>0</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -45,45 +24,89 @@
 				<mapping>24</mapping>
 				<button>40</button>
 			</entry>
-			<entry>
-				<mapping>11</mapping>
-				<button>11</button>
-			</entry>
 			<entry>
 				<mapping>23</mapping>
 				<button>46</button>
 			</entry>
 			<entry>
-				<mapping>10</mapping>
-				<button>4</button>
+				<mapping>22</mapping>
+				<button>41</button>
 			</entry>
 			<entry>
-				<mapping>9</mapping>
-				<button>6</button>
+				<mapping>21</mapping>
+				<button>47</button>
 			</entry>
 			<entry>
-				<mapping>8</mapping>
-				<button>43</button>
+				<mapping>20</mapping>
+				<button>38</button>
 			</entry>
 			<entry>
-				<mapping>7</mapping>
-				<button>42</button>
+				<mapping>19</mapping>
+				<button>44</button>
 			</entry>
 			<entry>
-				<mapping>6</mapping>
-				<button>10</button>
+				<mapping>18</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>14</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>1</mapping>
+				<button>0</button>
+			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
+			<entry>
+				<mapping>3</mapping>
+				<button>2</button>
+			</entry>
+			<entry>
+				<mapping>4</mapping>
+				<button>3</button>
 			</entry>
 			<entry>
 				<mapping>5</mapping>
 				<button>9</button>
 			</entry>
 			<entry>
-				<mapping>4</mapping>
-				<button>2</button>
+				<mapping>6</mapping>
+				<button>10</button>
 			</entry>
 			<entry>
-				<mapping>3</mapping>
-				<button>3</button>
+				<mapping>7</mapping>
+				<button>42</button>
+			</entry>
+			<entry>
+				<mapping>8</mapping>
+				<button>43</button>
+			</entry>
+			<entry>
+				<mapping>9</mapping>
+				<button>6</button>
+			</entry>
+			<entry>
+				<mapping>10</mapping>
+				<button>4</button>
+			</entry>
+			<entry>
+				<mapping>11</mapping>
+				<button>11</button>
 			</entry>
 			<entry>
 				<mapping>12</mapping>
@@ -93,50 +116,6 @@
 				<mapping>13</mapping>
 				<button>13</button>
 			</entry>
-			<entry>
-				<mapping>14</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>2</mapping>
-				<button>0</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>41</button>
-			</entry>
 		</mappings>
 	</controller>
 </emulated_controller>
diff --git a/emu-configs/cemu/controllerProfiles/controller1.xml b/emu-configs/cemu/controllerProfiles/controller1.xml
index 73c59b24..8cd44de7 100644
--- a/emu-configs/cemu/controllerProfiles/controller1.xml
+++ b/emu-configs/cemu/controllerProfiles/controller1.xml
@@ -4,9 +4,8 @@
 	<profile>SteamInput-P2</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_0300b836de280000ff11000001000000</uuid>
+		<uuid>1_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -20,94 +19,6 @@
 			<range>1</range>
 		</trigger>
 		<mappings>
-			<entry>
-				<mapping>23</mapping>
-				<button>41</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>2</mapping>
-				<button>0</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
-			</entry>
-			<entry>
-				<mapping>24</mapping>
-				<button>46</button>
-			</entry>
-			<entry>
-				<mapping>25</mapping>
-				<button>40</button>
-			</entry>
-			<entry>
-				<mapping>12</mapping>
-				<button>11</button>
-			</entry>
-			<entry>
-				<mapping>10</mapping>
-				<button>4</button>
-			</entry>
-			<entry>
-				<mapping>9</mapping>
-				<button>6</button>
-			</entry>
-			<entry>
-				<mapping>8</mapping>
-				<button>43</button>
-			</entry>
-			<entry>
-				<mapping>7</mapping>
-				<button>42</button>
-			</entry>
-			<entry>
-				<mapping>6</mapping>
-				<button>10</button>
-			</entry>
-			<entry>
-				<mapping>5</mapping>
-				<button>9</button>
-			</entry>
-			<entry>
-				<mapping>4</mapping>
-				<button>2</button>
-			</entry>
-			<entry>
-				<mapping>3</mapping>
-				<button>3</button>
-			</entry>
 			<entry>
 				<mapping>13</mapping>
 				<button>12</button>
@@ -116,6 +27,94 @@
 				<mapping>14</mapping>
 				<button>13</button>
 			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>18</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>19</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>20</mapping>
+				<button>44</button>
+			</entry>
+			<entry>
+				<mapping>21</mapping>
+				<button>38</button>
+			</entry>
+			<entry>
+				<mapping>22</mapping>
+				<button>47</button>
+			</entry>
+			<entry>
+				<mapping>23</mapping>
+				<button>41</button>
+			</entry>
+			<entry>
+				<mapping>1</mapping>
+				<button>0</button>
+			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
+			<entry>
+				<mapping>3</mapping>
+				<button>2</button>
+			</entry>
+			<entry>
+				<mapping>4</mapping>
+				<button>3</button>
+			</entry>
+			<entry>
+				<mapping>5</mapping>
+				<button>9</button>
+			</entry>
+			<entry>
+				<mapping>6</mapping>
+				<button>10</button>
+			</entry>
+			<entry>
+				<mapping>7</mapping>
+				<button>42</button>
+			</entry>
+			<entry>
+				<mapping>8</mapping>
+				<button>43</button>
+			</entry>
+			<entry>
+				<mapping>9</mapping>
+				<button>6</button>
+			</entry>
+			<entry>
+				<mapping>10</mapping>
+				<button>4</button>
+			</entry>
+			<entry>
+				<mapping>12</mapping>
+				<button>11</button>
+			</entry>
+			<entry>
+				<mapping>25</mapping>
+				<button>40</button>
+			</entry>
+			<entry>
+				<mapping>24</mapping>
+				<button>46</button>
+			</entry>
 		</mappings>
 	</controller>
 </emulated_controller>
diff --git a/emu-configs/cemu/controllerProfiles/controller2.xml b/emu-configs/cemu/controllerProfiles/controller2.xml
index 56faf73e..ed9033cf 100644
--- a/emu-configs/cemu/controllerProfiles/controller2.xml
+++ b/emu-configs/cemu/controllerProfiles/controller2.xml
@@ -4,9 +4,8 @@
 	<profile>SteamInput-P3</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_0300f837de280000ff11000001000000</uuid>
+		<uuid>2_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -20,50 +19,6 @@
 			<range>1</range>
 		</trigger>
 		<mappings>
-			<entry>
-				<mapping>23</mapping>
-				<button>41</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>2</mapping>
-				<button>0</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
-			</entry>
 			<entry>
 				<mapping>24</mapping>
 				<button>46</button>
@@ -102,11 +57,11 @@
 			</entry>
 			<entry>
 				<mapping>4</mapping>
-				<button>2</button>
+				<button>3</button>
 			</entry>
 			<entry>
 				<mapping>3</mapping>
-				<button>3</button>
+				<button>2</button>
 			</entry>
 			<entry>
 				<mapping>13</mapping>
@@ -116,6 +71,50 @@
 				<mapping>14</mapping>
 				<button>13</button>
 			</entry>
+			<entry>
+				<mapping>1</mapping>
+				<button>0</button>
+			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>18</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>19</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>20</mapping>
+				<button>44</button>
+			</entry>
+			<entry>
+				<mapping>21</mapping>
+				<button>38</button>
+			</entry>
+			<entry>
+				<mapping>22</mapping>
+				<button>47</button>
+			</entry>
+			<entry>
+				<mapping>23</mapping>
+				<button>41</button>
+			</entry>
 		</mappings>
 	</controller>
 </emulated_controller>
diff --git a/emu-configs/cemu/controllerProfiles/controller3.xml b/emu-configs/cemu/controllerProfiles/controller3.xml
index f7a9048c..c2c639ad 100644
--- a/emu-configs/cemu/controllerProfiles/controller3.xml
+++ b/emu-configs/cemu/controllerProfiles/controller3.xml
@@ -4,9 +4,8 @@
 	<profile>SteamInput-P4</profile>
 	<controller>
 		<api>SDLController</api>
-		<uuid>0_030039f7de280000ff11000001000000</uuid>
+		<uuid>3_03000000de280000ff11000001000000</uuid>
 		<display_name>Steam Virtual Gamepad</display_name>
-		<rumble>1</rumble>
 		<axis>
 			<deadzone>0.25</deadzone>
 			<range>1</range>
@@ -20,50 +19,6 @@
 			<range>1</range>
 		</trigger>
 		<mappings>
-			<entry>
-				<mapping>23</mapping>
-				<button>41</button>
-			</entry>
-			<entry>
-				<mapping>22</mapping>
-				<button>47</button>
-			</entry>
-			<entry>
-				<mapping>21</mapping>
-				<button>38</button>
-			</entry>
-			<entry>
-				<mapping>20</mapping>
-				<button>44</button>
-			</entry>
-			<entry>
-				<mapping>19</mapping>
-				<button>39</button>
-			</entry>
-			<entry>
-				<mapping>18</mapping>
-				<button>45</button>
-			</entry>
-			<entry>
-				<mapping>17</mapping>
-				<button>8</button>
-			</entry>
-			<entry>
-				<mapping>16</mapping>
-				<button>7</button>
-			</entry>
-			<entry>
-				<mapping>2</mapping>
-				<button>0</button>
-			</entry>
-			<entry>
-				<mapping>15</mapping>
-				<button>14</button>
-			</entry>
-			<entry>
-				<mapping>1</mapping>
-				<button>1</button>
-			</entry>
 			<entry>
 				<mapping>24</mapping>
 				<button>46</button>
@@ -102,11 +57,11 @@
 			</entry>
 			<entry>
 				<mapping>4</mapping>
-				<button>2</button>
+				<button>3</button>
 			</entry>
 			<entry>
 				<mapping>3</mapping>
-				<button>3</button>
+				<button>2</button>
 			</entry>
 			<entry>
 				<mapping>13</mapping>
@@ -116,6 +71,50 @@
 				<mapping>14</mapping>
 				<button>13</button>
 			</entry>
+			<entry>
+				<mapping>1</mapping>
+				<button>0</button>
+			</entry>
+			<entry>
+				<mapping>15</mapping>
+				<button>14</button>
+			</entry>
+			<entry>
+				<mapping>2</mapping>
+				<button>1</button>
+			</entry>
+			<entry>
+				<mapping>16</mapping>
+				<button>7</button>
+			</entry>
+			<entry>
+				<mapping>17</mapping>
+				<button>8</button>
+			</entry>
+			<entry>
+				<mapping>18</mapping>
+				<button>45</button>
+			</entry>
+			<entry>
+				<mapping>19</mapping>
+				<button>39</button>
+			</entry>
+			<entry>
+				<mapping>20</mapping>
+				<button>44</button>
+			</entry>
+			<entry>
+				<mapping>21</mapping>
+				<button>38</button>
+			</entry>
+			<entry>
+				<mapping>22</mapping>
+				<button>47</button>
+			</entry>
+			<entry>
+				<mapping>23</mapping>
+				<button>41</button>
+			</entry>
 		</mappings>
 	</controller>
 </emulated_controller>
diff --git a/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf b/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf
index ff4b2796..190e9512 100644
--- a/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf
+++ b/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf
@@ -1128,7 +1128,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 3 0 1, Quick, RD-org.xfce.session.png, "
+							"binding"		"controller_action CHANGE_PRESET 3 0 0, Quick, RD-org.xfce.session.png, "
 						}
 					}
 				}
@@ -1144,7 +1144,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 4 0 1, State, RD-folder-blue-games.png, "
+							"binding"		"controller_action CHANGE_PRESET 4 0 0, State, RD-folder-blue-games.png, "
 						}
 					}
 				}
@@ -1160,7 +1160,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 5 0 1, Speed & Frames, RD-supertuxkart.png, "
+							"binding"		"controller_action CHANGE_PRESET 5 0 0, Speed & Frames, RD-supertuxkart.png, "
 						}
 					}
 				}
@@ -1176,7 +1176,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 6 0 1, Display & Graphics, RD-preferences-desktop-display.png, "
+							"binding"		"controller_action CHANGE_PRESET 6 0 0, Display & Graphics, RD-preferences-desktop-display.png, "
 						}
 					}
 				}
@@ -1192,7 +1192,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 7 0 1, General, RD-io.github.antimicrox.antimicrox.png, "
+							"binding"		"controller_action CHANGE_PRESET 7 0 0, General, RD-io.github.antimicrox.antimicrox.png, "
 						}
 					}
 				}
@@ -1208,7 +1208,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Specific, RD-folder-applications.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Specific, RD-folder-applications.png, "
 						}
 					}
 				}
@@ -1224,7 +1224,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 8 0 1, Steam Deck, RD-steam.png, "
+							"binding"		"controller_action CHANGE_PRESET 8 0 0, Steam Deck, RD-steam.png, "
 						}
 					}
 				}
@@ -1453,7 +1453,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, #232323 #FFFFFF"
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, #232323 #FFFFFF"
 						}
 					}
 				}
@@ -1736,7 +1736,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -2201,7 +2201,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -2683,7 +2683,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -3148,7 +3148,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -3664,7 +3664,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -4283,7 +4283,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -4299,7 +4299,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 10 0 1, MAME, RD-mame.png, "
+							"binding"		"controller_action CHANGE_PRESET 10 0 0, MAME, RD-mame.png, "
 						}
 					}
 				}
@@ -4315,7 +4315,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 11 0 1, RetroArch, RD-retroarch.png, "
+							"binding"		"controller_action CHANGE_PRESET 11 0 0, RetroArch, RD-retroarch.png, "
 						}
 					}
 				}
@@ -4331,7 +4331,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 12 0 1, Gamecube & Wii, RD-dolphin.png, "
+							"binding"		"controller_action CHANGE_PRESET 12 0 0, Gamecube & Wii, RD-dolphin.png, "
 						}
 					}
 				}
@@ -4347,7 +4347,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 13 0 1, NDS, RD-melonds.png, "
+							"binding"		"controller_action CHANGE_PRESET 13 0 0, NDS, RD-melonds.png, "
 						}
 					}
 				}
@@ -4363,7 +4363,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 15 0 1, 3DS, RD-citra.png, "
+							"binding"		"controller_action CHANGE_PRESET 15 0 0, 3DS, RD-citra.png, "
 						}
 					}
 				}
@@ -4379,7 +4379,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 16 0 1, Switch, RD-ryujinx.png, "
+							"binding"		"controller_action CHANGE_PRESET 16 0 0, Switch, RD-ryujinx.png, "
 						}
 					}
 				}
@@ -4403,6 +4403,22 @@
 				{
 				}
 			}
+			"touch_menu_button_8"
+			{
+				"activators"
+				{
+					"Full_Press"
+					{
+						"bindings"
+						{
+							"binding"		"controller_action CHANGE_PRESET 16 0 0, SCUMMVM, RD-click.png, "
+						}
+					}
+				}
+				"disabled_activators"
+				{
+				}
+			}
 		}
 		"settings"
 		{
@@ -4758,7 +4774,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -5245,7 +5261,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -5767,7 +5783,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -6304,7 +6320,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -6855,7 +6871,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -7252,7 +7268,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -7867,7 +7883,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -8602,7 +8618,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, "
+							"binding"		"controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, "
 						}
 					}
 				}
@@ -8957,7 +8973,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -9037,7 +9053,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -9057,7 +9073,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -9122,7 +9138,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -9202,7 +9218,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -9222,7 +9238,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -9281,7 +9297,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, , "
 						}
 					}
 					"Full_Press"
@@ -9354,7 +9370,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 1 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 1 0 0, , "
 						}
 					}
 				}
@@ -9419,7 +9435,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -9499,7 +9515,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -9519,7 +9535,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -9584,7 +9600,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -9664,7 +9680,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -9684,7 +9700,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -9749,7 +9765,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -9829,7 +9845,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -9849,7 +9865,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -9914,7 +9930,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -9994,7 +10010,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -10014,7 +10030,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -10079,7 +10095,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -10159,7 +10175,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -10179,7 +10195,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -10244,7 +10260,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -10324,7 +10340,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -10344,7 +10360,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -10409,7 +10425,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -10489,7 +10505,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -10509,7 +10525,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -10574,7 +10590,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -10654,7 +10670,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -10674,7 +10690,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -10739,7 +10755,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -10819,7 +10835,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -10839,7 +10855,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -10904,7 +10920,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -10984,7 +11000,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -11004,7 +11020,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -11069,7 +11085,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -11149,7 +11165,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -11169,7 +11185,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -11234,7 +11250,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -11314,7 +11330,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -11334,7 +11350,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -11399,7 +11415,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -11479,7 +11495,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -11499,7 +11515,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
@@ -11564,7 +11580,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, , "
 						}
 					}
 				}
@@ -11644,7 +11660,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 						"settings"
 						{
@@ -11664,7 +11680,7 @@
 					{
 						"bindings"
 						{
-							"binding"		"controller_action CHANGE_PRESET 2 0 1, Hotkey, , "
+							"binding"		"controller_action CHANGE_PRESET 2 0 0, Hotkey, , "
 						}
 					}
 				}
diff --git a/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg b/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg
index 92898b2d..4ae00365 100644
--- a/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg
+++ b/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg
@@ -6,14 +6,13 @@ megacd
 neogeocd
 pcenginecd
 pcfx
+psp
 psx
 ps2
 saturn
 saturnjp
 segacd
 tg-cd
-[cso]
-psp
 [rvz]
 gc
 wii
diff --git a/emu-configs/dolphin/WiimoteNew.ini b/emu-configs/dolphin/WiimoteNew.ini
index 752d6c87..67ab3a89 100644
--- a/emu-configs/dolphin/WiimoteNew.ini
+++ b/emu-configs/dolphin/WiimoteNew.ini
@@ -82,6 +82,10 @@ Drums/Stick/Modifier/Range = 50.0
 Turntable/Stick/Modifier/Range = 50.0
 uDraw/Stylus/Modifier/Range = 50.0
 Drawsome/Stylus/Modifier/Range = 50.0
+Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`)
+Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`)
+Tilt/Left = @(`Full Axis 2+`+`Axis 3-`)
+Tilt/Right = @(`Full Axis 2+`+`Axis 3+`)
 [Wiimote2]
 Device = evdev/1/Valve Software Steam Deck Controller
 Source = 0
@@ -166,6 +170,10 @@ Drums/Stick/Modifier/Range = 50.0
 Turntable/Stick/Modifier/Range = 50.0
 uDraw/Stylus/Modifier/Range = 50.0
 Drawsome/Stylus/Modifier/Range = 50.0
+Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`)
+Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`)
+Tilt/Left = @(`Full Axis 2+`+`Axis 3-`)
+Tilt/Right = @(`Full Axis 2+`+`Axis 3+`)
 [Wiimote3]
 Device = evdev/0/Microsoft X-Box 360 pad 2
 Source = 0
@@ -250,6 +258,10 @@ Drums/Stick/Modifier/Range = 50.0
 Turntable/Stick/Modifier/Range = 50.0
 uDraw/Stylus/Modifier/Range = 50.0
 Drawsome/Stylus/Modifier/Range = 50.0
+Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`)
+Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`)
+Tilt/Left = @(`Full Axis 2+`+`Axis 3-`)
+Tilt/Right = @(`Full Axis 2+`+`Axis 3+`)
 [Wiimote4]
 Device = evdev/0/Microsoft X-Box 360 pad 4
 Source = 0
@@ -334,6 +346,10 @@ Drums/Stick/Modifier/Range = 50.0
 Turntable/Stick/Modifier/Range = 50.0
 uDraw/Stylus/Modifier/Range = 50.0
 Drawsome/Stylus/Modifier/Range = 50.0
+Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`)
+Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`)
+Tilt/Left = @(`Full Axis 2+`+`Axis 3-`)
+Tilt/Right = @(`Full Axis 2+`+`Axis 3+`)
 [BalanceBoard]
 Device = XInput2/0/Virtual core pointer
 Source = 0
diff --git a/emu-configs/gzdoom/gzdoom.sh b/emu-configs/gzdoom/gzdoom.sh
index 1b999575..620b809f 100644
--- a/emu-configs/gzdoom/gzdoom.sh
+++ b/emu-configs/gzdoom/gzdoom.sh
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source /app/libexec/logger.sh
+
 # Define the IWAD files list
 IWAD_FILES=("DOOM1.WAD" "DOOM.WAD" "DOOM2.WAD" "DOOM2F.WAD" "DOOM64.WAD" "TNT.WAD"
             "PLUTONIA.WAD" "HERETIC1.WAD" "HERETIC.WAD" "HEXEN.WAD" "HEXDD.WAD"
diff --git a/emu-configs/mame/mame-rdwrapper.sh b/emu-configs/mame/mame-rdwrapper.sh
deleted file mode 100755
index d0ba979d..00000000
--- a/emu-configs/mame/mame-rdwrapper.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-mame -inipath /var/config/mame/ini
\ No newline at end of file
diff --git a/emu-configs/ryujinx/ryujinx-rdwrapper.sh b/emu-configs/ryujinx/ryujinx-rdwrapper.sh
index 00ab6a2f..2e59c682 100755
--- a/emu-configs/ryujinx/ryujinx-rdwrapper.sh
+++ b/emu-configs/ryujinx/ryujinx-rdwrapper.sh
@@ -1,5 +1,8 @@
 #!/bin/bash
 
+source /app/libexec/global.sh
+
+log i "Starting Ryujinx wrapper"
 command="$1"
 manage_ryujinx_keys
-Ryujinx.sh "$command"
+Ryujinx.sh $command # do not put comma here or it breaks
diff --git a/es-configs/es_settings.xml b/es-configs/es_settings.xml
index 50cd7b18..c1d69bd9 100644
--- a/es-configs/es_settings.xml
+++ b/es-configs/es_settings.xml
@@ -152,7 +152,7 @@
 <string name="ScreensaverSlideshowImageDir" value="/var/config/ES-DE/slideshow/custom_images" />
 <string name="ScreensaverType" value="video" />
 <string name="StartupSystem" value="" />
-<string name="SystemsSorting" value="default" />
+<string name="SystemsSorting" value="manufacturer_hwtype_year" />
 <string name="Theme" value="art-book-next-es-de" />
 <string name="ThemeAspectRatio" value="automatic" />
 <string name="ThemeColorScheme" value="art-book-next" />
diff --git a/functions/compression.sh b/functions/compression.sh
index 5b990c3e..15bce646 100644
--- a/functions/compression.sh
+++ b/functions/compression.sh
@@ -10,13 +10,21 @@ compress_game() {
   local dest_file=$(dirname "$(realpath "$file")")"/""$filename_no_extension"
 
   if [[ "$1" == "chd" ]]; then
-    /app/bin/chdman createcd -i "$source_file" -o "$dest_file".chd
+    case "$3" in # Check platform-specific compression options
+    "psp" )
+      /app/bin/chdman createdvd --hunksize 2048 -i "$source_file" -o "$dest_file".chd -c zstd
+    ;;
+    "ps2" )
+      /app/bin/chdman createdvd -i "$source_file" -o "$dest_file".chd -c zstd
+    ;;
+    * )
+      /app/bin/chdman createcd -i "$source_file" -o "$dest_file".chd
+    ;;
+    esac
   elif [[ "$1" == "zip" ]]; then
     zip -jq9 "$dest_file".zip "$source_file"
   elif [[ "$1" == "rvz" ]]; then
     dolphin-tool convert -f rvz -b 131072 -c zstd -l 5 -i "$source_file" -o "$dest_file.rvz"
-  elif [[ "$1" == "cso" ]]; then
-    echo "TODO: maxcso command"
   fi
 }
 
diff --git a/functions/functions.sh b/functions/functions.sh
index ea480070..43dc82fb 100644
--- a/functions/functions.sh
+++ b/functions/functions.sh
@@ -653,7 +653,7 @@ manage_ryujinx_keys() {
           log w "No files found in $bios_folder/switch/keys. Continuing..."
       fi
   else
-      log w "Directory $bios_folder/switch/keys does not exist. Maybe Ryujinx was never run. Continuing..."
+      log e "Directory $bios_folder/switch/keys does not exist. Something is wrong with your RetroDECK installation. Continuing but Ryujinx will not be able to run any game."
   fi
 }
 
@@ -670,6 +670,16 @@ ponzu() {
   local appimage
   local executable
 
+  # if the binaries are found, ponzu should be set as true into the retrodeck config
+  if [ -f "/var/data/ponzu/Citra/bin/citra-qt" ]; then
+    log d "Citra binaries has already been installed, checking for updates and forcing the setting as true."
+    set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options"
+  fi
+  if [ -f "/var/data/ponzu/Yuzu/bin/yuzu" ]; then
+    log d "Yuzu binaries has already been installed, checking for updates and forcing the setting as true."
+    set_setting_value $rd_conf "kiroi_ponzu" "true" retrodeck "options"
+  fi
+
   # Loop through all ponzu files
   for ponzu_file in "${ponzu_files[@]}"; do
     # Check if the current ponzu file exists
@@ -820,5 +830,5 @@ start_retrodeck() {
   easter_eggs # Check if today has a surprise splashscreen and load it if so
   ponzu
   log i "Starting RetroDECK v$version"
-  es-de --home /var/config/
+  es-de
 }
diff --git a/functions/global.sh b/functions/global.sh
index 40f4fbcd..cf293cd7 100644
--- a/functions/global.sh
+++ b/functions/global.sh
@@ -6,17 +6,18 @@ source /app/libexec/050_save_migration.sh
 source /app/libexec/checks.sh
 source /app/libexec/compression.sh
 source /app/libexec/dialogs.sh
+source /app/libexec/logger.sh
 source /app/libexec/functions.sh
 source /app/libexec/multi_user.sh
 source /app/libexec/patching.sh
 source /app/libexec/post_update.sh
 source /app/libexec/prepare_component.sh
 source /app/libexec/presets.sh
-source /app/libexec/logger.sh
 
 # Static variables
 rd_conf="/var/config/retrodeck/retrodeck.cfg"                                                                         # RetroDECK config file path
 rd_conf_backup="/var/config/retrodeck/retrodeck.bak"                                                                  # Backup of RetroDECK config file from update
+rd_logs_folder="/var/config/retrodeck/logs"                                                                                  # Static location to write all RetroDECK-related logs
 emuconfigs="/app/retrodeck/emu-configs"                                                                               # folder with all the default emulator configs
 rd_defaults="$emuconfigs/defaults/retrodeck/retrodeck.cfg"                                                            # A default RetroDECK config file
 rd_update_patch="/var/config/retrodeck/rd_update.patch"                                                               # A static location for the temporary patch file used during retrodeck.cfg updates
@@ -32,8 +33,7 @@ default_splash_file="/var/config/ES-DE/resources/graphics/splash-orig.svg"
 multi_user_emulator_config_dirs="$emuconfigs/defaults/retrodeck/reference_lists/multi_user_emulator_config_dirs.cfg"  # A list of emulator config folders that can be safely linked/unlinked entirely in multi-user mode
 rd_es_themes="/app/share/es-de/themes"                                                                                # The directory where themes packaged with RetroDECK are stored
 lockfile="/var/config/retrodeck/.lock"                                                                                # Where the lockfile is located
-default_sd="/run/media/mmcblk0p1"                                                                                     # Steam Deck SD default path
-rd_logs_folder="/var/config/retrodeck/logs/"                                                                          # A static location for RetroDECK logs to be written
+default_sd="/run/media/mmcblk0p1"                                                                                     # Steam Deck SD default path                                                                        # A static location for RetroDECK logs to be written
 hard_version="$(cat '/app/retrodeck/version')"                                                                        # hardcoded version (in the readonly filesystem)
 rd_repo="https://github.com/XargonWan/RetroDECK"                                                                      # The URL of the main RetroDECK GitHub repo
 es_themes_list="https://gitlab.com/es-de/themes/themes-list/-/raw/master/themes.json"                                 # The URL of the ES-DE 2.0 themes list
@@ -66,6 +66,7 @@ citraconf="/var/config/citra-emu/qt-config.ini"
 
 export ESDE_APPDATA_DIR="/var/config/ES-DE"
 es_settings="/var/config/ES-DE/settings/es_settings.xml"
+es_source_logs="/var/config/ES-DE/logs"
 
 # RetroArch config files
 
@@ -122,6 +123,14 @@ mameconf="/var/config/mame/ini/mame.ini"
 mameuiconf="/var/config/mame/ini/ui.ini"
 mamedefconf="/var/config/mame/cfg/default.cfg"
 
+# Initialize logging location if it doesn't exist, before anything else happens
+if [ ! -d "$rd_logs_folder" ]; then
+    create_dir "$rd_logs_folder"
+fi
+if [[ ! -d "$rd_logs_folder/ES-DE" ]]; then
+    dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs"
+fi
+
 # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions
 if [[ -f "$HOME/retrodeck/.lock" ]]; then
   mv "$HOME/retrodeck/.lock" $lockfile
@@ -129,7 +138,6 @@ fi
 
 # If there is no config file I initalize the file with the the default values
 if [[ ! -f "$rd_conf" ]]; then
-  create_dir /var/config/retrodeck
   create_dir /var/config/retrodeck/logs
   log w "RetroDECK config file not found in $rd_conf"
   log i "Initializing"
@@ -170,7 +178,7 @@ if [[ ! -f "$rd_conf" ]]; then
   chmod +rw $rd_conf
   log i "RetroDECK config file initialized. Contents:\n\n$(cat $rd_conf)\n"
   conf_read # Load new variables into memory
-  tmplog_merger
+  #tmplog_merger # This function is tempry(?) removed
 
 # If the config file is existing i just read the variables
 else
@@ -184,7 +192,7 @@ else
   fi
 
   conf_read
-  tmplog_merger
+  #tmplog_merger # This function is tempry(?) removed
 
   # Verify rdhome is where it is supposed to be.
   if [[ ! -d "$rdhome" ]]; then
@@ -193,7 +201,7 @@ else
     new_home_path=$(directory_browse "RetroDECK folder location")
     set_setting_value $rd_conf "rdhome" "$new_home_path" retrodeck "paths"
     conf_read
-    tmplog_merger
+    #tmplog_merger # This function is tempry(?) removed
     prepare_component "retrodeck" "postmove"
     prepare_component "all" "postmove"
     conf_write
diff --git a/functions/logger.sh b/functions/logger.sh
index 6e0d37d6..08bba936 100755
--- a/functions/logger.sh
+++ b/functions/logger.sh
@@ -1,126 +1,102 @@
+# SORRY, I WILL CLEAN UP THIS
+# -Xargon
+
 # This script provides a logging function 'log' that can be sourced in other scripts.
 # It logs messages to both the terminal and a specified logfile, allowing different log levels.
 # The log function takes three parameters: log level, log message, and optionally the logfile. If no logfile is specified, it writes to retrodeck/logs/retrodeck.log
 
+# Type of log messages:
+# log d - debug message: maybe in the future we can decide to hide them in main builds or if an option is toggled
+# log i - normal informational message
+# log w - waring: something is not expected but it's not a big deal
+# log e - error: something broke
+
 # Example usage:
 # log w "foo" -> logs a warning with message foo in the default log file retrodeck/logs/retrodeck.log
 # log e "bar" -> logs an error with message bar in the default log file retrodeck/logs/retrodeck.log
 # log i "par" rekku.log -> logs an information with message in the specified log file inside the logs folder retrodeck/logs/rekku.log
 
-# if [ "${log_init:-false}" = false ]; then
-#     logs_folder=${logs_folder:-"/tmp"}
-#     touch "$logs_folder/retrodeck.log"
-#     # exec > >(tee "$logs_folder/retrodeck.log") 2>&1 # this is broken, creates strange artifacts and corrupts the log file
-#     log_init=true
-# fi
-
 log() {
 
-    # exec > >(tee "$logs_folder/retrodeck.log") 2>&1 # this is broken, creates strange artifacts and corrupts the log file
+  local level="$1"
+  local message="$2"
+  local timestamp="$(date +[%Y-%m-%d\ %H:%M:%S.%3N])"
+  local colorize_terminal
 
-    local level="$1"
-    local message="$2"
-    local timestamp="$(date +[%Y-%m-%d\ %H:%M:%S.%3N])"
-    local colorize_terminal
+  # Use specified logfile or default to retrodeck.log
+  local logfile
+  if [ -n "$3" ]; then
+    logfile="$3"
+  else
+    logfile="$rd_logs_folder/retrodeck.log"
+  fi
+  if [[ ! -f "$logfile" ]]; then
+    touch "$logfile"
+    echo "$timestamp [WARN] \"$logfile\" not found, creating."
+  fi
 
-    # Use specified logfile or default to retrodeck.log
-    local logfile
-    if [ -n "$3" ]; then
-        logfile="$3"
-    else
-        logfile="$rd_logs_folder/retrodeck.log"
-    fi
+  # Check if the shell is sh (not bash or zsh) to avoid colorization
+  if [ "${SHELL##*/}" = "sh" ]; then
+    colorize_terminal=false
+  else
+    colorize_terminal=true
+  fi
 
-    # Check if the shell is sh (not bash or zsh) to avoid colorization
-    if [ "${SHELL##*/}" = "sh" ]; then
-        colorize_terminal=false
-    else
-        colorize_terminal=true
-    fi
+  case "$level" in
+    w) 
+      if [ "$colorize_terminal" = true ]; then
+        # Warning (yellow) for terminal
+        colored_message="\e[33m[WARN] $message\e[0m"
+      else
+        # Warning (no color for sh) for terminal
+        colored_message="$timestamp [WARN] $message"
+      fi
+      # Write to log file without colorization
+      log_message="$timestamp [WARN] $message"
+      ;;
+    e) 
+      if [ "$colorize_terminal" = true ]; then
+        # Error (red) for terminal
+        colored_message="\e[31m[ERROR] $message\e[0m"
+      else
+        # Error (no color for sh) for terminal
+        colored_message="$timestamp [ERROR] $message"
+      fi
+      # Write to log file without colorization
+      log_message="$timestamp [ERROR] $message"
+      ;;
+    i) 
+      # Write to log file without colorization for info message
+      log_message="$timestamp [INFO] $message"
+      colored_message=$log_message
+      ;;
+    d) 
+      if [ "$colorize_terminal" = true ]; then
+        # Debug (green) for terminal
+        colored_message="\e[32m[DEBUG] $message\e[0m"
+      else
+        # Debug (no color for sh) for terminal
+        colored_message="$timestamp [DEBUG] $message"
+      fi
+      # Write to log file without colorization
+      log_message="$timestamp [DEBUG] $message"
+      ;;
+    *) 
+      # Default (no color for other shells) for terminal
+      colored_message="$timestamp $message"
+      # Write to log file without colorization
+      log_message="$timestamp $message"
+      ;;
+  esac
 
-    case "$level" in
-        w) 
-            if [ "$colorize_terminal" = true ]; then
-                # Warning (yellow) for terminal
-                colored_message="\e[33m[WARN] $message\e[0m"
-            else
-                # Warning (no color for sh) for terminal
-                colored_message="$timestamp [WARN] $message"
-            fi
-            # Write to log file without colorization
-            log_message="$timestamp [WARN] $message"
-            ;;
-        e) 
-            if [ "$colorize_terminal" = true ]; then
-                # Error (red) for terminal
-                colored_message="\e[31m[ERROR] $message\e[0m"
-            else
-                # Error (no color for sh) for terminal
-                colored_message="$timestamp [ERROR] $message"
-            fi
-            # Write to log file without colorization
-            log_message="$timestamp [ERROR] $message"
-            ;;
-        i) 
-            # Write to log file without colorization for info message
-            log_message="$timestamp [INFO] $message"
-            colored_message=$log_message
-            ;;
-        d) 
-            if [ "$colorize_terminal" = true ]; then
-                # Debug (green) for terminal
-                colored_message="\e[32m[DEBUG] $message\e[0m"
-            else
-                # Debug (no color for sh) for terminal
-                colored_message="$timestamp [DEBUG] $message"
-            fi
-            # Write to log file without colorization
-            log_message="$timestamp [DEBUG] $message"
-            ;;
-        *) 
-            # Default (no color for other shells) for terminal
-            colored_message="$timestamp $message"
-            # Write to log file without colorization
-            log_message="$timestamp $message"
-            ;;
-    esac
+  # Display the message in the terminal
+  echo -e "$colored_message"
 
-    # Display the message in the terminal
-    echo -e "$colored_message"
-
-    # Write the log message to the log file
-    if [ ! -f "$logfile" ]; then
-        echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it"
-        touch "$logfile"
-    fi
-    echo "$log_message" >> "$logfile"
-
-}
-
-# This function is merging the temporary log file into the actual one
-tmplog_merger() {
-
-    create_dir "$rd_logs_folder"
-
-    # Check if /tmp/retrodeck.log exists
-    if [ -e "/tmp/retrodeck.log" ] && [ -e "$rd_logs_folder/retrodeck.log" ]; then
-
-        # Sort both temporary and existing log files by timestamp
-        sort -k1,1n -k2,2M -k3,3n -k4,4n -k5,5n "/tmp/retrodeck.log" "$rd_logs_folder/retrodeck.log" > "$rd_logs_folder/merged_logs.tmp"
-
-        # Move the merged logs to replace the original log file
-        mv "$rd_logs_folder/merged_logs.tmp" "$rd_logs_folder/retrodeck.log"
-
-        # Remove the temporary file
-        rm "/tmp/retrodeck.log"
-    fi
-
-    local ESDE_source_logs="/var/config/ES-DE/logs/es_log.txt"
-    # Check if the source file exists
-    if [ -e "$ESDE_source_logs" ]; then
-        # Create the symlink in the logs folder
-        ln -sf "$ESDE_source_logs" "$rd_logs_folder/ES-DE.log"
-        log i "ES-DE log file linked to \"$rd_logs_folder/ES-DE.log\""
-    fi
+  # Write the log message to the log file
+  if [ ! -f "$logfile" ]; then
+    echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it"
+    touch "$logfile"
+  fi
+  echo "$log_message" >> "$logfile"
 
 }
diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh
index 0ece6059..fb79b5a6 100644
--- a/functions/prepare_component.sh
+++ b/functions/prepare_component.sh
@@ -26,7 +26,7 @@ prepare_component() {
         fi
       done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f')
       create_dir "/var/config/retrodeck/godot"
-      dir_prep "$rd_logs_folder" "$logs_folder"
+      dir_prep "$logs_folder" "$rd_logs_folder"
     fi
     if [[ "$action" == "postmove" ]]; then # Update the paths of any folders that came with the retrodeck folder during a move
       while read -r config_line; do
@@ -38,7 +38,7 @@ prepare_component() {
           fi
         fi
       done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f')
-      dir_prep "$rd_logs_folder" "$logs_folder"
+      dir_prep "$logs_folder" "$rd_logs_folder"
     fi
   fi
 
@@ -55,6 +55,7 @@ prepare_component() {
       set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings"
       set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings"
       dir_prep "$rdhome/gamelists" "/var/config/ES-DE/gamelists"
+      dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs"
       log d "Generating roms system folders"
       #es-de --home /var/config/ES-DE --create-system-dirs
       es-de --create-system-dirs
@@ -794,6 +795,7 @@ prepare_component() {
 
     cp -fvr "$emuconfigs/gzdoom/gzdoom.ini" "/var/config/gzdoom"
 
+    sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON
     sed -i 's#RETRODECKROMSDIR#'$roms_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON
     sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON
   fi
diff --git a/net.retrodeck.retrodeck.Configurator.desktop b/net.retrodeck.retrodeck.Configurator.desktop
index 1b268a4b..466733c6 100644
--- a/net.retrodeck.retrodeck.Configurator.desktop
+++ b/net.retrodeck.retrodeck.Configurator.desktop
@@ -3,7 +3,7 @@ Name=RetroDECK Configurator
 GenericName=RetroDECK Configuration Utility
 Type=Application
 Comment=A handy tool to change common RetroDECK settings
-Icon=retrodeck-configurator
+Icon=net.retrodeck.retrodeck.configurator
 Exec=/bin/bash /app/tools/configurator.sh
 Terminal=false
 StartupNotify=false
diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml
index 47404392..16ef8cf6 100644
--- a/net.retrodeck.retrodeck.appdata.xml
+++ b/net.retrodeck.retrodeck.appdata.xml
@@ -70,7 +70,7 @@
          <description>
             <p>
                WARNING:
-               The post update script is initializing es-de 3.0, vita3k, mame-sa and ryujinx when coming from a version ealrier that 0.8.0b. Tp fully test this build you must come from a build 0.7.6b or previous otherwise you will surely encounter issues. Else reset RetroDECK but be aware that will not be a proper testing.
+               The post update script is initializing es-de 3.0, vita3k, mame-sa and ryujinx when coming from a version ealrier that 0.8.0b. To fully test this build you must come from a build 0.7.6b or previous otherwise you will surely encounter issues. Else reset RetroDECK but be aware that will not be a proper testing.
             </p>  
             <p>Changes:</p>
             <ul>
@@ -78,10 +78,10 @@
                <li>PONZU: added</li>
                <li>CITRA-SA: Removed, the libretro core is now the default emulator, they will available trough Ponzu</li>
                <li>YUZU: Removed, Ryujinx is now the default emulator, they will available trough Ponzu</li>
-               <li>Added new system: RYUJINX</li>
+               <li>Added new system: PSVita, trough Vita3K</li>
                <li>Added new system: SOLARUS</li>
                <li>Added new engine: GZDOOM</li>
-               <li>Added new emulator: Vita3K</li>
+               <li>Added new emulator: RYUJINX</li>
                <li>Added new emulator: MAME (Standalone)</li>
                <li>PPSSPP: added hotkeys</li>
                <li>MAME: added hotkeys</li>
@@ -93,8 +93,6 @@
                <li>DOLPHIN: Enabled GBA and Tweaked Input</li>
                <li>DOLPHIN: Graphical Tweaks</li>
                <li>PRIMEHACK: config structure refactor + new configs</li>
-               <li>Quit button after emulators reset should act as an actual full quit button</li>
-               <li>Created a quit_retrodeck function to ease the quit in the scripts.</li>
                <li>Logs folder is now in retrodeck/logs (previously was .logs)</li>
                <li>Added controller config for PS4 and PS5</li>
                <li>Controller config overhaul</li>
@@ -102,12 +100,13 @@
                <li>CEMU: updated input profiles</li>
                <li>DUCKSTATION: config refactor. The old config didn't not work anymore for controllers.</li>
                <li>DUCKSTATION: All controlls now go via SDL</li>
-               <li>DUCKSTATION: Updated to 4 controllers</li>
                <li>PCSX2: general and graphical tweaks</li>
                <li>RPCS3 is now running via shortcut (.desktop file) by default - WARN THE USERS TO MIGRATE</li>
-               <li>RPCS3: Updated to 4 controllers</li>
-               <li>RYUJINX: Updated to 4 controllers</li>
-               <li>GZDOOM: Updated to 4 controllers</li>
+               <li>CEMU: enabled controller configs for player 2~4</li>
+               <li>DUCKSTATION: Updated to 4 controllers</li>
+               <li>GZDOOM: enabled controller configs for player 2~4</li>
+               <li>RPCS3: enabled controller configs for player 2~4</li>
+               <li>RYUJINX: enabled controller configs for player 2~4</li>
                <li>MELONDS: grahpical twekas</li>
             </ul>
             <p>Fixes:</p>
diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml
index 289285c9..ad230849 100644
--- a/net.retrodeck.retrodeck.yml
+++ b/net.retrodeck.retrodeck.yml
@@ -8,8 +8,8 @@ sdk-extensions:
 command: retrodeck.sh
 
 finish-args:
-  - --socket=fallback-x11
   - --socket=wayland
+  - --socket=x11
   - --socket=pulseaudio
   - --share=ipc
   - --share=network
@@ -165,16 +165,19 @@ modules:
         url: https://ftp.osuosl.org/pub/blfs/conglomeration/libgudev/libgudev-237.tar.xz
         sha256: 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa
 
-  - name: chdman-tool
-    buildsystem: simple
-    build-commands:
-      - cmake -B . -G Ninja
-      - cmake --build .
-      - cp chdman /app/bin
-    sources:
-      - type: git
-        url: https://github.com/CharlesThobe/chdman.git
-        commit: f7cadf1720cbeba8a14f2685830ff424a0c7f6cd
+  #                                           #
+  # DEPRECATED IN FAVOR OF COMPILED MAME TOOL #
+  #                                           #
+  # - name: chdman-tool
+  #   buildsystem: simple
+  #   build-commands:
+  #     - cmake -B . -G Ninja
+  #     - cmake --build .
+  #     - cp chdman /app/bin
+  #   sources:
+  #     - type: git
+  #       url: https://github.com/CharlesThobe/chdman.git
+  #       commit: f7cadf1720cbeba8a14f2685830ff424a0c7f6cd
 
   - name: rclone
     buildsystem: simple
@@ -462,7 +465,7 @@ modules:
     sources:
       - type: git
         url: https://github.com/libretro/RetroArch.git
-        commit: ad8975cb5a0fe45be43438bdbd6c3d745653dd02
+        commit: 06fa5325f8b3cd42e6fba3d57835d5924c9ea2e7
       - type: file
         path: rd-submodules/retroarch/retroarch.cfg
       - type: file
@@ -506,7 +509,7 @@ modules:
     sources:
       - type: git
         url: https://github.com/libretro/RetroArch.git
-        commit: ad8975cb5a0fe45be43438bdbd6c3d745653dd02
+        commit: 06fa5325f8b3cd42e6fba3d57835d5924c9ea2e7
   - name: retroarch-filers-audio
     subdir: libretro-common/audio/dsp_filters
     make-install-args:
@@ -514,7 +517,7 @@ modules:
     sources:
       - type: git
         url: https://github.com/libretro/RetroArch.git
-        commit: ad8975cb5a0fe45be43438bdbd6c3d745653dd02
+        commit: 06fa5325f8b3cd42e6fba3d57835d5924c9ea2e7
   - name: retroarch-assets
     make-install-args:
       - PREFIX=${FLATPAK_DEST}
@@ -528,21 +531,21 @@ modules:
     sources:
       - type: git
         url: https://github.com/libretro/libretro-database.git
-        commit: 2c121df3a1c661e7a686f159ec5500a2837eefb3
+        commit: 977612e2cd284f67fc0d121d9d94c5982a49f61e
   - name: libretro-core-info
     make-install-args:
       - PREFIX=${FLATPAK_DEST}
     sources:
       - type: git
         url: https://github.com/libretro/libretro-core-info.git
-        commit: ef6815722bfd4cc7d0cf14640b7111ecb5709cdd
+        commit: ad0f67e172dca9edb88a4eea1d541f407a9c2d12
   - name: retroarch-joypad-autoconfig
     make-install-args:
       - PREFIX=${FLATPAK_DEST}
     sources:
       - type: git
         url: https://github.com/libretro/retroarch-joypad-autoconfig.git
-        commit: 9999374439b6526cfec78dd1fc51ed889e51ec6d
+        commit: ec43cfef730f15d6b20bf277681250b2f4b99a8b
   - name: common-shaders
     make-install-args:
       - PREFIX=${FLATPAK_DEST}
@@ -556,21 +559,21 @@ modules:
     sources:
       - type: git
         url: https://github.com/libretro/slang-shaders.git
-        commit: 5b4c9b2a75aba5f57fcb5b68662a06f0ed7c929f
+        commit: d367f6cf73e01a8e43028107ab1ded2d2f05fe6a
   - name: glsl-shaders
     make-install-args:
       - PREFIX=${FLATPAK_DEST}
     sources:
       - type: git
         url: https://github.com/libretro/glsl-shaders.git
-        commit: bc8df92f013a128c3a735a57d3d98c6f087cc291
+        commit: db974e4d6f6e3178198b7690095a107b3b509d4b
   - name: common-overlays
     make-install-args:
       - PREFIX=${FLATPAK_DEST}
     sources:
       - type: git
         url: https://github.com/libretro/common-overlays.git
-        commit: 115d8670c2e032e4a41ba45f766f5cfd9dae28b8
+        commit: c266abf4d7f9286fb6fbcfb57647cd9c80c45530
 
   # RetroArch - END
 
@@ -823,8 +826,8 @@ modules:
     sources:
       - type: git
         url: https://github.com/xemu-project/xemu.git
-        tag: v0.7.118
-        commit: 03f40b1d8e873b57eab68dc66ae9892aa5e39f89
+        tag: v0.7.120
+        commit: 94d826a4f125d755d6d37069ad7084bfde33d650
         x-checker-data:
           type: json
           url: https://api.github.com/repos/xemu-project/xemu/releases/latest
@@ -1258,7 +1261,7 @@ modules:
       - cp -f res/splash.svg ${FLATPAK_DEST}/retrodeck/graphics/splash-orig.svg
       - cp -rf res/extra_splashes/ ${FLATPAK_DEST}/retrodeck/graphics
       - cp -f res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg
-      - cp -f res/icon-configurator.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/retrodeck-configurator.svg
+      - cp -f res/icon-configurator.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.configurator.svg
       - mv -f -t ${FLATPAK_DEST}/retrodeck res/binding_icons
 
       # RetroDECK core script
@@ -1301,10 +1304,6 @@ modules:
       - cp emu-configs/gzdoom/gzdoom.sh ${FLATPAK_DEST}/bin/gzdoom.sh
       - chmod +x ${FLATPAK_DEST}/bin/gzdoom.sh
 
-      # MAME wrapper
-      - cp emu-configs/mame/mame-rdwrapper.sh ${FLATPAK_DEST}/bin/mame-rdwrapper.sh
-      - chmod +x ${FLATPAK_DEST}/bin/mame-rdwrapper.sh
-
       # Ryujinx wrapper
       - cp emu-configs/ryujinx/ryujinx-rdwrapper.sh ${FLATPAK_DEST}/bin/ryujinx-rdwrapper.sh
       - chmod +x ${FLATPAK_DEST}/bin/ryujinx-rdwrapper.sh
diff --git a/tools/configurator.sh b/tools/configurator.sh
index 2f21b717..013be094 100644
--- a/tools/configurator.sh
+++ b/tools/configurator.sh
@@ -491,7 +491,7 @@ configurator_open_emulator_dialog() {
 
   "MAME" )
     log i "Configurator: \"$emulator\""
-    mame-rdwrapper.sh
+    mame -inipath /var/config/mame/ini
   ;;
 
   "MelonDS" )