From 618abec97ade612966ed7cae52a0fd7b6efc8863 Mon Sep 17 00:00:00 2001 From: EMERALD Date: Wed, 12 Oct 2022 17:09:09 -0500 Subject: README rewrite (#214) * Improved header * Fix header screenshot distance, improve about * Installation section improvements * Add mouse and keyboard steps * Formatting all README sections * README SVG overhaul * Move uninstallation to installation section * Various clarifications * Clarification on password creation * Add common issues section * Add port 1337 warning --- README.md | 162 +++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 101 insertions(+), 61 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 77de3832..e46374b4 100644 --- a/README.md +++ b/README.md @@ -1,71 +1,111 @@ -# Decky Loader [![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/ZU74G2NJzk) - -![Decky](https://media.discordapp.net/attachments/966017112244125756/1012466063893610506/main.jpg) - -Keep an eye on the [Wiki](https://deckbrew.xyz) for more information about Decky Loader, documentation + tools for plugin development and more. - -## Installation -1. Go into the Steam Deck Settings -2. Under System -> System Settings toggle `Enable Developer Mode` -3. Scroll the sidebar all the way down and click on `Developer` -4. Under Miscellaneous, enable `CEF Remote Debugging` -5. Confirm dialog and wait for system reboot -6. Click on the `STEAM` button and select `Power` -> `Switch to Desktop` -7. Make sure you have a password set with the "passwd" command in terminal to install it ([YouTube Guide](https://www.youtube.com/watch?v=1vOMYGj22rQ)). - - It will look like the password isn't typing properly. That's normal, it's a security feature (Similar to `***` when typing passwords online) -8. Open a terminal ("Konsole" is the pre-installed terminal application) and paste the following command into it: - - For the latest release (recommended for all users): - - `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_release.sh | sh` - - For the latest pre-release (testing releases, unlikely to be fully stable): - - `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_prerelease.sh | sh` - - For testers/plugin developers: - - `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_prerelease.sh | sh` - - [Wiki Link](https://deckbrew.xyz/en/loader-dev/development) -9. Done! Reboot back into Gaming mode and enjoy your plugins! - -### Install/Uninstall Plugins -- Using the shopping bag button in the top right corner of the plugin menu, you can go to the offical Plugin Store ([Web Preview](https://beta.deckbrew.xyz/)). -- Install from URL in the settings menu. -- Use the settings menu to uninstall plugins, this will not remove any files made in different directories by plugins. - -### Uninstall -- Open a terminal and paste the following command into it: - - `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/uninstall.sh | sh` - -## Features -- Clean injecting and loading of one or more plugins -- Persistent. It doesn't need to be reinstalled after every system update -- Allows 2-way communication between the plugins and the loader. -- Allows plugins to define python functions and run them from javascript. -- Allows plugins to make fetch calls, bypassing cors completely. - -## Developing plugins -- There is no complete plugin development documentation yet. However a good starting point is the [Plugin Template](https://github.com/SteamDeckHomebrew/decky-plugin-template) repository. - -## [Contribution](https://deckbrew.xyz/en/loader-dev/development) -- Please consult the [Wiki](https://deckbrew.xyz/en/loader-dev/development) for installing development versions of Decky Loader. - - This is also useful for Plugin Developers looking to target new but unreleased versions of Decky Loader. -- [Here's how to get the Steam Deck UI on your enviroment of choice.](https://youtu.be/1IAbZte8e7E?t=112) - - (The video shows Windows usage but unless you're using Arch WSL/cygwin this script is unsupported on Windows.) - -### Getting Started +

+ Deckbrew logo +
+ Decky Loader +

+ +

+ + + + + +
+
+ Decky screenshot +

+ +## ๐Ÿ“– About + +Decky Loader is a homebrew plugin launcher for the Steam Deck. It can be used to [stylize your menus](https://github.com/suchmememanyskill/SDH-CssLoader), [change system sounds](https://github.com/EMERALD0874/SDH-AudioLoader), [adjust your screen saturation](https://github.com/libvibrant/vibrantDeck), [change additional system settings](https://github.com/NGnius/PowerTools), and [more](https://beta.deckbrew.xyz/). + +For more information about Decky Loader as well as documentation and development tools, please visit [our wiki](https://deckbrew.xyz). + +### ๐ŸŽจ Features + +๐Ÿงน Clean injecting and loading of multiple plugins. +๐Ÿ”’ Stays installed between system updates and reboots. +๐Ÿ”— Allows two-way communication between plugins and the loader. +๐Ÿ Supports Python functions run from TypeScript React. +๐ŸŒ Allows plugins to make fetch calls that bypass CORS completely. + +### ๐Ÿค” Common Issues + +- Crankshaft is incompatible with Decky Loader. If you are using Crankshaft, please uninstall it before installing Decky Loader. +- Syncthing may use port 8080 on Steam Deck, which Decky Loader needs to function. If you are using Syncthing as a service, please change its port to something else. +- If you are using any software that uses port 1337, please change its port to something else or uninstall it. + +## ๐Ÿ’พ Installation + +1. Press the button and open the Settings menu. +1. Navigate to the System menu and scroll to the System Settings. Toggle "Enable Developer Mode" so it is enabled. +1. Navigate to the Developer menu and scroll to Miscellaneous. Toggle "CEF Remote Debugging" so it is enabled. +1. Select "Restart Now" to apply your changes. +1. Prepare a mouse and keyboard if possible. + - Keyboards and mice can be connected to the Steam Deck via USB-C or Bluetooth. + - Many Bluetooth keyboard and mouse apps are available for iOS and Android. + - The Steam Link app is available on [Windows](https://media.steampowered.com/steamlink/windows/latest/SteamLink.zip), [macOS](https://apps.apple.com/us/app/steam-link/id1246969117), and [Linux](https://flathub.org/apps/details/com.valvesoftware.SteamLink). It works well as a remote desktop substitute. + - If you have no other options, use the right trackpad as a mouse and press + to open the on-screen keyboard as needed. +1. Press the button and open the Power menu. +1. Select "Switch to Desktop". +1. Open the Konsole app and enter the command `passwd`. You can skip this step if you have already created a sudo password using this command. ([YouTube Guide](https://www.youtube.com/watch?v=1vOMYGj22rQ)) +1. You will be prompted to create a password. Your text will not be visible. After you press enter, you will need to type your password again to confirm. +1. Choose the version of Decky Loader you want to install and paste the following command into the Konsole app. + - **Latest Release** + Intended for most users. This is the latest stable version of Decky Loader. + `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_release.sh | sh` + - **Latest Pre-Release** + Intended for plugin developers. Pre-releases are unlikely to be fully stable but contain the latest changes. For more information on plugin development, please consult [the wiki page](https://deckbrew.xyz/en/loader-dev/development). + `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_prerelease.sh | sh` +1. Open the Return to Gaming Mode shortcut on your desktop. + +### ๐Ÿ‘‹ Uninstallation + +We are sorry to see you go! If you are considering uninstalling because you are having issues, please consider [opening an issue](https://github.com/SteamDeckHomebrew/decky-loader/issues) or [joining our Discord](https://discord.gg/ZU74G2NJzk) so we can help you and other users. + +1. Press the button and open the Power menu. +1. Select "Switch to Desktop". +1. Open the Konsole app and run `curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/uninstall.sh | sh`. + +## ๐Ÿš€ Getting Started + +Now that you have Decky Loader installed, you can start using plugins. Each plugin is maintained by a different developer and has its own uses, but most follow a general structure outlined below. + +### ๐Ÿ“ฆ Plugins + +1. Press the button and navigate to the icon. This is the Decky menu used for interacting with plugins and the loader itself. +1. Select the icon to open the Plugins Browser. This is where you can find and install plugins. + - You can also install from URL in the Settings menu. We do not recommend installing plugins from untrusted sources. +1. To install a plugin, select the "Install" button on the plugin you want. You can also select a version from a dropdown menu, but this is not recommended. +1. To update, uninstall, and reload plugins, navigate to the Decky menu and select the icon. + - Keep in mind that uninstalling a plugin will only remove its plugin files, not any other files it may have created. + +### ๐Ÿ› ๏ธ Plugin Development + +There is no complete plugin development documentation yet. However a good starting point is the [plugin template repository](https://github.com/SteamDeckHomebrew/decky-plugin-template). Consider [joining our Discord](https://discord.gg/ZU74G2NJzk) if you have any questions. + +### ๐Ÿค Contributing + +Please consult [the wiki page regarding development](https://deckbrew.xyz/en/loader-dev/development) for more information on installing development versions of Decky Loader. You can also install the Steam Deck UI on a Windows or Linux computer for testing by following [this YouTube guide](https://youtu.be/1IAbZte8e7E?t=112). 1. Clone the repository using the latest commit to main before starting your PR. -2. In your clone of the repository run these commands: - 1. ``pnpm i`` - 2. ``pnpm run build`` -3. If you are modifying the UI, these will need to be run before deploying the changes to your Deck. -4. Use the vscode tasks or ``deck.sh`` script to deploy your changes to your Deck to test them. -5. You will be testing your changes with the python script version, so you will need to build, deploy and reload each time. +1. In your clone of the repository, run these commands. + ```bash + pnpm i + pnpm run build + ``` +1. If you are modifying the UI, these commands will need to be run before deploying the changes to your Steam Deck. +1. Use the VS Code tasks or `deck.sh` script to deploy your changes to your Steam Deck to test them. +1. You will be testing your changes with the Python script version. You will need to build, deploy, and reload each time. -Note: If you are recieveing build errors due to an out of date library, you should run this command inside of your repository: +โš ๏ธ If you are recieving build errors due to an out of date library, you should run this command inside of your repository. ```bash pnpm update decky-frontend-lib --latest ``` -Source control and deploying plugins are left to each respective contributor for the cloned repos in order to keep depedencies up to date. +Source control and deploying plugins are left to each respective contributor for the cloned repos in order to keep dependencies up to date. -## Credit +## ๐Ÿ“œ Credits -The original idea for the concept is based on the work of [marios8543's steamdeck-ui-inject](https://github.com/marios8543/steamdeck-ui-inject) project. +The original idea for the plugin loader concept is based on the work of [marios8543's Steam Deck UI Inject project](https://github.com/marios8543/steamdeck-ui-inject). -- cgit v1.2.3