SkillAgentSearch skills...

GreenWithEnvy

fork of https://gitlab.com/leinardi/gwe

Install / Use

/learn @dankamongmen/GreenWithEnvy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GreenWithEnvy (GWE)

GWE is a GTK system utility designed to provide information, control the fans and overclock your NVIDIA video card and graphics processor.

💡 Features

<img src="/data/icons/hicolor/48x48@2x/apps/com.leinardi.gwe.png" width="96" align="right" hspace="0" />
  • Show general GPU stats (model name, driver version, gpu/memory/power usage, clocks, temps, etc)
  • GPU and Memory overclock offset profiles
  • Custom Fan curve profiles
  • Change power limit
  • Historical data graphs
<img src="/art/screenshot-1.png" width="800" align="middle"/>

📦 How to get GWE

If you don't like to reading manuals and/or you don't know what the Nvidia CoolBits are, you can watch the following How To made by Intelligent Gaming:

How To Overclock And Control Fans On An nVidia Graphic Card In Linux - Green With Envy / GWE

Install from Flathub

This is the preferred way to get GWE on any major distribution (Arch, Fedora, Linux Mint, openSUSE, Ubuntu, etc).

If you don't have Flatpak installed you can find step by step instructions here.

Make sure to have the Flathub remote added to the current user:

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install

flatpak --user install flathub com.leinardi.gwe
flatpak update # needed to be sure to have the latest org.freedesktop.Platform.GL.nvidia

Run

flatpak run com.leinardi.gwe

⚠ Flatpak limitations

Beta Drivers

Currently Flatpak does not support Nvidia Beta drivers like 396.54.09 or 415.22.05.

Bumblebee and Optimus

Currently Flatpak does not support Bumblebee. If you want to use GWE with Bumblebee you need to install it from the source code.

Distro specific packages

Arch Linux

Install the gwe package from the AUR using your favourite helper, for example yay -S gwe.

Fedora

GWE avaliable in official Fedora repos for F31+: sudo dnf install gwe

For older Fedora releases you can use COPR package: sudo dnf copr enable atim/gwe -y && sudo dnf install gwe

Install from source code

Build time dependencies

| Distro | pkg-config | Python 3.6+ | gobject-introspection | meson | ninja-build | appstream-util | | --------------------- | ------------------ | ------------- | --------------------------- | ----- | ----------- | -------------- | | Arch Linux | pkg-config | python | gobject-introspection | meson | ninja | appstream-glib | | Fedora | pkgconf-pkg-config | python3-devel | gobject-introspection-devel | meson | ninja-build | appstream-util | | OpenSUSE | pkgconf-pkg-config | python3-devel | gobject-introspection-devel | meson | ninja-build | appstream-glib | | Ubuntu | pkg-config | python3-dev | libgirepository1.0-dev | meson | ninja-build | appstream-util |

Run time dependencies

| Distro | Python 3.6+ | pip | gobject-introspection | libappindicator | gnome-shell-extension-appindicator | libdazzle | | --------------------- | ----------- | ----------- | --------------------------- | ------------------------ | ---------------------------------- | --------- | | Arch Linux | python | python-pip | gobject-introspection | libappindicator3 | gnome-shell-extension-appindicator | libdazzle | | Fedora | python3 | python3-pip | gobject-introspection-devel | libappindicator-gtk3 | gnome-shell-extension-appindicator | libdazzle | | OpenSUSE | python3 | python3-pip | gobject-introspection | libappindicator3-1 | gnome-shell-extension-appindicator | typelib-1_0-libdazzle-1_0 | | Ubuntu | python3 | python3-pip | libgirepository1.0-dev | gir1.2-appindicator3-0.1 | gnome-shell-extension-appindicator | libdazzle |

plus all the Python dependencies listed in requirements.txt

Clone project and install

If you have not installed GWE yet:

git clone --recurse-submodules -j4 https://gitlab.com/leinardi/gwe.git
cd gwe
git checkout release
sudo -H pip3 install -r requirements.txt
meson . build --prefix /usr
ninja -v -C build
sudo ninja -v -C build install

Update old installation

If you installed GWE from source code previously and you want to update it:

cd gwe
git fetch
git checkout release
git reset --hard origin/release
git submodule init
git submodule update
sudo -H pip3 install -r requirements.txt
meson . build --prefix /usr
ninja -v -C build
sudo ninja -v -C build install

