{"id":18519291,"url":"https://github.com/linux-surface/surface-control","last_synced_at":"2025-06-29T22:35:33.551Z","repository":{"id":56406805,"uuid":"181173656","full_name":"linux-surface/surface-control","owner":"linux-surface","description":"Control various aspects of Microsoft Surface devices on Linux from the Command-Line.","archived":false,"fork":false,"pushed_at":"2024-09-14T15:58:47.000Z","size":285,"stargazers_count":70,"open_issues_count":2,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-03T04:15:15.438Z","etag":null,"topics":["linux","linux-surface"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linux-surface.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-13T13:16:02.000Z","updated_at":"2025-02-25T13:53:38.000Z","dependencies_parsed_at":"2023-02-17T12:40:15.477Z","dependency_job_id":"22e4070a-44d9-4192-8043-fe1626ee6ac8","html_url":"https://github.com/linux-surface/surface-control","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-surface%2Fsurface-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-surface%2Fsurface-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-surface%2Fsurface-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-surface%2Fsurface-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linux-surface","download_url":"https://codeload.github.com/linux-surface/surface-control/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243852499,"owners_count":20358271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","linux-surface"],"created_at":"2024-11-06T17:15:58.103Z","updated_at":"2025-03-16T10:13:10.241Z","avatar_url":"https://github.com/linux-surface.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux Surface Control\n\n![CI](https://github.com/linux-surface/surface-control/workflows/CI/badge.svg)\n\nControl various aspects of Microsoft Surface devices on Linux from the Command-Line.\nAims to provide a unified front-end to the various sysfs-attributes and special devices.\n\n## Usage\n\n```\nUSAGE:\n    surface [FLAGS] \u003cSUBCOMMAND\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -q, --quiet      Keep output quiet\n    -V, --version    Prints version information\n\nSUBCOMMANDS:\n    dgpu           Control the discrete GPU\n    dtx            Control the latch/dtx-system on the Surface Book 2\n    help           Prints this message or the help of the given subcommand(s)\n    profile        Control or query the current platform profile\n    status         Show an overview of the current system status\n```\n\nSee `surface \u003csubcommand\u003e help` for more details.\n\n_Hint:_ You can specify the subcommand by any unabiguous prefix of it, i.e. `surface perf` and `surface p` will both evaluate to `surface performance`.\n\n## Prequisites\n\nFor this tool to work, you need a recent version of the [surface-sam module][surface-sam] e.g. via the [linux-surface kernel][surface-kernel].\n\n## Installing\n\nHave a look at the [releases](https://github.com/linux-surface/surface-control/releases) page.\nPre-built packages are available for Debian (Ubuntu, ...), whereas PKGBUILDs for Arch Linux are in the AUR (`surface-control`).\n\n## Building from Source\n\nBuilding this application from source follows the standard rust procedure, i.e. simply call `cargo build --release --locked` for a release-ready executable.\nCompletion files are automatically generated and can be found in the corresponding `target/release/build/surface-\u003chash\u003e/out/` directory.\n\n### Arch Linux\n\nSimply install `surface-control` from AUR or have a look at its PKGBUILD.\n\n### Debian-based Distributions (Ubuntu, ...)\n\nGenerating a Debian package can be done via [`cargo deb`](https://github.com/mmstick/cargo-deb).\nSpecifically, you need to run\n```\nenv CARGO_TARGET_DIR=target CARGO_INCREMENTAL=0 cargo deb\n```\nwhere setting `CARGO_TARGET_DIR` is required to output the generated auto-completion files at the correct location for cargo-deb to pick up.\n\nThe final package can be found in `target/debian`.\n\n[surface-sam]: https://github.com/linux-surface/surface-aggregator-module\n[surface-kernel]: https://github.com/linux-surface/linux-surface\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux-surface%2Fsurface-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinux-surface%2Fsurface-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux-surface%2Fsurface-control/lists"}