Collection of native Linux desktop utilities by AreteDriver.
A monorepo consolidating standalone Linux utilities that solve real desktop problems with no existing good solutions. Each tool is independent but shares a common author, packaging approach, and quality standard.
This is a monorepo. Each tool lives in its own directory with its own dependencies and can be built/installed independently.
G13 driver lives elsewhere. The Logitech G13 driver previously lived at
g13/in this monorepo but was extracted to its own repository at AreteDriver/G13_Linux on 2026-05-03 to consolidate parallel forks. Do not re-add it here.
LinuxTools/
├── CLAUDE.md
├── README.md ← Portfolio overview of all tools
├── steam-proton/ ← SteamProtonHelper
│ ├── README.md
│ ├── pyproject.toml
│ ├── setup.py
│ ├── steam_proton_helper.py ← Single-file CLI + GUI tool
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── .github/workflows/ ← CI/CD + PyPI publishing
│ └── completions/ ← bash/zsh/fish shell completions
├── likx/ ← LikX screenshot tool
│ ├── README.md
│ ├── pyproject.toml
│ ├── src/ ← GTK-based screenshot + OCR
│ ├── resources/ ← Icons, assets
│ ├── setup.sh
│ └── build-appimage.sh ← AppImage packaging
├── razer/ ← Razer peripheral controls
│ ├── README.md
│ ├── pyproject.toml
│ └── src/
└── shared/ ← Any common utilities (if needed)
Status: Production (v1.8.0, 9 releases, PyPI published, 44+ commits)
What: Diagnoses and fixes Steam/Proton gaming issues on Linux. CLI + GUI modes.
Language: Python (single-file, stdlib only — zero dependencies)
Packaging: PyPI (pip install steam-proton-helper), shell completions, GitHub Actions CI/CD
Distro support: Ubuntu, Fedora, Arch, SteamOS/Steam Deck
Key features: Auto-detect Steam install, verify Vulkan/32-bit libs, GE-Proton management, ProtonDB lookup, multi-distro package commands
This is the most polished tool in the collection. It sets the quality bar for the others.
Status: Functional (27+ commits, feature-complete, needs packaging) What: Screenshot capture, annotation, and OCR for Linux desktops. Language: Python/GTK Dependencies: PyGObject, pycairo, pytesseract, Pillow Key differentiator: Built-in OCR via Tesseract — no other Linux screenshot tool has this natively. Display support: X11 + Wayland (GNOME, KDE, Sway) Features: Region/window/fullscreen capture, annotations, pin-to-desktop, history browser, effects (shadow, border, rounded corners) Packaging gap: No AppImage, Flatpak, or distro packages yet. This is the #1 priority for adoption.
Status: Functional
What: Control interface for Razer peripherals on Linux.
Language: Python
PyPI target: pip install razer-controls
- Each tool is independently installable. No shared runtime dependency between tools. A user can install just LikX without pulling in G13 driver code.
- Python-first. All tools are Python. This keeps the stack consistent and accessible.
- Packaging matters. Every tool should have: pyproject.toml, CLI entry point, at least one distribution format (PyPI, AppImage, or distro package).
- Solve real problems. Every tool exists because the existing solutions are missing, broken, or abandoned on Linux.
- README-driven development. Each tool's README should explain the problem, show the solution, and get someone running in under 60 seconds.
| Decision | Choice | Rationale |
|---|---|---|
| Monorepo vs separate | Monorepo | Same author, same quality bar, shared CI patterns. Reduces GitHub noise. |
| Language | Python for all | Consistent stack, largest Linux scripting ecosystem |
| GUI framework | GTK for LikX, Qt6 for G13 | GTK integrates better with GNOME (LikX's primary target). Qt6 has better widget support for G13's visual mapper. |
| Packaging | PyPI + AppImage | PyPI for developers, AppImage for desktop users |
| Config format | JSON | Human-readable, git-diffable, schema-validatable |
This monorepo consolidates previously separate repositories:
| Current Path | Previous Repo Name |
|---|---|
| steam-proton/ | SteamProtonHelper |
| likx/ | LikX (or Linux_SnipTool) |
| razer/ | Razer_Controls |
| (extracted) | G13_Linux — moved back to its own repo at AreteDriver/G13_Linux on 2026-05-03 |
Old repo names may appear in commit history, issues, or external references.
- LikX AppImage build — biggest impact for adoption. OCR is the killer feature but nobody can install it easily.
- Razer polish — ensure pyproject.toml and CLI entry points are clean.
- steam-proton maintenance — already production-grade, just keep it current.
- Top-level README — portfolio showcase page linking the tools with screenshots/GIFs.
# SteamProtonHelper (from PyPI)
pip install steam-proton-helper
# SteamProtonHelper (from source)
cd steam-proton/
pip install -e .
# LikX (from source)
cd likx/
./setup.sh
# G13 — moved to standalone repo, install from PyPI:
pip install g13-linux
# Razer (from source)
cd razer/
pip install -e .steam-proton/ has GitHub Actions for testing and PyPI publishing. The other tools should follow the same pattern. CI workflow template:
- Lint (ruff or flake8)
- Type check (mypy)
- Test (pytest)
- Build package
- Publish on tag (PyPI or GitHub Release with AppImage)
- A unified GUI wrapper — these tools serve different purposes. Don't force them into one app.
- Cross-tool dependencies — each tool must remain independently installable.
- Snap packages — Flatpak/AppImage are the priority. Snap adds Canonical lock-in complexity.
- Windows/macOS ports — these are Linux tools. That's the point.
| Project | Relationship |
|---|---|
| Animus | Personal AI exocortex. Could eventually provide voice/AI interface to these tools. |
| G13_Linux | Logitech G13 driver — extracted from this monorepo on 2026-05-03. EVE Online profiles now live there. |