From f8086b0c4095c2ee7f8503f62eff6d22423e3863 Mon Sep 17 00:00:00 2001
From: Michał Smyk <michal@smyk.it>
Date: May 02 2025 20:45:58 +0000
Subject: [PATCH 1/4] Draft of Controllers article added


---

diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc
index 0f2810c..3de206f 100644
--- a/modules/ROOT/nav.adoc
+++ b/modules/ROOT/nav.adoc
@@ -5,6 +5,8 @@
 * xref:game-installation.adoc[Installations]
 ** xref:proton.adoc[Proton With Steam]
 ** xref:gameboy-emulator.adoc[Gameboy Emulator]
+* xref:optimization-and-tools.adoc[Optimization & Tools]
+** xref:controllers.adoc[Controllers]
 * xref:game-development.adoc[Game Development]
 * xref:community.adoc[Gaming Community]
 * xref:game-links.adoc[Gaming Links]
diff --git a/modules/ROOT/pages/controllers.adoc b/modules/ROOT/pages/controllers.adoc
new file mode 100644
index 0000000..da61f1a
--- /dev/null
+++ b/modules/ROOT/pages/controllers.adoc
@@ -0,0 +1,21 @@
+= Controllers
+
+Below you can find information about different controllers that you could utilize for your day-to-day gaming.
+
+In case some additional steps would be required to make them work properly within Fedora ecosystem - here you can find guidance on how to install them.
+
+=== Playstation Controllers ===
+
+TODO
+
+=== Xbox Controllers ===
+
+TODO
+
+=== Other controllers ===
+
+TODO
+
+==== Nintendo Switch controller ====
+
+TODO
\ No newline at end of file
diff --git a/modules/ROOT/pages/optimization-and-tools.adoc b/modules/ROOT/pages/optimization-and-tools.adoc
new file mode 100644
index 0000000..f81d751
--- /dev/null
+++ b/modules/ROOT/pages/optimization-and-tools.adoc
@@ -0,0 +1,3 @@
+= Optimization & Tools
+
+Below you can find dedicated articles for more complex topic, that may be required for you to fully enjoy gaming under Fedora OS.
\ No newline at end of file

From 543f45e745202f6411ab73d0dc1490d98ad57db2 Mon Sep 17 00:00:00 2001
From: Michał Smyk <michal@smyk.it>
Date: May 03 2025 07:32:36 +0000
Subject: [PATCH 2/4] Xbox description added


---

diff --git a/modules/ROOT/pages/controllers.adoc b/modules/ROOT/pages/controllers.adoc
index da61f1a..74b6cfd 100644
--- a/modules/ROOT/pages/controllers.adoc
+++ b/modules/ROOT/pages/controllers.adoc
@@ -8,9 +8,23 @@ In case some additional steps would be required to make them work properly withi
 
 TODO
 
-=== Xbox Controllers ===
+== Xbox Controllers ==
 
-TODO
+=== Xbox Wireless Controller ===
+
+This section describes how to connect controller prepared for Xbox Series X|S to your machine.
+
+==== Bluetooth ====
+
+1. Turn on your Xbox Wireless Controller.
+2. Press "Pair" button located at the back of the controller. Xbox logo on the controller should start blinking rapidly, which implies that pairing mode has been enabled.
+3. Navigate to Bluetooth settings on your operating system.
+4. Select "Xbox Wireles Controller" on the list. If you don't see it, make sure pairing mode is enabled and use "Search" option to refresh the list of identified Bluetooth devices.
+5. Accept the pairing request to connect your controller via Bluetooth.
+
+==== Via cable ====
+
+Controller should work as soon as you plug it to your machine via USB cable.
 
 === Other controllers ===
 

From f033733be80a147eff69eef9b43b1c20ad2fdb28 Mon Sep 17 00:00:00 2001
From: Michał Smyk <michal@smyk.it>
Date: May 07 2025 20:51:39 +0000
Subject: [PATCH 3/4] Update lists of controllers


---

diff --git a/modules/ROOT/pages/controllers.adoc b/modules/ROOT/pages/controllers.adoc
index 74b6cfd..c98e894 100644
--- a/modules/ROOT/pages/controllers.adoc
+++ b/modules/ROOT/pages/controllers.adoc
@@ -4,17 +4,29 @@ Below you can find information about different controllers that you could utiliz
 
 In case some additional steps would be required to make them work properly within Fedora ecosystem - here you can find guidance on how to install them.
 
-=== Playstation Controllers ===
+== Playstation Controllers ==
 
-TODO
+=== DualSense 5 Controller ===
+
+==== Via cable ====
+
+Controller should work as soon as you plug it to your machine via USB cable.
+
+==== Via Bluetooth ====
+
+Bluetooth connection for does not work out of the box - please look into community boards for potential solutions.
 
 == Xbox Controllers ==
 
-=== Xbox Wireless Controller ===
+=== Xbox Series S Wireless Controller ===
 
 This section describes how to connect controller prepared for Xbox Series X|S to your machine.
 
-==== Bluetooth ====
+==== Via cable ====
+
+Controller should work as soon as you plug it to your machine via USB cable.
+
+==== Via Bluetooth ====
 
 1. Turn on your Xbox Wireless Controller.
 2. Press "Pair" button located at the back of the controller. Xbox logo on the controller should start blinking rapidly, which implies that pairing mode has been enabled.
@@ -22,14 +34,64 @@ This section describes how to connect controller prepared for Xbox Series X|S to
 4. Select "Xbox Wireles Controller" on the list. If you don't see it, make sure pairing mode is enabled and use "Search" option to refresh the list of identified Bluetooth devices.
 5. Accept the pairing request to connect your controller via Bluetooth.
 
+===== Troubleshooting =====
+
+*I am not able to pair my controller via Bluetooth*
+
+NOTE: Repository mentioned below is maintained by third party, not related to Fedora. You are installing this software at your own risk.
+
+You may need to install additional Xbox Controller driver, available at repository https://github.com/atar-axis/xpadneo[xpadneo]. 
+
+One of the ways would be to use Copr repository to install the driver:
+
+[source,bash]
+----
+dnf copr enable atim/xpadneo
+dnf install xpadneo
+----
+
+Afterwards, please edit `/etc/bluetooth/main.conf` file (elevated access required). Find the following line:
+
+----
+# Permanently enables the Fast Connectable setting for adapters that
+# support it. When enabled other devices can connect faster to us,
+# however the tradeoff is increased power consumptions. This feature
+# will fully work only on kernel version 4.1 and newer. Defaults to
+# 'false'.
+#FastConnectable = false
+----
+
+Uncomment this line, and replace `false` value with `true`:
+
+----
+# Permanently enables the Fast Connectable setting for adapters that
+# support it. When enabled other devices can connect faster to us,
+# however the tradeoff is increased power consumptions. This feature
+# will fully work only on kernel version 4.1 and newer. Defaults to
+# 'false'.
+FastConnectable = true
+----
+
+Please reboot your machine after installation and try to pair your controller again.
+
+*My controller disconnects after several seconds*
+
+Installing xpadneo driver from previous section may resolve this issue. As an alternative, you may need to update your controller software version. You would need to do it either via Xbox console or through Microsoft Windows https://apps.microsoft.com/detail/9nblggh30xj3?hl=en-US&gl=US[Xbox Accessories] application. Currently there is no way to update Xbox Controller software from Linux. 
+
+
+== Nintendo Switch controllers ==
+
+=== Nintendo Switch Pro Controller ===
+
 ==== Via cable ====
 
 Controller should work as soon as you plug it to your machine via USB cable.
 
-=== Other controllers ===
+==== Via Bluetooth ====
+
+Bluetooth connection does not work out of the box - please look into community boards for potential solutions.
 
-TODO
 
-==== Nintendo Switch controller ====
+=== Other controllers ===
 
-TODO
\ No newline at end of file
+TODO

From 88377b30afd12adf3867e6c77d9ca9850f956254 Mon Sep 17 00:00:00 2001
From: Michał Smyk <michal@smyk.it>
Date: May 08 2025 06:54:37 +0000
Subject: [PATCH 4/4] Updated article for Nintendo Switch and PS5 controllers


---

diff --git a/modules/ROOT/pages/controllers.adoc b/modules/ROOT/pages/controllers.adoc
index c98e894..a2c8996 100644
--- a/modules/ROOT/pages/controllers.adoc
+++ b/modules/ROOT/pages/controllers.adoc
@@ -14,7 +14,48 @@ Controller should work as soon as you plug it to your machine via USB cable.
 
 ==== Via Bluetooth ====
 
