This adds the project's README documenting its purpose, planned features, and roadmap to orient contributors and users. - New Features - Introduce overview of lapctl, including hybrid GPU control, battery limit management, and status commands - Enhancements - Provide structured sections for project status, goals, example CLI, and roadmap - Bug Fixes - None
121 lines
2.4 KiB
Markdown
121 lines
2.4 KiB
Markdown
# lapctl
|
|
|
|
**lapctl** is an upcoming command-line utility written in Rust for managing laptop hardware features on Linux.
|
|
|
|
It aims to provide a simple and unified interface for controlling hybrid GPU modes, battery charging limits, and other laptop power features directly from the terminal.
|
|
|
|
---
|
|
|
|
## Planned Features
|
|
|
|
- Switch GPU modes on hybrid graphics laptops
|
|
- Integrated GPU
|
|
- Hybrid mode
|
|
- NVIDIA GPU
|
|
|
|
- Set and manage battery charging limits
|
|
- View laptop hardware and power status
|
|
- Lightweight and fast CLI interface
|
|
- Designed for Linux systems with hybrid GPUs (Optimus)
|
|
|
|
---
|
|
|
|
## Project Status
|
|
|
|
**Work in progress**
|
|
|
|
This project is currently in early development.
|
|
Features, commands may change as development progresses.
|
|
|
|
---
|
|
|
|
## Goals
|
|
|
|
- Provide a **simple CLI interface** for laptop hardware management
|
|
- Support **hybrid GPU laptops (Intel + NVIDIA / AMD + NVIDIA)**
|
|
- Offer **battery health features like charge limit control**
|
|
- Be **lightweight, fast, and easy to use**
|
|
|
|
---
|
|
|
|
## Example CLI (Planned)
|
|
|
|
```bash
|
|
lapctl gpu integrated
|
|
lapctl gpu hybrid
|
|
lapctl gpu nvidia
|
|
|
|
lapctl battery limit 80
|
|
lapctl battery status
|
|
|
|
lapctl status
|
|
```
|
|
|
|
---
|
|
|
|
## Built With
|
|
|
|
- Rust
|
|
- Modern Linux system interfaces
|
|
|
|
---
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
lapctl
|
|
│
|
|
├── Cargo.toml
|
|
├── README.md
|
|
├── LICENSE
|
|
├── .gitignore
|
|
│
|
|
├── src/
|
|
│ ├── main.rs
|
|
│ ├── cli.rs
|
|
│ │
|
|
│ ├── commands/
|
|
│ │ ├── mod.rs
|
|
│ │ ├── gpu.rs
|
|
│ │ ├── battery.rs
|
|
│ │ ├── power.rs
|
|
│ │ └── status.rs
|
|
│ │
|
|
│ ├── hardware/
|
|
│ │ ├── mod.rs
|
|
│ │ ├── gpu.rs
|
|
│ │ └── battery.rs
|
|
│ │
|
|
│ └── utils/
|
|
│ └── system.rs
|
|
|
|
```
|
|
|
|
## Roadmap
|
|
|
|
- [ ] CLI structure
|
|
- [ ] GPU mode switching
|
|
- [ ] Battery charge limit management
|
|
- [ ] Hardware status command
|
|
- [ ] Configuration support
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
Contributions, ideas, and feature suggestions are welcome.
|
|
More contribution guidelines will be added once the project reaches its first stable milestone.
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
|
|
|
|
You are free to use, modify, and distribute this software under the terms of the license.
|
|
For full details, see the [LICENSE](LICENSE) file in this repository.
|
|
|
|
---
|
|
|
|
⭐ If you find this project interesting, consider starring the repository to follow its progress.
|