From 7a4e972a24cec2dd733a8c10996a30ce867d00a2 Mon Sep 17 00:00:00 2001 From: Nickyshe Date: Jun 07 2025 08:29:07 +0000 Subject: Docs: Update IA and fix structure --- diff --git a/.gitignore b/.gitignore index 9f3ebf5..b7f0d83 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -build -cache -public +build +cache +public diff --git a/LICENSE b/LICENSE index ba8d521..0acca3f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,10 +1,10 @@ -The text of and illustrations in this document are licensed by Red Hat -under a Creative Commons Attribution–Share Alike 3.0 Unported license -("CC-BY-SA"). An explanation of CC-BY-SA is available at -http://creativecommons.org/licenses/by-sa/3.0/. In accordance with -CC-BY-SA, if you distribute this document or an adaptation of it, you -must provide the URL for the original version. - -Red Hat, as the licensor of this document, waives the right to -enforce, and agrees not to assert, Section 4d of CC-BY-SA to the -fullest extent permitted by applicable law. +The text of and illustrations in this document are licensed by Red Hat +under a Creative Commons Attribution–Share Alike 3.0 Unported license +("CC-BY-SA"). An explanation of CC-BY-SA is available at +http://creativecommons.org/licenses/by-sa/3.0/. In accordance with +CC-BY-SA, if you distribute this document or an adaptation of it, you +must provide the URL for the original version. + +Red Hat, as the licensor of this document, waives the right to +enforce, and agrees not to assert, Section 4d of CC-BY-SA to the +fullest extent permitted by applicable law. diff --git a/README.md b/README.md index ebfd37f..72b862e 100644 --- a/README.md +++ b/README.md @@ -1,140 +1,140 @@ -# Fedora Gaming Documentation - -This repository contains the sources for the Fedora Gaming Documentation. - -## Contributing to this documentation - -Steps to do to contribute to the documentation: - -Fork this repository, so you are not pushing updates directly into the master. - -Start adding the actual ASCIIDoc content. While writing, make sure your new source files are included in the nav.adoc configuration file of the module you are using (./modules/ROOT/ ). -Also make sure to use local preview often to check your markup. - -Once you finish, commit your changes and push them to your fork. - -Use Pagure to make a pull request from your fork to the main repository’s master branch. - -Someone will see your pull request and either merge it, or provide feedback if there is something you should change. Work with the people commenting to make sure your contributions are up to standards. - -## This needs to be done once first version of the site is finished. -Your new content will need to be published for the first time, and at the moment this does not happen automatically. Send an e-mail to the docs mailing list asking for your content to be published. - -The information below is on contributing to this repository (Taken from https://pagure.io/fedora-docs/template) - -## Structure - -``` -|-- README.md -|-- antora.yml ....................... 1. -|-- build.sh ......................... 2. -|-- preview.sh ....................... 3. -|-- site.yml ......................... 4. -`-- modules - `-- ROOT ......................... 5. - |-- assets - | `-- images ............... 6. - | `-- pizza.png - |-- nav.adoc ................. 7. - `-- pages .................... 8. - |-- architecture.adoc - |-- community.adoc - |-- faq.adoc - |-- index.adoc - |-- pizza-dough.adoc - `-- pizza-oven.adoc -``` - -1. Metadata definition. -2. A script that does a local build. Uses podman/docker. -3. A script that shows a preview of the site in a web browser by running a local web server. Uses podman/docker. -4. A definition file for the build script. -5. A "root module of this documentation component". Please read below for an explanation. -6. **Images** to be used on any page. -7. **Menu definition.** Also defines the hierarchy of all the pages. -8. **Pages with the actual content.** They can be also organised into subdirectories if desired. - -## Components and Modules - -Antora introduces two new terms: - -* **Component** — Simply put, a component is a part of the documentation website with its own menu. Components can also be versioned. In the Fedora Docs, we use separate components for user documentation, the Fedora Project, Fedora council, Mindshare, FESCO, but also for subprojects such as CommOps or Modulartity. -* **Module** — A component can be broken down into multiple modules. Modules still share a single menu on the site, but their sources can be stored in different git repositories, even owned by different groups. The default module is called "ROOT" (that's what is in this example). If you don't want to use multiple modules, only use "ROOT". But to define more modules, simply duplicate the "ROOT" directory and name it anything you want. You can store modules in one or more git repositories. - -## Local preview - -This repo includes scripts to build and preview the contents of this repository. - -**NOTE**: Please note that if you reference pages from other repositories, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions. - -Both scripts work on Fedora (using Podman) and macOS (using Docker). - -To build and preview the site, run: - -``` -$ ./build.sh && ./preview.sh -``` - -The result will be available at http://localhost:8080 - -### Installing Podman on Fedora - -Newer Fedora Workstations comes with Podman preinstalled by default — if you do not have it, you need to install it using the following command: - -``` -$ sudo dnf install podman -``` - -### Preview as a part of the whole Fedora Docs site - -You can also build the whole Fedora Docs site locally to see your changes in the whole context. -This is especially useful for checking if your `xref` links work properly. - -To do this, you need to clone the main [Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o), modify the `site.yml` file to reference a repo with your changes, and build it. -Steps: - -Clone the main repository and cd into it: - -``` -$ git clone https://pagure.io/fedora-docs/docs-fp-o.git -$ cd docs-fp-o -``` - -Find a reference to the repository you're changing in the `site.yml` file, and change it so it points to your change. -So for example, if I made a modification to the Modularity docs, I would find: - -``` -... - - url: https://pagure.io/fedora-docs/modularity.git - branches: - - master -... -``` - -And replaced it with a pointer to my fork: -``` -... - - url: https://pagure.io/forks/asamalik/fedora-docs/modularity.git - branches: - - master -... -``` - -I could also point to a local repository, using `HEAD` as a branch to preview the what's changed without the need of making a commit. - -**Note:** I would need to move the repository under the `docs-fp-o` directory, because the builder won't see anything above. -So I would need to create a `repositories` directory in `docs-fp-o` and copy my repository into it. - -``` -... - - url: ./repositories/modularity - branches: - - HEAD -... -``` - -To build the whole site, I would run the following in the `docs-fp-o` directory. - -``` -$ ./build.sh && ./preview.sh -``` +# Fedora Gaming Documentation + +This repository contains the sources for the Fedora Gaming Documentation. + +## Contributing to this documentation + +Steps to do to contribute to the documentation: + +Fork this repository, so you are not pushing updates directly into the master. + +Start adding the actual ASCIIDoc content. While writing, make sure your new source files are included in the nav.adoc configuration file of the module you are using (./modules/ROOT/ ). +Also make sure to use local preview often to check your markup. + +Once you finish, commit your changes and push them to your fork. + +Use Pagure to make a pull request from your fork to the main repository’s master branch. + +Someone will see your pull request and either merge it, or provide feedback if there is something you should change. Work with the people commenting to make sure your contributions are up to standards. + +## This needs to be done once first version of the site is finished. +Your new content will need to be published for the first time, and at the moment this does not happen automatically. Send an e-mail to the docs mailing list asking for your content to be published. + +The information below is on contributing to this repository (Taken from https://pagure.io/fedora-docs/template) + +## Structure + +``` +|-- README.md +|-- antora.yml ....................... 1. +|-- build.sh ......................... 2. +|-- preview.sh ....................... 3. +|-- site.yml ......................... 4. +`-- modules + `-- ROOT ......................... 5. + |-- assets + | `-- images ............... 6. + | `-- pizza.png + |-- nav.adoc ................. 7. + `-- pages .................... 8. + |-- architecture.adoc + |-- community.adoc + |-- faq.adoc + |-- index.adoc + |-- pizza-dough.adoc + `-- pizza-oven.adoc +``` + +1. Metadata definition. +2. A script that does a local build. Uses podman/docker. +3. A script that shows a preview of the site in a web browser by running a local web server. Uses podman/docker. +4. A definition file for the build script. +5. A "root module of this documentation component". Please read below for an explanation. +6. **Images** to be used on any page. +7. **Menu definition.** Also defines the hierarchy of all the pages. +8. **Pages with the actual content.** They can be also organised into subdirectories if desired. + +## Components and Modules + +Antora introduces two new terms: + +* **Component** — Simply put, a component is a part of the documentation website with its own menu. Components can also be versioned. In the Fedora Docs, we use separate components for user documentation, the Fedora Project, Fedora council, Mindshare, FESCO, but also for subprojects such as CommOps or Modulartity. +* **Module** — A component can be broken down into multiple modules. Modules still share a single menu on the site, but their sources can be stored in different git repositories, even owned by different groups. The default module is called "ROOT" (that's what is in this example). If you don't want to use multiple modules, only use "ROOT". But to define more modules, simply duplicate the "ROOT" directory and name it anything you want. You can store modules in one or more git repositories. + +## Local preview + +This repo includes scripts to build and preview the contents of this repository. + +**NOTE**: Please note that if you reference pages from other repositories, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions. + +Both scripts work on Fedora (using Podman) and macOS (using Docker). + +To build and preview the site, run: + +``` +$ ./build.sh && ./preview.sh +``` + +The result will be available at http://localhost:8080 + +### Installing Podman on Fedora + +Newer Fedora Workstations comes with Podman preinstalled by default — if you do not have it, you need to install it using the following command: + +``` +$ sudo dnf install podman +``` + +### Preview as a part of the whole Fedora Docs site + +You can also build the whole Fedora Docs site locally to see your changes in the whole context. +This is especially useful for checking if your `xref` links work properly. + +To do this, you need to clone the main [Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o), modify the `site.yml` file to reference a repo with your changes, and build it. +Steps: + +Clone the main repository and cd into it: + +``` +$ git clone https://pagure.io/fedora-docs/docs-fp-o.git +$ cd docs-fp-o +``` + +Find a reference to the repository you're changing in the `site.yml` file, and change it so it points to your change. +So for example, if I made a modification to the Modularity docs, I would find: + +``` +... + - url: https://pagure.io/fedora-docs/modularity.git + branches: + - master +... +``` + +And replaced it with a pointer to my fork: +``` +... + - url: https://pagure.io/forks/asamalik/fedora-docs/modularity.git + branches: + - master +... +``` + +I could also point to a local repository, using `HEAD` as a branch to preview the what's changed without the need of making a commit. + +**Note:** I would need to move the repository under the `docs-fp-o` directory, because the builder won't see anything above. +So I would need to create a `repositories` directory in `docs-fp-o` and copy my repository into it. + +``` +... + - url: ./repositories/modularity + branches: + - HEAD +... +``` + +To build the whole site, I would run the following in the `docs-fp-o` directory. + +``` +$ ./build.sh && ./preview.sh +``` diff --git a/antora.yml b/antora.yml index 82ee622..8de7009 100644 --- a/antora.yml +++ b/antora.yml @@ -1,16 +1,16 @@ -# Name will be mostly visible in the URL. Treat it as an identifier. -# Tip: If you want to use the local preview scripts that come with this repository, please change this value in the site.yml file as well. (under site/start_page) -name: gaming # <---- PLEASE MODIFY - -# Title will be visible on the page. -title: Fedora Gaming # <---- PLEASE MODIFY - -# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version. -version: master - -# We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise. -start_page: ROOT:index - -# This lists all the menu definitions of your component. -nav: -- modules/ROOT/nav.adoc +# Name will be mostly visible in the URL. Treat it as an identifier. +# Tip: If you want to use the local preview scripts that come with this repository, please change this value in the site.yml file as well. (under site/start_page) +name: gaming # <---- PLEASE MODIFY + +# Title will be visible on the page. +title: Fedora Gaming # <---- PLEASE MODIFY + +# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version. +version: master + +# We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise. +start_page: ROOT:index + +# This lists all the menu definitions of your component. +nav: +- modules/ROOT/nav.adoc diff --git a/build.sh b/build.sh index f4ecfe4..01c5b0c 100755 --- a/build.sh +++ b/build.sh @@ -1,46 +1,46 @@ -#!/bin/sh - -image="docker.io/antora/antora" -cmd="--html-url-extension-style=indexify site.yml" - -if [ "$(uname)" = "Darwin" ]; then - # Running on macOS. - # Let's assume that the user has the Docker CE installed - # which doesn't require a root password. - echo "" - echo "This build script is using Docker container runtime to run the build in an isolated environment." - echo "" - docker run --rm -it -v "$(pwd):/antora" $image $cmd - -elif [ "$(expr substr "$(uname -s)" 1 5)" = "Linux" ]; then - # Running on Linux. - # Check whether podman is available, else fall back to docker - # which requires root. - - if [ -f /usr/bin/podman ]; then - echo "" - echo "This build script is using Podman to run the build in an isolated environment." - echo "" - podman run --rm -it -v "$(pwd):/antora:z" $image $cmd - - elif [ -f /usr/bin/docker ]; then - echo "" - echo "This build script is using Docker to run the build in an isolated environment." - echo "" - - if groups | grep -wq "docker"; then - docker run --rm -it -v "$(pwd):/antora:z" $image $cmd - else - echo "" - echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." - echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." - echo "" - sudo docker run --rm -it -v "$(pwd):/antora:z" $image $cmd - fi - else - echo "" - echo "Error: Container runtime haven't been found on your system. Fix it by:" - echo "$ sudo dnf install podman" - exit 1 - fi -fi +#!/bin/sh + +image="docker.io/antora/antora" +cmd="--html-url-extension-style=indexify site.yml" + +if [ "$(uname)" = "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "" + echo "This build script is using Docker container runtime to run the build in an isolated environment." + echo "" + docker run --rm -it -v "$(pwd):/antora" $image $cmd + +elif [ "$(expr substr "$(uname -s)" 1 5)" = "Linux" ]; then + # Running on Linux. + # Check whether podman is available, else fall back to docker + # which requires root. + + if [ -f /usr/bin/podman ]; then + echo "" + echo "This build script is using Podman to run the build in an isolated environment." + echo "" + podman run --rm -it -v "$(pwd):/antora:z" $image $cmd + + elif [ -f /usr/bin/docker ]; then + echo "" + echo "This build script is using Docker to run the build in an isolated environment." + echo "" + + if groups | grep -wq "docker"; then + docker run --rm -it -v "$(pwd):/antora:z" $image $cmd + else + echo "" + echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + echo "" + sudo docker run --rm -it -v "$(pwd):/antora:z" $image $cmd + fi + else + echo "" + echo "Error: Container runtime haven't been found on your system. Fix it by:" + echo "$ sudo dnf install podman" + exit 1 + fi +fi diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 633b348..c8c2a0a 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,7 +1,8 @@ * xref:index.adoc[Welcome] -* xref:mission.adoc[Mission] -* xref:communicating.adoc[Getting in Touch] -* xref:contributing.adoc[Join Us] +** xref:communicating.adoc[Join the Community] +** xref:glossary.adoc[Glossary] +** xref:faq.adoc[FAQ] +** xref:contributing.adoc[Contributing] * xref:game-installation.adoc[Installations] ** xref:proton.adoc[Proton With Steam] ** xref:gameboy-emulator.adoc[Gameboy Emulator] @@ -10,9 +11,9 @@ ** xref:monitoring.adoc[Monitoring Tools] ** xref:gamescope.adoc[Gamescope] ** xref:gpu-overclocking.adoc[GPU Overclocking] -* xref:game-development.adoc[Game Development] -* xref:community.adoc[Gaming Community] -* xref:game-links.adoc[Gaming Links] +* xref:advance-topics.adoc[Advanced Topics] +** xref:game-development.adoc[Game Development] +* xref:game-links.adoc[Resources] ** xref:game-sites.adoc[Gaming News Sites] ** xref:game-lists.adoc[Game List References] -* xref:faq.adoc[FAQ] + diff --git a/modules/ROOT/pages/advance-topics.adoc b/modules/ROOT/pages/advance-topics.adoc new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modules/ROOT/pages/advance-topics.adoc diff --git a/modules/ROOT/pages/communicating.adoc b/modules/ROOT/pages/communicating.adoc index f2e46f2..9b566b4 100644 --- a/modules/ROOT/pages/communicating.adoc +++ b/modules/ROOT/pages/communicating.adoc @@ -1,16 +1,16 @@ -= Communicating and Getting Help - -For general troubleshooting help related to Fedora, please refer to link:https://ask.fedoraproject.org[Ask Fedora Forum]. - -If you found a bug, report it! - -* link:https://docs.fedoraproject.org/en-US/quick-docs/howto-file-a-bug/[How to file a bug]. - -If you have specific questions/ideas about gaming or game development, or want to introduce yourself -and join the team, come visit us at the link:https://discussion.fedoraproject.org/c/desktop/gaming[Gaming Discussion Form]! - -* Issues about gaming documentation can be filed at link:https://pagure.io/gaming/documentation/issues[ticketing repository on Pagure]. - -* You can chat with us at link:https://web.libera.chat/?channels=\#fedora-games[#fedora-games on irc.libera.chat], or our link:https://matrix.to/\#/\#gaming:fedoraproject.org[Element/Matrix channel]. Chats are bridged, so you can use either one of them. - -* You can e-mail us on the Games mailing list at link:https://lists.fedoraproject.org/admin/lists/games@lists.fedoraproject.org/[games@lists.fedoraproject.org]. += Communicating and Getting Help + +For general troubleshooting help related to Fedora, please refer to link:https://ask.fedoraproject.org[Ask Fedora Forum]. + +If you found a bug, report it! + +* link:https://docs.fedoraproject.org/en-US/quick-docs/howto-file-a-bug/[How to file a bug]. + +If you have specific questions/ideas about gaming or game development, or want to introduce yourself +and join the team, come visit us at the link:https://discussion.fedoraproject.org/c/desktop/gaming[Gaming Discussion Form]! + +* Issues about gaming documentation can be filed at link:https://pagure.io/gaming/documentation/issues[ticketing repository on Pagure]. + +* You can chat with us at link:https://web.libera.chat/?channels=\#fedora-games[#fedora-games on irc.libera.chat], or our link:https://matrix.to/\#/\#gaming:fedoraproject.org[Element/Matrix channel]. Chats are bridged, so you can use either one of them. + +* You can e-mail us on the Games mailing list at link:https://lists.fedoraproject.org/admin/lists/games@lists.fedoraproject.org/[games@lists.fedoraproject.org]. diff --git a/modules/ROOT/pages/community.adoc b/modules/ROOT/pages/community.adoc index 949dc50..6f92dbc 100644 --- a/modules/ROOT/pages/community.adoc +++ b/modules/ROOT/pages/community.adoc @@ -1,6 +1,6 @@ -= Gaming Community - -We are revitalizing our community. - -We welcome all new ideas and help. You can use the link at the bottom of this page or get in touch through various ways specified in the getting in touch page on the left. - += Gaming Community + +We are revitalizing our community. + +We welcome all new ideas and help. You can use the link at the bottom of this page or get in touch through various ways specified in the getting in touch page on the left. + diff --git a/modules/ROOT/pages/contributing.adoc b/modules/ROOT/pages/contributing.adoc index f3ccf96..af7e70b 100644 --- a/modules/ROOT/pages/contributing.adoc +++ b/modules/ROOT/pages/contributing.adoc @@ -1,20 +1,20 @@ -= Contributing - -:toc: macro - -:toc-title: Contents - - - -NOTE: A link:https://accounts.fedoraproject.org/[Fedora account] is required to access the link:https://apps.fedoraproject.org/[applications] and link:https://fedoraproject.org/wiki/Infrastructure[infrastructure] used by the Fedora community. It only takes a minute to set up! You can learn more about the Fedora project link:https://docs.fedoraproject.org/en-US/project/[here]. - - - -Games interest group is a community supported initiative, and team members work on it in their free time. - -We are always looking for more hands to help with gaming, and we are more than happy to help people learn the technical skills required to contribute. - -Please xref:communicating.adoc[get in touch] if you would like to join the team! - - - += Contributing + +:toc: macro + +:toc-title: Contents + + + +NOTE: A link:https://accounts.fedoraproject.org/[Fedora account] is required to access the link:https://apps.fedoraproject.org/[applications] and link:https://fedoraproject.org/wiki/Infrastructure[infrastructure] used by the Fedora community. It only takes a minute to set up! You can learn more about the Fedora project link:https://docs.fedoraproject.org/en-US/project/[here]. + + + +Games interest group is a community supported initiative, and team members work on it in their free time. + +We are always looking for more hands to help with gaming, and we are more than happy to help people learn the technical skills required to contribute. + +Please xref:communicating.adoc[get in touch] if you would like to join the team! + + + diff --git a/modules/ROOT/pages/controllers.adoc b/modules/ROOT/pages/controllers.adoc index a2c8996..6ffc6c5 100644 --- a/modules/ROOT/pages/controllers.adoc +++ b/modules/ROOT/pages/controllers.adoc @@ -1,8 +1,17 @@ = Controllers -Below you can find information about different controllers that you could utilize for your day-to-day gaming. +This guide explains how to connect PlayStation, Xbox, and Nintendo Switch controllers to Fedora for gaming. You’ll learn to pair controllers via USB and Bluetooth, and troubleshoot common issues. + +== What are Controllers? == +Controllers are input devices that interact with games on your computer. They can be wired (connected via USB) or wireless (connected via Bluetooth). Controllers provide a more tactile and immersive gaming experience compared to keyboard and mouse, especially for console-style games. + +=== Installation Types === +Controllers can be connected in two main ways: + +* *Wired(USB)*: Using a USB cable to connect the controller directly to your computer. + +* *Wireless(Bluetooth)*: Requires pairing and configuration. -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 == @@ -14,101 +23,141 @@ Controller should work as soon as you plug it to your machine via USB cable. ==== Via Bluetooth ==== -NOTE: Please note that there were identified issues with Bluetooth connection stability and input lag. +NOTE: There were identified issues with Bluetooth connection stability and input lag. + +The guide below recommends connecting your controller using the `bluetoothctrl` tool in the terminal. While you can still try to connect using the graphical Bluetooth manager, the method described below is suggested, as it is generally more stable. + +1. Open your terminal + +2. Run the `bluetoothctrl` command and confirm that you see `[bluetoothctrl]>` at the beginning of the new line. This means you are now using the bluetoothctrl application. + +3. Type `scan on` and press Enter to search for new devices. + +4. Put your DualSense 5 controller into pairing mode: -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. +* Press and hold the PlayStation button and the Share button (the smaller button on the top left side of the touchpad) simultaneously for a few seconds. +* The sides of the touchpad will blink quickly with a blue light, indicating that pairing mode is enabled. -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): ` + +5. Wait for the terminal to display your DualSense controller with its MAC address, for example: + ---- [NEW] Device [MAC-ADDRESS] DualSense Wireless Controller ---- -5. Start pairing by providing `[MAC-ADDRESS]` to the `pair` command: ++ +6. 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: ++ +7. After pairing has been completed, enter the 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.* +*Problem 1:* I am unable to use the controller with the 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 +*Solution:* Before pairing the DualSense 5 controller via Bluetooth, you may need to adjust the human interface device(HID ) protocol handling in the `/etc/bluetooth/input.conf` file. -Find following line: +Steps: +1. Find following line: ++ ---- #UserspaceHID=true ---- - -And change it to following one: - ++ +2. Change it to:: ++ ---- UserspaceHID=false ---- - -Now you can start pairing process. ++ +3. Now you can start pairing process. == Xbox Controllers == === Xbox Series S Wireless Controller === -This section describes how to connect controller prepared for Xbox Series X|S to your machine. +This section describes how to connect a controller prepared for Xbox Series X|S to your machine. ==== Via cable ==== -Controller should work as soon as you plug it to your machine via USB cable. +The controller should work as soon as you plug it into 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. -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. +2. Press the *Pair* button located at the back of the controller. The Xbox logo on the controller should start blinking rapidly, which implies that pairing mode has been enabled. +3. Go to the Bluetooth settings on your operating system. +4. Select *Xbox Wireless Controller* from the list. If you don’t see it, ensure pairing mode is enabled and use the "Search" option to refresh the list of available 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. +===== Troubleshooting ===== -You may need to install additional Xbox Controller driver, available at repository https://github.com/atar-axis/xpadneo[xpadneo]. +*Problem 1:* I am unable to pair my controller via Bluetooth. -One of the ways would be to use Copr repository to install the driver: +*Solution* +1. Install Xbox Controller Driver +You need to install additional Xbox Controller driver, available at repository https://github.com/atar-axis/xpadneo[xpadneo]. +WARNING: The software mentioned below is maintained by a third party and is not related to Fedora. You are installing it at your own risk. +* Use the 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: - ++ +2. Edit Bluetooth Configuration +* Open the Bluetooth configuration file (elevated access required): ++ +[source,bash] +---- +sudo nano /etc/bluetooth/main.conf +---- ++ +* Find the following line: ++ ---- #FastConnectable = false ---- - -Uncomment this line, and replace `false` value with `true`: - ++ +Uncomment this line and replace `false` with `true`: ++ ---- FastConnectable = true ---- ++ + +3. Reboot and Test + +* Reboot your machine after installation. +* Try to pair your controller again. + -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. +*Problem 2:* My controller disconnects after several seconds. +*Solution:* + +1. Install the xpadneo driver from the previous section may resolve this issue. + +2. You need to update your controller's firmware version. You can do this either: + +* Via Xbox console, or +* Through the Microsoft Windows https://apps.microsoft.com/detail/9nblggh30xj3?hl=en-US&gl=US[Xbox Accessories] application + +NOTE: Currently, there is no way to update Xbox Controller firmware from Linux. == Nintendo Switch controllers == @@ -120,49 +169,70 @@ Controller should work as soon as you plug it to your machine via USB cable. ==== Via Bluetooth ==== -NOTE: Please note that there were identified issues with Bluetooth connection stability and input lag. +NOTE: There were identified issues with Bluetooth connection stability and input lag. + +The guide below recommends connecting your controller via `bluetoothctrl`. While you can still try to connect via a dedicated GUI Bluetooth manager, the method described below is recommended because it is more stable. + +1. Open your terminal +2. Run the bluetoothctrl command and confirm that you see `[bluetoothctrl]>` at the beginning of the new line. This means you are using the bluetoothctrl application. +3. Put your Nintendo Switch Pro controller into pairing mode: + +* Press and hold the PlayStation button and the Share button (the smaller button on the top left side of the touchpad) simultaneously for a few seconds. + +* The sides of the touchpad will blink quickly with a blue light, indicating that pairing mode is enabled. -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. +4. Type `scan on` and press *Enter* to search for new devices. -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): +5. Wait for the terminal to display your Nintendo Pro controller with its MAC address, for example: + ---- [NEW] Device [MAC-ADDRESS] Pro Controller ---- -5. Start pairing by providing `[MAC-ADDRESS]` to the `pair` command: ++ +6. 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: ++ +7. After pairing has been completed, enter the following command to connect to the Nintendo Switch Pro controller: + ---- [bluetoothctl]> connect [MAC-ADDRESS] ---- ++ + ===== Troubleshooting ===== +*Problem 1:* I am unable to use the controller using the method described above -*I am not able to use the controller using method described above.* +*Solution:* Configure HID Protocol Handling -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 +Before trying to pair your Nintendo Switch Pro controller via Bluetooth, you need to change the HID protocol handling in the /etc/bluetooth/input.conf file. -Find following line: +Steps: +1. Edit the configuration file (elevated access required): ++ +[source,bash] +---- +bashsudo nano /etc/bluetooth/input.conf +---- ++ +2. Find the following line: ++ ---- #UserspaceHID=true ---- - -And change it to following one: - ++ +3. Change it to: ++ ---- UserspaceHID=false ---- - -Now you can start pairing process. ++ +4. Start the pairing process using the method described above === Other controllers === diff --git a/modules/ROOT/pages/faq.adoc b/modules/ROOT/pages/faq.adoc index 07a3862..fc13a17 100644 --- a/modules/ROOT/pages/faq.adoc +++ b/modules/ROOT/pages/faq.adoc @@ -1,19 +1,19 @@ -= Frequently Asked Questions (FAQ) - -[qanda] -Can I see a built preview of this template to get a better idea about the result?:: - - Of course you can! Just look at the README of the repository — it should tell you everything. - -Is writing documentation hard and dreadful?:: - - Absolutely not. Writing documentation in asciidoc is simple and straightforward. In fact, writing documentation can be very fun. Just try and see for yourself! - -How do I install a game not listed here?:: - - We are planning to add basic instructions on how to get started. You can contact us for more information. Help can be received from the Getting in Touch page on the left. - -I have a great idea:: - - We welcome all new ideas and help. You can use the link at the bottom of this page or see xref:contributing.adoc[our contributing page]. - += Frequently Asked Questions (FAQ) + +[qanda] +Can I see a built preview of this template to get a better idea about the result?:: + + Of course you can! Just look at the README of the repository — it should tell you everything. + +Is writing documentation hard and dreadful?:: + + Absolutely not. Writing documentation in asciidoc is simple and straightforward. In fact, writing documentation can be very fun. Just try and see for yourself! + +How do I install a game not listed here?:: + + We are planning to add basic instructions on how to get started. You can contact us for more information. Help can be received from the Getting in Touch page on the left. + +I have a great idea:: + + We welcome all new ideas and help. You can use the link at the bottom of this page or see xref:contributing.adoc[our contributing page]. + diff --git a/modules/ROOT/pages/game-development.adoc b/modules/ROOT/pages/game-development.adoc index f0fb4f0..45283da 100644 --- a/modules/ROOT/pages/game-development.adoc +++ b/modules/ROOT/pages/game-development.adoc @@ -1,20 +1,20 @@ -= Game Development - -Mission for game development: - -Provide developers a platform that has a working production pipeline out of the box where one can boot up a live distro and work through a provided example that results in a working game on Fedora. - -=== Tools === - -Game development tooling that is available on Linux include - -* Gimp -* Inkscape -* Krita -* Synfig -* Blender -* Godot - -=== Possible Sample Projects === - -Blender and Godot are fantastic pieces of software. += Game Development + +Mission for game development: + +Provide developers a platform that has a working production pipeline out of the box where one can boot up a live distro and work through a provided example that results in a working game on Fedora. + +=== Tools === + +Game development tooling that is available on Linux include + +* Gimp +* Inkscape +* Krita +* Synfig +* Blender +* Godot + +=== Possible Sample Projects === + +Blender and Godot are fantastic pieces of software. diff --git a/modules/ROOT/pages/game-installation.adoc b/modules/ROOT/pages/game-installation.adoc index fc8c1fd..73836cd 100644 --- a/modules/ROOT/pages/game-installation.adoc +++ b/modules/ROOT/pages/game-installation.adoc @@ -1,48 +1,48 @@ -= Game Installation - -NOTE: Fedora does not support some of these platforms out of the box due to -current policies, thus requiring some additional steps to use. The most common -need is setting up RPM-Fusion repository as instructed -https://docs.fedoraproject.org/en-US/quick-docs/setup_rpmfusion/[here]. And -setting up https://flatpak.org/setup/Fedora/[Flathub]. - -Games can be installed and played several ways, here are some of them: - -=== Lutris === - -Lutris is an Open-Source gaming platform for Linux. It installs and launches -games so you can start playing without the hassle of setting up your games. -Get your games from GOG, Steam, Battle.net, Origin, Uplay and many other sources -running on any Linux-powered gaming machine. Lutris is also in the default -Fedora repos and GNOME Software, making it an absolute breeze to install. - -=== Emulators === - -Some of them are already packaged into Fedora. Most are available as Flatpaks. -Retroarch (combined frontend for a lot of older (pre-2000) emulators) is -trending these days. Retroarch is already in the repos. We also recommend Gnome -Games, a Retroarch frontend designed to better integrate with the GNOME Desktop. - -=== Flatpak === - -Some proprietary but native Linux games have flatpak builds (RuneScape or -Minecraft.) Flatpak is an excellent platform for native proprietary games, and -pretty much any Linux app where you don't want the hassle of an RPM. - -=== Native Open-Source Games === - -There are many excellent open-source games as well! Try running -`dnf groupinfo “Games”` or checking out the -https://flathub.org/apps/collection/editors-choice-games[Flathub Editor's choice - games list]. - -=== Steam === - -Steam’s Proton is the single biggest thing that has boosted Linux gaming. -When anyone thinks of Linux gaming, they think of Proton. -Valve as a company has done a lot to encourage Linux gaming. -All of Valve’s self-published games are Linux native including Half Life Alyx -which is a VR title. - -NOTE: While Steam Proton is https://github.com/ValveSoftware/Proton[open source], -the Steam client is not. += Game Installation + +NOTE: Fedora does not support some of these platforms out of the box due to +current policies, thus requiring some additional steps to use. The most common +need is setting up RPM-Fusion repository as instructed +https://docs.fedoraproject.org/en-US/quick-docs/setup_rpmfusion/[here]. And +setting up https://flatpak.org/setup/Fedora/[Flathub]. + +Games can be installed and played several ways, here are some of them: + +=== Lutris === + +Lutris is an Open-Source gaming platform for Linux. It installs and launches +games so you can start playing without the hassle of setting up your games. +Get your games from GOG, Steam, Battle.net, Origin, Uplay and many other sources +running on any Linux-powered gaming machine. Lutris is also in the default +Fedora repos and GNOME Software, making it an absolute breeze to install. + +=== Emulators === + +Some of them are already packaged into Fedora. Most are available as Flatpaks. +Retroarch (combined frontend for a lot of older (pre-2000) emulators) is +trending these days. Retroarch is already in the repos. We also recommend Gnome +Games, a Retroarch frontend designed to better integrate with the GNOME Desktop. + +=== Flatpak === + +Some proprietary but native Linux games have flatpak builds (RuneScape or +Minecraft.) Flatpak is an excellent platform for native proprietary games, and +pretty much any Linux app where you don't want the hassle of an RPM. + +=== Native Open-Source Games === + +There are many excellent open-source games as well! Try running +`dnf groupinfo “Games”` or checking out the +https://flathub.org/apps/collection/editors-choice-games[Flathub Editor's choice + games list]. + +=== Steam === + +Steam’s Proton is the single biggest thing that has boosted Linux gaming. +When anyone thinks of Linux gaming, they think of Proton. +Valve as a company has done a lot to encourage Linux gaming. +All of Valve’s self-published games are Linux native including Half Life Alyx +which is a VR title. + +NOTE: While Steam Proton is https://github.com/ValveSoftware/Proton[open source], +the Steam client is not. diff --git a/modules/ROOT/pages/game-links.adoc b/modules/ROOT/pages/game-links.adoc index d67213a..367c906 100644 --- a/modules/ROOT/pages/game-links.adoc +++ b/modules/ROOT/pages/game-links.adoc @@ -1,5 +1,5 @@ -= Gaming Links - -We are currently discussing about games on Fedora - -https://discussion.fedoraproject.org/t/alienarena-7-71-2-release/26310?u=copperi[AlienArena] += Gaming Links + +We are currently discussing about games on Fedora + +https://discussion.fedoraproject.org/t/alienarena-7-71-2-release/26310?u=copperi[AlienArena] diff --git a/modules/ROOT/pages/game-lists.adoc b/modules/ROOT/pages/game-lists.adoc index 019a271..61d12c2 100644 --- a/modules/ROOT/pages/game-lists.adoc +++ b/modules/ROOT/pages/game-lists.adoc @@ -1,12 +1,12 @@ -= Game List References - -* https://www.allegro.cc/[Allegro games] Instructions: genre -> listing --> show options -> "Source" to "yes" -> Apply -* https://packages.debian.org/unstable/games/[Debian games] -* https://openarena.wikia.com/wiki/OtherOpenSourceShooter[First-person -shooters] with different levels of Freeness -* https://libregamewiki.org/List_of_games[Libre game wiki's list of -games] -* https://icculus.org/lgfaq/gamelist.php[Linux Gamers' Game List] -* https://en.wikipedia.org/wiki/List_of_open-source_video_games[List of -open source video games] at Wikipedia += Game List References + +* https://www.allegro.cc/[Allegro games] Instructions: genre -> listing +-> show options -> "Source" to "yes" -> Apply +* https://packages.debian.org/unstable/games/[Debian games] +* https://openarena.wikia.com/wiki/OtherOpenSourceShooter[First-person +shooters] with different levels of Freeness +* https://libregamewiki.org/List_of_games[Libre game wiki's list of +games] +* https://icculus.org/lgfaq/gamelist.php[Linux Gamers' Game List] +* https://en.wikipedia.org/wiki/List_of_open-source_video_games[List of +open source video games] at Wikipedia diff --git a/modules/ROOT/pages/game-sites.adoc b/modules/ROOT/pages/game-sites.adoc index 8abfa57..b3039f1 100644 --- a/modules/ROOT/pages/game-sites.adoc +++ b/modules/ROOT/pages/game-sites.adoc @@ -1,8 +1,8 @@ -= Gaming News sites - -* https://freegamer.blogspot.com/[Free Gamer] -* https://libregamewiki.org/[Libregamewiki] -* https://www.mobygames.com/browse/games/linux/[Linux games at -MobyGames] CONTAINS NON FREE SOFTWARE -* https://www.linuxgaming.de/[1] (German with Wiki, Forum and News) -* https://unixgames.org[Unixgames Q&A] += Gaming News sites + +* https://freegamer.blogspot.com/[Free Gamer] +* https://libregamewiki.org/[Libregamewiki] +* https://www.mobygames.com/browse/games/linux/[Linux games at +MobyGames] CONTAINS NON FREE SOFTWARE +* https://www.linuxgaming.de/[1] (German with Wiki, Forum and News) +* https://unixgames.org[Unixgames Q&A] diff --git a/modules/ROOT/pages/gameboy-emulator.adoc b/modules/ROOT/pages/gameboy-emulator.adoc index 726db47..a0d9905 100644 --- a/modules/ROOT/pages/gameboy-emulator.adoc +++ b/modules/ROOT/pages/gameboy-emulator.adoc @@ -1,33 +1,33 @@ -= Game Boy Emulator - -This will enable running of Game Boy games (which often have .gba extension) - -=== Installation Using Software Installation Program === - -Generic instructions on installations can be found https://docs.fedoraproject.org/en-US/quick-docs/finding-and-installing-linux-applications/[here]. - -On Gnome: - -From _Activities_ menu choose _software_ and search for: -*VisualBoyAdvance-M* - -Choose *install* - -You can then find the program as *VBA-M* on your desktop (and alternatively under _Applications .. Games_, if you have applications menu enabled). - -You can now choose Launch from the software installer. - -=== Installation Using DNF === - ----- -sudo dnf install visualboyadvance-m ----- - -=== Running the Emulator === - -From VBA-M choose file .. Open .. gba-file - -You can choose (and verify) your game-keys from: -Options .. Input .. Configure - -//We need to be cautious when writing documentation like this. The emulator.games link was unacceptable. See also: https://www.howtogeek.com/262758/is-downloading-retro-video-game-roms-ever-legal/ += Game Boy Emulator + +This will enable running of Game Boy games (which often have .gba extension) + +=== Installation Using Software Installation Program === + +Generic instructions on installations can be found https://docs.fedoraproject.org/en-US/quick-docs/finding-and-installing-linux-applications/[here]. + +On Gnome: + +From _Activities_ menu choose _software_ and search for: +*VisualBoyAdvance-M* + +Choose *install* + +You can then find the program as *VBA-M* on your desktop (and alternatively under _Applications .. Games_, if you have applications menu enabled). + +You can now choose Launch from the software installer. + +=== Installation Using DNF === + +---- +sudo dnf install visualboyadvance-m +---- + +=== Running the Emulator === + +From VBA-M choose file .. Open .. gba-file + +You can choose (and verify) your game-keys from: +Options .. Input .. Configure + +//We need to be cautious when writing documentation like this. The emulator.games link was unacceptable. See also: https://www.howtogeek.com/262758/is-downloading-retro-video-game-roms-ever-legal/ diff --git a/modules/ROOT/pages/gamescope.adoc b/modules/ROOT/pages/gamescope.adoc index f99cc19..db4f77a 100644 --- a/modules/ROOT/pages/gamescope.adoc +++ b/modules/ROOT/pages/gamescope.adoc @@ -8,30 +8,12 @@ Gamescope is a compositor (specifically, a micro-compositor) developed by Valve Here are some of the well-known features of Gamescope tailored for gaming: -* Resolution spoofing to force a game to run at a specific resolution and/or aspect ratio (e.g. 4:3 screen ratio stretch) -* Upscaling support regardless of native game support, including AMD FSR or NVIDIA Image Scaling (NIS) +* Resolution spoofing to force a game to run at a specific resolution and/or aspect ratio for example, 4:3 screen ratio stretch +* Upscaling support regardless of native game support, including AMD fidelityFX super resolution (FSR) or NVIDIA Image Scaling (NIS) * ReShade support * HDR rendering support * Frame limiter (useful for games without a built-in frame limiter) -== Installation == - -The Gamescope package is typically included during Steam installation as detailed xref:proton.adoc[here] and does not usually require further configuration. - -If Gamescope is not installed, you can install it manually with the following command: - -[source,bash] ----- -sudo dnf install gamescope ----- - -For Flatpak-based setups, install it using: - -[source,bash] ----- -flatpak install gamescope ----- - === Requirements === To use Gamescope without issues, ensure the following requirements are met based on your GPU: @@ -62,6 +44,24 @@ sudo grubby --update-kernel=ALL --args='nvidia-drm.modeset=1' // TODO Farhan: Need someone with NVIDIA hardware to verify as I only have AMD hardware. +== Installation == + +The Gamescope package is typically included during Steam installation as detailed xref:proton.adoc[here] and does not usually require further configuration. + +If Gamescope is not installed, you can install it manually with the following command: + +[source,bash] +---- +sudo dnf install gamescope +---- + +For Flatpak-based setups, install it using: + +[source,bash] +---- +flatpak install gamescope +---- + == Usage == To run games with Gamescope, you need to prepend `gamescope` to the game’s launch command. For example, when launching from Steam: @@ -110,5 +110,5 @@ gamescope --adaptive-sync -- %command% [TIP] -- -You can combine multiple options depending on your use case. It's recommended to read the available options and their usage by running `gamescope --help` in your terminal. +You can combine multiple options depending on your use case. It is strongly recommended to read the available options and their usage by running `gamescope --help` in your terminal. -- diff --git a/modules/ROOT/pages/glossary.adoc b/modules/ROOT/pages/glossary.adoc new file mode 100644 index 0000000..2727d05 --- /dev/null +++ b/modules/ROOT/pages/glossary.adoc @@ -0,0 +1,84 @@ += Glossary + +== DNF + +DNF stands for Dandified Yum. It is the default package manager (software installer) for Fedora used to install, update, and manage RPM packages from official and third-party software repositories (online storage locations for software). + +*Usage:* DNF lets you install native Linux games, game engines, libraries, and utilities that are not available as Flatpaks. It is also useful for installing Wine dependencies, performance tools, and emulator packages via the terminal. You can find more information in the https://docs.fedoraproject.org/en-US/quick-docs/dnf/[Fedora Quick Docs - DNF] + +== Emulator +A gaming emulator is software that mimics (copies the behavior of) the hardware of a video game console. It allows games from that console to run on a different platform like a Fedora-based PC. See also: xref:gameboy-emulator.adoc[Game Boy Emulator] + +*Usage:* On Fedora, emulators such as RetroArch, PCSX2, and Dolphin can be installed via Flatpak or RPM packages. Gamers use them to run ROMs (game files) or ISOs (disc images) of console games. You can configure input, video, and audio settings to enhance compatibility and performance. + + +== Flatpak + +Flatpak is a software packaging and distribution format that runs applications in isolated containers to ensure compatibility across different Linux distributions. + +*Usage:* Flatpak is commonly used to install and run emulators, game launchers, and indie titles from Flathub-the main Flatpak app store. It avoids dependency issues and sandboxes applications for security. You can manage Flatpaks via GNOME Software (graphical app store) or the command line (flatpak install, flatpak run). + +== Immutable OS + +An immutable Operating system(OS) is a Linux system where the core filesystem is read-only. It prevents unintended or unauthorized changes to system files and ensures consistency across reboots. Think of it as a "locked down" system that's harder to break. + +*Usage:* Fedora gaming variants like Bazzite or Fedora Silverblue use an immutable design to enhance system stability and security. Since the system is immutable, gamers typically install applications through Flatpak or use containerized environments like Distrobox for tools and scripts that need system access. + + +== Lutris +Lutris is an open source game manager for Linux that helps users install, configure, and launch games from various platforms, including native Linux titles, Windows games (via Wine or Proton) and emulators. It serves as a unified game launcher that handles the complex setup for you. + +*Usage:* Lutris simplifies running games by managing different runtime environments like different Wine versions, graphics translation layers (DXVK), and dependencies (required files). It integrates with platforms like GOG, Epic Games, and Steam, and can be installed via RPM Fusion or Flathub. Essentially, it does the hard work so you don't have to manually configure each game. +You can find more information about https://lutris.net/about[Lutris] here. + + + +== NVIDIA Drivers + +NVIDIA drivers are closed source proprietary software made by NVIDIA, including kernel modules (low-level system components) and user-space software that enable full hardware acceleration and performance features for NVIDIA graphics cards on Linux. + +*Usage:* Fedora gamers install NVIDIA drivers from the RPM Fusion repository because the default open source Nouveau driver has limited performance. These proprietary drivers offer better gaming performance and broader game support, and are essential for many gaming setups involving Steam, Proton, or Lutris. + +== Proton + +Proton is a compatibility layer (translation software) developed by Valve that allows Windows games to run on Linux. It combines Wine with additional tools like DXVK and Direct3D 12 to Vulkan translator(vkd3d ) to improve game compatibility. + +*Usage:* Proton is built into Steam and can be enabled in the Steam Play settings. It lets you run many Windows-exclusive games on Linux without manual setup. You can select different Proton versions per game for better compatibility. Check ProtonDB to see how well specific games work with Proton. +https://github.com/ValveSoftware/Proton[Proton], https://www.protondb.com/explore[ProtonDB] + + +== RPM +RPM stands for RPM Package Manager. It is a package format (file type for software) and the underlying technology used by Fedora and other Red Hat-based distributions to install, upgrade, and manage software. + +*Usage:* RPM packages provide access to native tools, libraries, and some games via DNF or direct download. You might use RPMs when installing performance tools, system utilities, or emulators that aren't available through Flatpak or Flathub. + +== SIG +"SIG" stands for Special Interest Group. These are informal teams within the Fedora Project that focus on specific areas of interest, like gaming, security, or documentation. The Fedora Games SIG works on improving gaming support in Fedora, so they're the people making Linux gaming better for Fedora users. + +== Steam + +Steam is a digital distribution platform (online game store) developed by Valve. It provides access to a large library of games, as well as features like multiplayer gaming, game streaming, and mod support. + +*Usage:* On Linux, Steam uses Proton to run Windows-based games that don't have native Linux versions. Steam can be installed via RPM Fusion (recommended) or Flatpak. It is your main gateway to playing both Linux-native games and Windows games (through Proton). You can configure graphical settings, performance options, and controllers through the Steam client. + + +== Wayland + +Wayland is a modern display server protocol (communication system) that replaces the traditional X11 system. It provides a simpler, secure, and efficient way for your desktop environment to communicate with applications and your graphics card. + +*Usage:* On Fedora, Wayland is the default session and works well with most games. Games run either natively under Wayland (via toolkits like SDL2 or Qt) or through XWayland for compatibility. The benefits include reduced input latency (faster response), better frame pacing (smoother gameplay), and stricter security isolation. + +== Wine + +Wine is a compatibility layer (translation software) that enables Windows applications and games to run on Linux by translating Windows system calls (requests to the operating system) into POSIX-compliant calls (Linux-compatible requests). Wine stands for "Wine Is Not an Emulator" - it translates rather than emulates. + +*Usage:* Wine can be installed via DNF or used within platforms like Lutris to manage game-specific configurations. It allows you to run Windows games that don't have Linux versions, though setup sometimes requires additional tweaks like DLL overrides (replacing Windows system files) or installing runtime dependencies (required Windows components). You can find more information about Wine in the following links: +https://gitlab.winehq.org/wine/wine/-/wikis/FAQ[FAQ], +https://gitlab.winehq.org/wine/wine/-/wikis/Fedora[Fedora], https://gitlab.winehq.org/wine/wine/-/wikis/Winetricks[Winetricks], https://appdb.winehq.org/[AppDB] + + +== X11 + +X11 (also called X Window System) is a display server protocol (communication system) that has historically been the standard for managing graphical user interfaces on Unix-like operating systems, including Linux. + +*Usage:* Although Fedora and other distributions are transitioning to Wayland as the default, X11 is still widely used for gaming and applications that require compatibility. Many games, especially older ones, continue to rely on X11 for display rendering. Some gaming tools or environments may not yet fully support Wayland, so you might need to switch to an X11 session for certain games or applications. diff --git a/modules/ROOT/pages/index.adoc b/modules/ROOT/pages/index.adoc index de23655..04b6f1b 100644 --- a/modules/ROOT/pages/index.adoc +++ b/modules/ROOT/pages/index.adoc @@ -1,17 +1,39 @@ -= Fedora gaming documentation -Jan Kuparinen; Andrew Thurman -:page-authors: {author}, {author_2} - -== Welcome to the Fedora Games SIG! - -Hello and welcome to the Fedora Games SIG! We are a small group of volunteers, -gamers, and game developers trying to make gaming and game development on Fedora -fun for everyone! - -No skill set isn't valuable. Whether you want to help write documentation, -magazine articles, package games and game development tools, work with game -developers, market Fedora as a gaming platform, or even just talk about playing -games, we would love your help. Please see xref:mission.adoc[our mission] if you -are interested in xref:contributing.adoc[joining us!] - -image::fedora-dark2.png[REPLACEME LOGO; a custom games SIG logo would be cool.] += Fedora gaming documentation +Jan Kuparinen; Andrew Thurman +:page-authors: {author}, {author_2} + +== Welcome to the Fedora Games SIG! + +Hello and welcome to the Fedora Games SIG! We are a small group of volunteers, gamers, and game developers trying to make gaming and game development on Fedora fun for everyone. + +Every skill is valuable here. Whether you want to write documentation, create magazine articles, package games and development tools, work with game developers, market Fedora as a gaming platform, or simply discuss gaming experiences, we'd love your help! If you're interested, see our xref:contributing.adoc[contributing guide]. + + +== Our Mission + +Our mission is to help make gaming and game development on Fedora Linux better for everyone!. The Fedora Project is full of gamers and game developers, and we want to talk about it! Whether you want technical help or just want to discuss gameplay, +you can come to the Games SIG and feel at home. + +Our current high-level goals: + +* Expanding this documentation. +* Gathering more interested gamers and contributors. +* https://discussion.fedoraproject.org/t/about-the-gaming-category/26110/2?u=copperi[Discussions on support for various graphics cards] +* https://discussion.fedoraproject.org/t/learning-fedora-linux-through-gaming/26153[Learning Fedora through gaming] +* https://discussion.fedoraproject.org/t/comps-group-for-games-maintenance-needed/26947?u=nickavem[Find package maintainers and fix the "Games" dnf group] + + + +[IMPORTANT] +-- +Check out our https://discussion.fedoraproject.org/t/the-games-sig-is-dead-should-it-be-revived/26264/21?u=copperi[Initial Proposal] +-- + + + +//// +image::super_mario.png[Gaming] +Let's try and avoid the use of possibly copyrighted characters, even if they are fun; Fedora Gaming Art? +//// + +image::fedora-dark2.png[REPLACEME LOGO; a custom games SIG logo would be cool.] diff --git a/modules/ROOT/pages/mission.adoc b/modules/ROOT/pages/mission.adoc deleted file mode 100644 index f961b00..0000000 --- a/modules/ROOT/pages/mission.adoc +++ /dev/null @@ -1,25 +0,0 @@ -= Mission - -*_Help make gaming and game development on Fedora Linux better for everyone!_* - -The Fedora Project is full of gamers and game developers, and we want to talk -about it! Whether you want technical help or just want to discuss gameplay, -you can come to the Games SIG and feel at home: - -Current High-Level Goals: - -* Expanding this documentation. -* Gathering more interested gamers and contributors. -* https://discussion.fedoraproject.org/t/about-the-gaming-category/26110/2?u=copperi[Discussions on support for various graphics cards] -* https://discussion.fedoraproject.org/t/learning-fedora-linux-through-gaming/26153[Learning Fedora through gaming] -* https://discussion.fedoraproject.org/t/comps-group-for-games-maintenance-needed/26947?u=nickavem[Find package maintainers and fix the "Games" dnf group] - -//// -image::super_mario.png[Gaming] -Let's try and avoid the use of possibly copyrighted characters, even if they are fun; Fedora Gaming Art? -//// - -=== Nostalgia - -* https://discussion.fedoraproject.org/t/the-games-sig-is-dead-should-it-be-revived/26264/21?u=copperi[Initial Proposal] - diff --git a/modules/ROOT/pages/proton.adoc b/modules/ROOT/pages/proton.adoc index 1eb4eab..804f84f 100644 --- a/modules/ROOT/pages/proton.adoc +++ b/modules/ROOT/pages/proton.adoc @@ -1,118 +1,118 @@ -= Steam Installation - -NOTE: This will require enabling an external repository. - -NOTE: If you enabled "Third Party Software" (`rpmfusion Nonfree`) at installation you can skip to installing Steam. - -:toc: - -== Using the terminal - -=== Enabling the external repository (`rpmfusion Nonfree`) - -* Launch The terminal prompt of your choice - -* Run the following command with a user that has root acess or can use the `sudo` command - -[source,bash] ----- -sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y ----- - -[source,bash] ----- -sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1 ----- - -For older versions (Fedora 40 and lower): - -[source,bash] ----- -sudo dnf config-manager --enable fedora-cisco-openh264 -y ----- - -=== Installing Steam - -* Run the following command with a user that has root acess or can use the `sudo` command - -[source,bash] ----- -sudo dnf install steam -y ----- - -== Using `Software` GUI Package Manager - -Open Software under the Activities in the top left corner. - -image::software.png[Software, 800, 600] - -=== Enabling the external repository (`rpmfusion Nonfree`) - -* Click the Menu Button (☰) on upper right corner and choose Software Repositories. (Circled red for visual aide) - -image::hamburger.png[800, 600] - -* Scroll down to the bottom of the new window till you see “Fedora Third Party Repositories”. - -image::repos.png[800, 600] - -* Enable "RPM Fusion for Fedora XX - Nonfree - Steam". -* Close the window. - -* Click on the upper left corner (search icon). - -image::search.png[800, 600] - -=== Installing Steam - -NOTE: Following installation requires you to be online. - -* Search for Steam and install it. - -image::steam.png[800, 600] - -* Launch Steam. - -=== Troubleshooting === - -==== Steam does not start after initial installation - -In case you are not able to run Steam application after initial installation, please try running it from terminal via following command: - -[source,bash] ----- -__GL_CONSTANT_FRAME_RATE_HINT=3 steam ----- - -==== Flathub installation - -IMPORTANT: With Fedora 38 there is an issue where Steam installed from Flathub -will not start. This issue is being tracked on the -https://discussion.fedoraproject.org/t/steam-from-flathub-might-not-start-on-fedora-38/80839[Fedora Discussion] page - -== Enable Proton engine - -NOTE: Following installation requires you to be online. - -* Open Steam and click Steam on the menu bar (upper left corner) and click Settings. - -image::settings.png[800, 600] - -* Click Compatibility. -* Check Enable Steam Play for supported titles. -* Check Enable Steam Play for all other titles and select the Proton version you installed. -* Press OK - -image::steam_play.png[800, 600] - -* Restart Steam - -Once Steam restarts all games in your Steam Library should be available to install and play. - -=== Next steps === - -Install available title from the Library menu and play it. - -NOTE: It is recommended that games are checked on https://www.protondb.com/[Proton games]. -This will give an idea of how well a game might run under Steam on Fedora. - += Steam Installation + +NOTE: This will require enabling an external repository. + +NOTE: If you enabled "Third Party Software" (`rpmfusion Nonfree`) at installation you can skip to installing Steam. + +:toc: + +== Using the terminal + +=== Enabling the external repository (`rpmfusion Nonfree`) + +* Launch The terminal prompt of your choice + +* Run the following command with a user that has root acess or can use the `sudo` command + +[source,bash] +---- +sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y +---- + +[source,bash] +---- +sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1 +---- + +For older versions (Fedora 40 and lower): + +[source,bash] +---- +sudo dnf config-manager --enable fedora-cisco-openh264 -y +---- + +=== Installing Steam + +* Run the following command with a user that has root acess or can use the `sudo` command + +[source,bash] +---- +sudo dnf install steam -y +---- + +== Using `Software` GUI Package Manager + +Open Software under the Activities in the top left corner. + +image::software.png[Software, 800, 600] + +=== Enabling the external repository (`rpmfusion Nonfree`) + +* Click the Menu Button (☰) on upper right corner and choose Software Repositories. (Circled red for visual aide) + +image::hamburger.png[800, 600] + +* Scroll down to the bottom of the new window till you see “Fedora Third Party Repositories”. + +image::repos.png[800, 600] + +* Enable "RPM Fusion for Fedora XX - Nonfree - Steam". +* Close the window. + +* Click on the upper left corner (search icon). + +image::search.png[800, 600] + +=== Installing Steam + +NOTE: Following installation requires you to be online. + +* Search for Steam and install it. + +image::steam.png[800, 600] + +* Launch Steam. + +=== Troubleshooting === + +==== Steam does not start after initial installation + +In case you are not able to run Steam application after initial installation, please try running it from terminal via following command: + +[source,bash] +---- +__GL_CONSTANT_FRAME_RATE_HINT=3 steam +---- + +==== Flathub installation + +IMPORTANT: With Fedora 38 there is an issue where Steam installed from Flathub +will not start. This issue is being tracked on the +https://discussion.fedoraproject.org/t/steam-from-flathub-might-not-start-on-fedora-38/80839[Fedora Discussion] page + +== Enable Proton engine + +NOTE: Following installation requires you to be online. + +* Open Steam and click Steam on the menu bar (upper left corner) and click Settings. + +image::settings.png[800, 600] + +* Click Compatibility. +* Check Enable Steam Play for supported titles. +* Check Enable Steam Play for all other titles and select the Proton version you installed. +* Press OK + +image::steam_play.png[800, 600] + +* Restart Steam + +Once Steam restarts all games in your Steam Library should be available to install and play. + +=== Next steps === + +Install available title from the Library menu and play it. + +NOTE: It is recommended that games are checked on https://www.protondb.com/[Proton games]. +This will give an idea of how well a game might run under Steam on Fedora. + diff --git a/nginx.conf b/nginx.conf index f7093b3..c349ad4 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,14 +1,14 @@ -server { - listen 80; - server_name localhost; - - location / { - root /antora/public; - index index.html index.htm; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } -} +server { + listen 80; + server_name localhost; + + location / { + root /antora/public; + index index.html index.htm; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} diff --git a/site.yml b/site.yml index d552ba1..fd6e874 100644 --- a/site.yml +++ b/site.yml @@ -1,20 +1,20 @@ -site: - title: Local Preview - Fedora Gaming - start_page: gaming::index -content: - sources: - - url: . - branches: HEAD -ui: - bundle: - url: https://asamalik.fedorapeople.org/ui-bundle.zip - snapshot: true - default_layout: with_menu -output: - clean: true - dir: ./public - destinations: - - provider: archive -runtime: - fetch: true - cache_dir: ./cache +site: + title: Local Preview - Fedora Gaming + start_page: gaming::index +content: + sources: + - url: . + branches: HEAD +ui: + bundle: + url: https://asamalik.fedorapeople.org/ui-bundle.zip + snapshot: true + default_layout: with_menu +output: + clean: true + dir: ./public + destinations: + - provider: archive +runtime: + fetch: true + cache_dir: ./cache