You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initially intended as a rewrite of [gnome-nvidia-extension](https://github.com/ethanwharris/gnome-nvidia-extension) as a practise Rust project, this app has developed into a tool for interacting with GPU management interfaces like Nvidia's [nvidia-settings](https://github.com/NVIDIA/nvidia-settings), [nvidia-smi](https://developer.nvidia.com/nvidia-system-management-interface) and [optimus](https://www.nvidia.com/en-gb/geforce/technologies/optimus/). This includes viewing statistics like temperature, clock speeds, VRAM usage but also setting fan-profiles and GPU overclocks (like [GreenWithEnvy](https://gitlab.com/leinardi/gwe/), a major inspiration for this app).
The intention is to replace both GPU overclocking software like [GreenWithEnvy](https://gitlab.com/leinardi/gwe/) and system tray monitoring programs/extensions like [gnome-nvidia-extension](https://github.com/ethanwharris/gnome-nvidia-extension) with a single interface, to simplify GPU management. Hopefully the app can be extended to AMD's equivalent GPU management interfaces (if they exist) at some point (see the [Roadmap](docs/ROADMAP.md) for the rest of the plan for this app)
13
12
14
-
This project is a rewrite of gnome-nvidia-extension in Rust - intended as a practise Rust project.
13
+
The app is written entirely in [gtk-rs](https://gtk-rs.org/), using [gtk4](https://github.com/gtk-rs/gtk4-rs) and [libadwaita](https://world.pages.gitlab.gnome.org/Rust/libadwaita-rs/).
15
14
16
15
# Usage
16
+
To first install/update the settings schema, use the following:
17
+
```bash
18
+
bash install_schemas.sh
19
+
```
17
20
18
-
Use the following to compile the project:
21
+
Then, use the following to compile the project:
22
+
```bash
23
+
cargo clean; cargo build
24
+
```
19
25
26
+
Finally, run the app:
20
27
```bash
21
-
cargo clean; cargo run
28
+
cargo run
22
29
```
23
30
24
31
# Resources
25
-
26
-
## Original Extension
27
-
28
-
[Original version, written in GTK-JS](https://github.com/ethanwharris/gnome-nvidia-extension)
29
-
32
+
## Applications
33
+
-[Original version, written in GTK-JS](https://github.com/ethanwharris/gnome-nvidia-extension)
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+7-3Lines changed: 7 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,7 @@
1
+
<!--
2
+
SPDX-FileCopyrightText: 2022 Deren Vural
3
+
SPDX-License-Identifier: GPL-3.0-or-later
4
+
-->
1
5
# Welcome to gtk4-nvidia-monitor-rust contributing guide
2
6
3
7
Thank you for investing your time in contributing to our project!
@@ -24,7 +28,7 @@ Issues tagged "good first issue" and "help wanted" are your best bet - otherwise
24
28
25
29
#### Create a new issue
26
30
27
-
If you spot a bug or want a new feature, [search if an issue already exists](https://github.com/derenv/gtk4-nvidia-monitor-rust/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/derenv/gtk4-nvidia-monitor-rust/issues/new/choose).
31
+
If you spot a bug or want a new feature, [search if an issue already exists](https://github.com/derenv/gtk4-nvidia-monitor-rust/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/derenv/gtk4-nvidia-monitor-rust/issues/new/choose).
28
32
29
33
#### Solve an issue
30
34
@@ -34,7 +38,7 @@ Scan through our [existing issues](https://github.com/derenv/gtk4-nvidia-monitor
34
38
35
39
#### Make changes in the UI
36
40
37
-
Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review.
41
+
Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review.
38
42
39
43
#### Make changes locally
40
44
@@ -57,7 +61,7 @@ Commit the changes once you are happy with them.
57
61
### Pull Request
58
62
59
63
When you're finished with the changes, create a pull request, also known as a PR.
60
-
- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request.
64
+
- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request.
61
65
- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one.
62
66
- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge.
63
67
Once you submit your PR, a team member will review your proposal. We may ask questions or request additional information.
- [x] Can set the list of properties in each tab/view
17
+
- [x] Can re-order list of properties in each tab/view
18
+
- [ ] Can set icon of each tab/view
19
+
- [ ] Better overclocking support
20
+
-[ ] Improve settings application support
21
+
- [x] Add ability to open settings app
22
+
- [ ] Add ability to set settings application in the app settings
23
+
-[ ] Add provider application support
24
+
- [x] Add ability to set provider application in the app settings
25
+
- [x] nvidia-settings (Nvidia)
26
+
- [x] nvidia-smi (Nvidia)
27
+
- [x] optimus (Nvidia)
28
+
- [ ] Cover bug described [here](https://github.com/ethanwharris/gnome-nvidia-extension/issues/206)
29
+
- [ ] Find suitable AMD-based app
30
+
31
+
## Basic Functionality
32
+
match old extension, basic design of app
33
+
34
+
## Full Statistics
35
+
match GWE
36
+
37
+
## Add fan-curve support
38
+
match GWE
39
+
40
+
## Add Clock speed support
41
+
match GWE
42
+
43
+
## Customizable Tabs of Statistics
44
+
i.e. improve on GWE
45
+
46
+
## Improve settings app support
47
+
Can open settings app (nvidia-settings), this should be set within the app settings.
48
+
49
+
## Improve provider app support
50
+
### Nvidia
51
+
Currently, the app allows interacting with GPU management interfaces like Nvidia's [nvidia-settings](https://github.com/NVIDIA/nvidia-settings) and [nvidia-smi](https://developer.nvidia.com/nvidia-system-management-interface), and [optimus](https://www.nvidia.com/en-gb/geforce/technologies/optimus/).
52
+
53
+
#NOTE There is an issue in the [original extension](https://github.com/ethanwharris/gnome-nvidia-extension) with nvidia-settings and nvidia-smi (and thus also optimus) where fan speed is unavailable to query and thus breaks the functionality of the extension. This highlights an issue - what to do if results given by the provider are invalid? How can we check this when modifying GPU views so that the user cannot add invalid statistics? Should the statistic instead show an error message (i.e. "This statistic is not valid for this GPU..")?
54
+
55
+
### AMD
56
+
Hopfully we can support some equivalent provider for AMD, for example [radeon-profile](https://github.com/marazmista/radeon-profile), a GPU management interface developed by [marazmista](https://github.com/marazmista) (though it has not been updated since 2020...).
57
+
58
+
#NOTE This will require a name change!
59
+
60
+
### Mesa/Nouveau
61
+
Currently no research has been done re the open source drivers, as to my knowledge there are no equivalent GPU management interfaces for these.
0 commit comments