Giter VIP home page Giter VIP logo

decky-loader's Introduction

Plugin Loader Chat

steamuserimages-a akamaihd

Keep an eye on the Wiki for more information about Plugin 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. Click on the STEAM button and select Power -> Switch to Desktop
  6. Make sure you have a password set with the "passwd" command in terminal to install it (YouTube Guide).
  7. Open a terminal and paste the following command into it:
    • For the latest pre-release:
      • 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
    • For the legacy version (unsupported):
      • curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/legacy/dist/install_release.sh | sh
  8. Done! Reboot back into Gaming mode and enjoy your plugins!

Install/Uninstall Plugins

  • Using the shopping bag button in the top right corner, you can go to the offical "Plugin Store"
  • Simply copy the plugin's folder into ~/homebrew/plugins
  • 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 repository.
  • Please consult the Wiki for installing development versions of PluginLoader.
    • This is also useful for Plugin Developers looking to target new but unreleased versions of PluginLoader.
  • Here's how to get the Steam Deck UI on your enviroment of choice.
    • (The video shows Windows usage but unless you're using Arch WSL/cygwin this script is unsupported on Windows.)

Getting Started

  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.

Note: If you are recieveing build errors due to an out of date library, you should run this command inside of your repository:

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.

Credit

The original idea for the concept is based on the work of marios8543's steamdeck-ui-inject project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.