Skip to content

Conversation

@kayon
Copy link

@kayon kayon commented Dec 29, 2025

Add Reroll to Plugin Store

A high-performance memory scanning plugin for the Steam Deck, inspired by Memory Deck.

Why Reroll?

I have been a long-time user of Memory Deck—it is a fantastic tool that has saved me countless hours.

However, as my needs grew, I found the scanning speed and UI flow could be further optimized. Reroll was created to bridge that gap, focusing on performance and a streamlined user experience.

Key Features

  • 🚀 Ultra-Fast Scanning: Millisecond-level scanning that delivers results before you can even blink, powered by memscan, a high-performance engine custom-built for the Steam Deck.
  • 🎯 Smart Process Identification: Automatically detects the currently active game—eliminating the need to scroll through messy process lists or risk selecting the wrong target.
  • 📱 Compact Interface: A streamlined, single-pane UI optimized for handheld play; focused on speed and efficiency without the need for scrolling.

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have abided by the licenses of the libraries I am utilizing, including attaching license notices where appropriate.

Plugin

  • I have verified that my plugin works properly on the Stable and Beta update channels of SteamOS.
  • I have verified my plugin is unique or provides more/alternative functionality to a plugin already on the store.

Backend

  • Yes: I am using a custom backend other than Python.
  • Yes: I am using a tool or software from a 3rd party FOSS project that does not have it's dependencies statically linked.
  • Yes/No: I am using a custom binary that has all of it's dependencies statically linked.

Community

  • I have tested and left feedback on two other pull requests for new or updating plugins.
  • I have commented links to my testing report in this PR.

Testing

  • Tested by a third party on SteamOS Preview update channel.

@kayon kayon requested a review from a team as a code owner December 29, 2025 17:03
@github-actions github-actions bot added the plugin-addition Adding a plugin to the Plugin Store label Dec 29, 2025
@github-actions
Copy link

Issues Found

  • Both testing boxes are present in your description. Please remove one of them per the Markdown comment above the testing section.

Next Steps

  1. If we found any issues above, please edit your pull request description to resolve them and leave a comment saying you've done so.
  2. For the quickest review, please see the Community section of the pull request template for how you can help other developers.
  3. Once your description is correct, a maintainer will review your pull request as soon as possible.

Thank you for your contribution! If you need any help, please reach out on our Discord server. ❤️

@kayon
Copy link
Author

kayon commented Dec 29, 2025

Technical Note on Backend: The plugin utilizes a pre-compiled Go binary (memscan.so) to ensure high-performance memory operations. It is dynamically linked against Glibc 2.33 using the Zig toolchain. This specific version was chosen to ensure maximum compatibility across SteamOS Stable, Beta, and Preview channels while keeping the plugin footprint small.

@EMERALD0874
Copy link
Member

I have been a long-time user of Memory Deck [...] I found the scanning speed and UI flow could be further optimized. Reroll was created to bridge that gap

Have you considered making a PR to Memory Deck? Adding multiple plugins to the Plugin Store that serve the same purpose usually goes against our policies. Memory Deck should either be refusing a PR or inactive, in which case we would still prefer someone take over maintainership rather than an entirely new plugin being released. Updating a plugin is much easier and leads users to a better experience without having to learn about and install a new plugin.

@kayon
Copy link
Author

kayon commented Dec 29, 2025

Subject: Clarification on Reroll vs. Memory Deck

Thank you for the feedback. I would like to clarify why Reroll is a fundamental departure from Memory Deck rather than just a functional duplicate.

Massive Performance Gap: Memory Deck acts as a wrapper for scanmem, a legacy C tool. In my testing, a single search can take upwards of 10 seconds. I have developed a custom backend specifically for SteamOS that achieves search speeds hundreds of times faster. We are comparing "seconds" to "milliseconds," which completely changes the user experience from "waiting" to "instant."

Tailor-made for Steam Deck: Unlike a general wrapper for an old CLI tool, Reroll’s backend and UI are built from the ground up for the Steam Deck’s hardware and controller-first navigation. The UI isn't just "different"—it is designed for high-frequency mobile use.

Technical Architecture: Since I’ve rewritten the entire logic in Go with a custom scanning engine (as opposed to Python/C-wrapper), merging this into Memory Deck would essentially mean deleting their entire codebase and replacing it with mine. Given these architectural differences, maintaining it as a separate, modern alternative is more logical than trying to patch a legacy project.

I believe Reroll offers the performance and UX that Steam Deck users expect in 2025, and I am committed to its long-term maintenance. I hope you can reconsider the PR based on these significant technical improvements.

@EMERALD0874
Copy link
Member

A few questions before we review anything:

  1. Did you use LLMs (ex. ChatGPT, DeepSeek, GitHub Copilot) to develop any part of this code?
  2. Did you use code from any other repositories in the development of Reroll, including decky-plugin-database or memory-deck?
  3. Did you ask CameronRedmore if they'd be interested in a refactor to make the code closer to Reroll? Their README states "I openly welcome any PRs to clean up the code, refactor, and just make this... not so garbage". I imagine they would be open to any PRs you would make.
  4. Can you provide data that proves your plugin is significantly faster than Memory Deck?

@kayon
Copy link
Author

kayon commented Dec 30, 2025

  1. No.

  2. No. Reroll was developed from scratch. While I studied the existing plugin ecosystem to understand Decky Loader's integration, the codebase for both the frontend and the backend is original and does not utilize code from memory-deck or other plugin repositories.

  3. I have considered this, but as the author noted, "This plugin is a mess. I don't like C, I don't like Python and I don't like React." My experience with memory-deck was limited to attempting minor fixes for its wrapper, but the core issue lies in its reliance on a legacy C library (scanmem) which I am not equipped to rewrite.
    More importantly, Reroll is not just a refactor—it is a complete paradigm shift. memory-deck is a wrapper around an old CLI tool; Reroll is a custom-built memory engine written in Go. To "refactor" memory-deck into Reroll would essentially mean deleting 100% of their code and replacing it with mine, which is effectively a new project. My goal was to bring a "Cheat Engine-like" speed and experience to Steam Deck, which required starting from zero.

  4. I respect the work done on Memory Deck, but I believe the community deserves a modern, high-performance alternative that fully leverages the Deck's capabilities.

MemoryDeck_VS_Reroll.mp4

@EMERALD0874
Copy link
Member

EMERALD0874 commented Jan 2, 2026

Sorry, I misspoke in my last review. Did you use decky-plugin-template when developing your plugin? I meant to write that instead of the plugin database.

If you did, you need to include the default BSD 3-Clause License beneath your GPL licensing, as that's what Decky chose to use for its plugin template, and your plugin is considered a derivative work if it relied on template code.

@HeyItsWaters
Copy link
Contributor

as the current "maintainer" for Memory Deck I fully support @kayon keeping Reroll as a separate plugin.

I haven't had time to test Reroll, but assuming it outperforms Memory Deck at everything, I'll probably retire it from the decky store once Reroll gets traction. or at the very least, push one more update that just shows a message to switch to Reroll.

@kayon
Copy link
Author

kayon commented Jan 3, 2026

Thank you for the reminder. I have updated the LICENSE file to include the original BSD 3-Clause License from the decky-plugin-template beneath my GPL license to ensure full compliance. You can check the latest commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

plugin-addition Adding a plugin to the Plugin Store

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants