|
1 | 1 | # RunAsGPU |
2 | | -RunAsGPU is a tool designed to give users a nice way of controlling applications |
3 | | -on what GPU an application runs on. I decided to write this tool to overcome the |
4 | | -issue with the use of `DRI_PRIME`, which for some users may or may not include |
5 | | -certain issues. This tool also helps users that aren't too technical with CLI, |
6 | | -having a proper simple-to-use GUI. GUI should be simple to use with an App |
7 | | -Selection screen (yes, you add apps manually, sorry not sorry), you select the |
8 | | -app, and you run it. Simple GUI in mind, really. |
9 | | - |
10 | | -## Use cases |
11 | | -Documentation coming up soon. This project will actually appear sooner than my |
12 | | -other projects, like for example, take |
13 | | -[OsintgramCXX](https://github.com/BC100Dev/OsintgramCXX) that actually takes |
14 | | -forever to finish. |
| 2 | + |
| 3 | +RunAsGPU is a tool designed to give users a simple yet powerful way to control |
| 4 | +which GPU an application runs on. This tool was created to overcome limitations |
| 5 | +with `DRI_PRIME`, which can sometimes cause issues for users. RunAsGPU provides |
| 6 | +both a GUI for easy app selection and a CLI for advanced users. |
| 7 | + |
| 8 | +<p align="center"> |
| 9 | +<img align="center" src="Docs/Content/PreviewC.png" width="650"> |
| 10 | +<img align="center" src="Docs/Content/PreviewG.png" width="550"> |
| 11 | +</p> |
| 12 | + |
| 13 | +## Features |
| 14 | + |
| 15 | +- GUI Interface – Easily select and manage applications that should run |
| 16 | + on a specific GPU. |
| 17 | +- CLI Support – Run applications via terminal with precise GPU selection. |
| 18 | +- App List Management – Add and remove apps manually to control GPU |
| 19 | + assignment. |
| 20 | +- Automatic GPU Detection – Detects available GPUs and allows switching. |
| 21 | +- Lightweight & Fast – No bloat, just a straightforward way to set GPU |
| 22 | + preferences. |
| 23 | + |
| 24 | +## Installation |
| 25 | + |
| 26 | +### Build from Source |
| 27 | + |
| 28 | +#### Dependencies: |
| 29 | + |
| 30 | +- CMake |
| 31 | +- Qt6 |
| 32 | +- GCC or Clang |
| 33 | + |
| 34 | +#### Steps: |
| 35 | + |
| 36 | +```sh |
| 37 | +# Clone the repository |
| 38 | +git clone https://github.com/BC100Dev/RunAsGPU.git |
| 39 | +cd RunAsGPU |
| 40 | + |
| 41 | +# Create build directory |
| 42 | +mkdir -p Builds/Linux-x64 && cd Builds/Linux-x64 |
| 43 | + |
| 44 | +# Configure and compile |
| 45 | +cmake ../../ |
| 46 | +make -j$(nproc) |
| 47 | + |
| 48 | +# Run the application |
| 49 | +./RunAsGPU |
| 50 | +``` |
| 51 | + |
| 52 | +## Usage |
| 53 | + |
| 54 | +### GUI Mode |
| 55 | + |
| 56 | +1. Open RunAsGPU. |
| 57 | +2. Click "Add Application" and select an executable. |
| 58 | +3. Choose a GPU to assign to the app. |
| 59 | +4. Run the application through the interface. |
| 60 | + |
| 61 | +### CLI Mode |
| 62 | + |
| 63 | +```sh |
| 64 | +# List all GPUs |
| 65 | +RunAsGPU-CLI list |
| 66 | + |
| 67 | +# Run an application with GPU selection |
| 68 | +RunAsGPU-CLI run --unit-id 1 glxinfo |
| 69 | + |
| 70 | +# Find a GPU by Vendor or Product ID |
| 71 | +RunAsGPU-CLI run --find-unit 2208 glxinfo |
| 72 | +``` |
0 commit comments