Run

Once installed, to start it you can simply execute on a terminal:

gwe

⚠ Bumblebee and Optimus

If you want to use GWE with Bumblebee you need to start it with optirun and set the --ctrl-display parameter to :8:

optirun gwe --ctrl-display ":8"

ℹ️ TODO

  • [x] Show general GPU info
  • [x] Show power info
  • [x] Show clocks info
  • [x] Show GPU temp in both app and app indicator
  • [x] Show fan info
  • [x] Allow to hide main app window
  • [x] Add command line option to start the app hidden
  • [x] Add Refresh timeout to settings
  • [x] Add command line option to add desktop entry
  • [x] About dialog
  • [x] Distributing with PyPI
  • [x] Show chart of selected fan profile
  • [x] Allow to select and apply a fan profile
  • [x] Add/Delete/Edit multi speed fan profiles (fan curve)
  • [x] Add option to restore last applied fan profile on app startup
  • [x] Find better icons for app indicator
  • [x] Try to lower resource consumption (mostly caused by nvidia-settings invocations)
  • [x] Show historical data of most important values in a separate dialog (requires GTK 3.24/GNOME 3.30)
  • [x] Add overclock profiles
  • [x] Add option to restore last applied overclock profile on app startup
  • [ ] Disable unsupported preferences
  • [x] Distributing with Flatpak
  • [x] Publishing on Flathub
  • [ ] Distributing with Snap
  • [x] Check if NV-CONTROL is available and tell the user if is not
  • [ ] Add support for multi-GPU
  • [ ] Allow to select profiles from app indicator
  • [ ] Add support for i18n (internationalization and localization)
<!-- ## Application entry To add a desktop entry for the application run the following command (not supported by Flatpak): ```bash gwe --application-entry ``` If you don't want to create this custom rule you can run gwe as root (using sudo) but we advise against this solution. -->

⌨️ Command line options

| Parameter | Description | Source | Flatpak | |---------------------------|-------------------------------------------|:------:|:-------:| |-v, --version |Show the app version | x | x | |--debug |Show debug messages | x | x | |--hide-window |Start with the main window hidden | x | x | |--ctrl-display DISPLAY |Specify the NV-CONTROL display | x | x | |--autostart-on |Enable automatic start of the app on login | x | | |--autostart-off |Disable automatic start of the app on login| x | |

🖥️ Build, install and run with Flatpak

If you don't have Flatpak installed you can find step by step instructions here.

Make sure to have the Flathub remote added to the current user:

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Clone the repo

git clone --recurse-submodules -j4 https://gitlab.com/leinardi/gwe.git

It is possible to build the local source or the remote one (the same that Flathub uses)

Local repository

./build.sh --flatpak-local --flatpak-install

Remote repository

./build.sh --flatpak-remote --flatpak-install

Run

flatpak run com.leinardi.gwe --debug

❓ FAQ

I see some message about CoolBits in the Overclock/Fan profile section, what's that?

Coolbits was a Windows registry hack for Nvidia graphics cards Windows drivers, that allows tweaking features via the Nvidia driver control panel. Something similar is available also on Linux and is the only way to enable Overclock and manual Fan control. To know more about Coolbits and how to enable them click here (to enable both OC and Fan control you need to set it to 12).

The Flatpak version of GWE is not using my theme, how can I fix it?

To fix this issue install a Gtk theme from Flathub. This way, Flatpak applications will automatically pick the installed Gtk theme and use that instead of Adwaita.

Use this command to get a list of all the available Gtk themes on Flathub:

flatpak --user remote-ls flathub | grep org.gtk.Gtk3theme

And then just install your preferred theme. For example, to install Yaru:

flatpak install flathub org.gtk.Gtk3theme.Yaru

I have installed the app using Flatpak, but all the GWE fields are empty

This issue can be usually solved by closing GWE, executing flatpak update and starting GWE again. This is necessary to be sure to have the latest org.freedesktop.Platform.GL.nvidia. If, after the update, all the fields are still empty, feel free to open a new issue on the project tracker.

Why the memory overclock offsets effectively applied does not ma

View on GitHub
GitHub Stars134
CategoryDevelopment
Updated2d ago
Forks4

Languages

Python

Security Score

95/100

Audited on Mar 27, 2026

No findings