-Bluetooth connection for does not work out of the box - please look into community boards for potential solutions.
+NOTE: Please note that there were identified issues with Bluetooth connection stability and input lag.
+
+NOTE: Gude below recommends connecting controller via `bluetoothctrl`. While you can still try to connect via dedicated GUI Bluetooth manager, method described below is suggested, as it is more stable.
+
+1. Run `bluetoothctrl` command from terminal. You should see `[bluetoothctrl]>` at the beginning of the new line, which implies that you are now working within the context of `bluetoothctrl` application.
+2. Start searching for new devices by typing `scan on` command.
+3. Start pairing process on your DualSense 5 controller, by pressing `Playstation` button and `Share` button (smaller button on the top left side of touchpad) simultaneously for few second. Sides of touchpad should start to blink fast with blue light, which means that pairing process has been enabled.
+4. After few moments, terminal should display DualSense controller with it's dedicated MAC address (placeholder on the example below): `
++
+----
+[NEW] Device [MAC-ADDRESS] DualSense Wireless Controller
+----
+5. Start pairing by providing `[MAC-ADDRESS]` to the `pair` command: 
++
+----
+[bluetoothctl]> pair [MAC-ADDRESS]
+----
+6. After pairing has been completed, use following command to connect to the DualSense 5 controller: 
++
+----
+[bluetoothctl]> connect [MAC-ADDRESS]
+----
+
+===== Troubleshooting =====
+
+*I am not able to use the controller using method described above.*
+
+Before trying to pair DualSense 5 controller via Bluetooth, you may need to change HID (Human-Interface Device) protocool handling in `/etc/bluetooth/input.conf` file
+
+Find following line:
+
+----
+#UserspaceHID=true
+----
+
+And change it to following one:
+
+----
+UserspaceHID=false
+----
+
+Now you can start pairing process.
 
 == Xbox Controllers ==
 
@@ -53,22 +94,12 @@ dnf install xpadneo
 Afterwards, please edit `/etc/bluetooth/main.conf` file (elevated access required). Find the following line:
 
 ----
-# Permanently enables the Fast Connectable setting for adapters that
-# support it. When enabled other devices can connect faster to us,
-# however the tradeoff is increased power consumptions. This feature
-# will fully work only on kernel version 4.1 and newer. Defaults to
-# 'false'.
 #FastConnectable = false
 ----
 
 Uncomment this line, and replace `false` value with `true`:
 
 ----
-# Permanently enables the Fast Connectable setting for adapters that
-# support it. When enabled other devices can connect faster to us,
-# however the tradeoff is increased power consumptions. This feature
-# will fully work only on kernel version 4.1 and newer. Defaults to
-# 'false'.
 FastConnectable = true
 ----
 
@@ -89,9 +120,50 @@ Controller should work as soon as you plug it to your machine via USB cable.
 
 ==== Via Bluetooth ====
 
-Bluetooth connection does not work out of the box - please look into community boards for potential solutions.
+NOTE: Please note that there were identified issues with Bluetooth connection stability and input lag.
+
+NOTE: Gude below recommends connecting controller via `bluetoothctrl`. While you can still try to connect via dedicated GUI Bluetooth manager, method described below is suggested, as it is more stable.
+
+1. Run `bluetoothctrl` command from terminal. You should see `[bluetoothctrl]>` at the beginning of the new line, which implies that you are now working within the context of `bluetoothctrl` application.
+2. Start pairing process on your DualSense 5 controller, by pressing `Playstation` button and `Share` button (smaller button on the top left side of touchpad) simultaneously for few second. Sides of touchpad should start to blink fast with blue light, which means that pairing process has been enabled.
+3. Start searching for new devices by typing `scan on` command.
+4. After few moments, terminal should display Nintendo Pro controller with it's dedicated MAC address (placeholder on the example below):
++
+----
+[NEW] Device [MAC-ADDRESS] Pro Controller
+----
+5. Start pairing by providing `[MAC-ADDRESS]` to the `pair` command: 
++
+----
+[bluetoothctl]> pair [MAC-ADDRESS]
+----
+6. After pairing has been completed, use following command to connect to the Nintendo Switch Pro controller: 
++
+----
+[bluetoothctl]> connect [MAC-ADDRESS]
+----
+
+===== Troubleshooting =====
+
+
+*I am not able to use the controller using method described above.*
+
+Before trying to pair Nintendo Switch Pro controller via Bluetooth, you may need to change HID (Human-Interface Device) protocool handling in `/etc/bluetooth/input.conf` file
+
+Find following line:
+
+----
+#UserspaceHID=true
+----
+
+And change it to following one:
+
+----
+UserspaceHID=false
+----
 
+Now you can start pairing process.
 
 === Other controllers ===
 
-TODO
+Support may vary based on controller - please look into community boards for information, if your controller will be supported.
\ No newline at end of file

