mirror of
https://oauth2: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@github.com/m1ngsama/deckless.git
synced 2026-05-10 19:11:12 +08:00
Add project documentation (#4)
This commit is contained in:
parent
254c779308
commit
089aa68172
7 changed files with 238 additions and 0 deletions
42
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
42
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Report a problem with Deckless on your Linux desktop
|
||||||
|
title: "[Bug] "
|
||||||
|
labels: bug
|
||||||
|
assignees: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
Describe the problem clearly.
|
||||||
|
|
||||||
|
## Environment
|
||||||
|
|
||||||
|
- Distribution:
|
||||||
|
- Desktop environment or window manager:
|
||||||
|
- Display server: X11 or Wayland
|
||||||
|
- Steam package source:
|
||||||
|
- `gamescope` installed:
|
||||||
|
- `gamemode` installed:
|
||||||
|
|
||||||
|
## What happened
|
||||||
|
|
||||||
|
Describe the observed behavior.
|
||||||
|
|
||||||
|
## What you expected
|
||||||
|
|
||||||
|
Describe the expected behavior.
|
||||||
|
|
||||||
|
## Reproduction steps
|
||||||
|
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
|
||||||
|
## Relevant configuration
|
||||||
|
|
||||||
|
Share any relevant `deckless.env` or proxy configuration with secrets removed.
|
||||||
|
|
||||||
|
## Extra notes
|
||||||
|
|
||||||
|
Add logs, screenshots, or extra context here.
|
||||||
27
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
27
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an improvement for Deckless
|
||||||
|
title: "[Feature] "
|
||||||
|
labels: enhancement
|
||||||
|
assignees: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
Describe the workflow or feature you want.
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
What user problem does this solve?
|
||||||
|
|
||||||
|
## Proposed direction
|
||||||
|
|
||||||
|
Describe the approach you have in mind, if any.
|
||||||
|
|
||||||
|
## Alternatives considered
|
||||||
|
|
||||||
|
List any alternatives or workarounds you tried.
|
||||||
|
|
||||||
|
## Extra notes
|
||||||
|
|
||||||
|
Add compatibility notes, links, or examples here.
|
||||||
12
.github/pull_request_template.md
vendored
Normal file
12
.github/pull_request_template.md
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
- describe the user-facing change
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
- `bash -n install.sh uninstall.sh bin/deckless-steam bin/deckless-bigpicture bin/deckless-i3-bigpicture-bridge`
|
||||||
|
- `shellcheck install.sh uninstall.sh bin/deckless-steam bin/deckless-bigpicture bin/deckless-i3-bigpicture-bridge`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- mention any rollback, compatibility, or documentation impact
|
||||||
20
CHANGELOG.md
Normal file
20
CHANGELOG.md
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is inspired by Keep a Changelog, and the project follows semantic versioning once tagged releases begin.
|
||||||
|
|
||||||
|
## [0.1.0] - 2026-03-28
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- A user-space Steam launcher that preserves the official client while splitting proxy policy between Steam web content and game traffic.
|
||||||
|
- A runtime-managed `steamwebhelper` wrapper that removes forced GPU disable flags and restores the original Steam wrapper after exit.
|
||||||
|
- Optional Big Picture launch integration for `gamescope`, `gamemode`, and `mangoapp`.
|
||||||
|
- An i3 Big Picture bridge that hands fullscreen to launched games and restores it when they exit.
|
||||||
|
- XDG-friendly install and uninstall scripts.
|
||||||
|
- Example proxy and runtime configuration files.
|
||||||
|
- Architecture and i3 integration documentation.
|
||||||
|
- GitHub Actions validation for shell syntax and ShellCheck.
|
||||||
|
|
||||||
|
[0.1.0]: https://github.com/m1ngsama/deckless/releases/tag/v0.1.0
|
||||||
67
CONTRIBUTING.md
Normal file
67
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
Thanks for contributing to Deckless.
|
||||||
|
|
||||||
|
## Project scope
|
||||||
|
|
||||||
|
Deckless exists to improve the real desktop Linux Steam experience without forking or replacing the official Steam package.
|
||||||
|
|
||||||
|
Changes are a good fit when they:
|
||||||
|
|
||||||
|
- keep the official Steam client as the source of truth
|
||||||
|
- stay auditable and small
|
||||||
|
- solve real Linux desktop friction around Steam, Big Picture, controllers, graphics, audio, or proxy policy
|
||||||
|
- improve installation, rollback, and documentation
|
||||||
|
|
||||||
|
Changes are a poor fit when they:
|
||||||
|
|
||||||
|
- require patching `/usr/bin/steam`
|
||||||
|
- permanently rewrite Steam runtime files at rest
|
||||||
|
- add large background services for problems that can be solved with small scripts
|
||||||
|
|
||||||
|
## Development setup
|
||||||
|
|
||||||
|
Required local tools:
|
||||||
|
|
||||||
|
- `bash`
|
||||||
|
- `jq`
|
||||||
|
- `shellcheck`
|
||||||
|
|
||||||
|
Optional for runtime testing:
|
||||||
|
|
||||||
|
- `steam`
|
||||||
|
- `gamescope`
|
||||||
|
- `gamemode`
|
||||||
|
- `i3`
|
||||||
|
|
||||||
|
## Before opening a pull request
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash -n install.sh uninstall.sh bin/deckless-steam bin/deckless-bigpicture bin/deckless-i3-bigpicture-bridge
|
||||||
|
shellcheck install.sh uninstall.sh bin/deckless-steam bin/deckless-bigpicture bin/deckless-i3-bigpicture-bridge
|
||||||
|
```
|
||||||
|
|
||||||
|
If your change affects runtime behavior, include a short note about how you tested it.
|
||||||
|
|
||||||
|
## Pull request guidelines
|
||||||
|
|
||||||
|
- Keep pull requests focused.
|
||||||
|
- Explain the user problem first, then the implementation.
|
||||||
|
- Mention rollback or compatibility impact when you change install behavior.
|
||||||
|
- Update documentation when you add or rename config variables.
|
||||||
|
- Add a changelog entry only when preparing a tagged release.
|
||||||
|
|
||||||
|
## Issues
|
||||||
|
|
||||||
|
Please use the issue templates when possible:
|
||||||
|
|
||||||
|
- bug reports for regressions or environment-specific failures
|
||||||
|
- feature requests for new workflows or platform support
|
||||||
|
|
||||||
|
## Code style
|
||||||
|
|
||||||
|
- Prefer POSIX-adjacent shell where practical, but Bash is allowed.
|
||||||
|
- Keep comments short and only where the behavior is not obvious.
|
||||||
|
- Favor straightforward scripts over clever compactness.
|
||||||
|
|
@ -136,6 +136,9 @@ Other X11 desktop environments may still benefit from the proxy split and Big Pi
|
||||||
|
|
||||||
- [Architecture notes](docs/architecture.md)
|
- [Architecture notes](docs/architecture.md)
|
||||||
- [i3 integration](docs/i3.md)
|
- [i3 integration](docs/i3.md)
|
||||||
|
- [Troubleshooting](docs/troubleshooting.md)
|
||||||
|
- [Contributing](CONTRIBUTING.md)
|
||||||
|
- [Changelog](CHANGELOG.md)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
||||||
67
docs/troubleshooting.md
Normal file
67
docs/troubleshooting.md
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
# Troubleshooting
|
||||||
|
|
||||||
|
## Steam web pages still do not load
|
||||||
|
|
||||||
|
Check the proxy file Deckless is reading:
|
||||||
|
|
||||||
|
1. `DECKLESS_PROXY_ENV`
|
||||||
|
2. `~/.config/deckless/proxy-env.sh`
|
||||||
|
3. `~/.config/network/proxy-env.sh`
|
||||||
|
4. inherited shell proxy variables
|
||||||
|
|
||||||
|
Things to verify:
|
||||||
|
|
||||||
|
- the proxy URL includes a scheme such as `http://` or `socks5h://`
|
||||||
|
- local addresses are included in `no_proxy`
|
||||||
|
- the proxy itself is reachable outside Steam
|
||||||
|
|
||||||
|
## Games are using the proxy when they should be direct
|
||||||
|
|
||||||
|
Deckless clears standard proxy environment variables before starting Steam. If a game still uses a proxy, the most likely causes are:
|
||||||
|
|
||||||
|
- the game has its own proxy setting
|
||||||
|
- a system-wide transparent proxy is in place
|
||||||
|
- another launcher is injecting environment variables after Deckless starts Steam
|
||||||
|
|
||||||
|
## Big Picture still falls back to software rendering
|
||||||
|
|
||||||
|
Confirm that your system has working graphics userspace outside Steam first. Deckless only removes some Steam-side blockers; it cannot fix a broken driver stack.
|
||||||
|
|
||||||
|
Useful checks:
|
||||||
|
|
||||||
|
- `command -v gamescope`
|
||||||
|
- `glxinfo -B`
|
||||||
|
- `vulkaninfo --summary`
|
||||||
|
|
||||||
|
Also check whether your system exposes one of these paths:
|
||||||
|
|
||||||
|
- `/run/host/usr/lib/gbm`
|
||||||
|
- `/usr/lib/gbm`
|
||||||
|
- `/run/host/usr/share/glvnd/egl_vendor.d`
|
||||||
|
- `/usr/share/glvnd/egl_vendor.d`
|
||||||
|
|
||||||
|
## Big Picture launches but the game does not take fullscreen on i3
|
||||||
|
|
||||||
|
The i3 bridge depends on:
|
||||||
|
|
||||||
|
- `i3-msg`
|
||||||
|
- `jq`
|
||||||
|
- an i3 session that processes XDG autostart entries, or a manual bridge start
|
||||||
|
|
||||||
|
You can start it manually with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/usr/bin/bash ~/.local/share/deckless/bin/deckless-i3-bigpicture-bridge
|
||||||
|
```
|
||||||
|
|
||||||
|
If the game first opens a launcher window, that launcher may briefly take the fullscreen seat before the actual game window appears.
|
||||||
|
|
||||||
|
## I want to go back to plain Steam
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./uninstall.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Deckless restores previously backed up local launchers and desktop entries when they existed at first install.
|
||||||
Loading…
Reference in a new issue