Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gamer Monitor

🇬🇧 English

Gamer Monitor is a real-time performance monitor for Linux built in Rust using GTK4. The goal of this project is to provide a simple, lightweight, and intuitive tool that displays device resource usage, such as workload and component temperatures. Gamer Monitor aggregates usage and telemetry data from the CPU, RAM, storage (NVMe only), and GPU. It is optimized for AMD Radeon GPUs, with support for NVIDIA GPUs as well. In the future, more detailed information for Intel Arc GPUs will also be available.

Features

Below is a list of Gamer Monitor features and capabilities:

  • CPU monitoring (temperature and usage);
  • GPU monitoring (temperatures and fan speeds):
    • AMD Radeon RX: edge, hotspot, and memory (via amdgpu);
    • NVIDIA: via nvidia-smi;
    • Intel Arc: basic information via the kernel/lm-sensors. More advanced support is planned for the future;
  • Monitoring of multiple NVMe devices;
  • RAM usage with a progress bar;
  • Modern GTK4 interface.

Sensor setup

You need to configure lm-sensors to detect your hardware. To do so, run:

sudo sensors-detect --auto

ASUS motherboards (optional)

This configuration step is optional for users with ASUS motherboards. If your motherboard is from another vendor, you can skip this step.

ASUS motherboards usually use a specific module that reports various information, such as fan speeds, power states, and temperatures. If supported by your motherboard (check your board’s documentation), you can load the module below:

sudo modprobe nct6775
echo "nct6775" | sudo tee /etc/modules-load.d/sensors.conf

Then verify whether the motherboard data is being reported:

sensors

Simplified installation (recommended)

You can install Gamer Monitor without setting up a development environment. A precompiled binary and an installation script are available, which also creates a shortcut in your application menu.

Note that Gamer Monitor depends on the lm-sensors package being installed on your system. Follow the steps below to install lm-sensors:

On Debian/Ubuntu-based systems, run:

sudo apt install -y lm-sensors

On Fedora:

sudo dnf install -y lm-sensors

On Arch or derivatives:

sudo pacman -S --needed --noconfirm lm_sensors

Done! Now you have installed the required dependency and can install and run Gamer Monitor.

To install Gamer Monitor using the simplified method, run:

sudo ./install.sh

Done! Now run gamer-monitor from the terminal or use the shortcut created in your application menu. If you use the script, you don’t need to follow the dependency installation, build, and manual installation steps below.

Quick start guide – build and install

You can also build and install Gamer Monitor yourself. A script is provided to set up the local environment, compile the application, and install it, creating an application menu shortcut.

This script will also install all dependencies required to build and run Gamer Monitor.

To install dependencies, configure the environment, build, and install, run:

chmod +x build-install.sh
./build-install.sh

The script will:

  • Detect your Linux distribution;
  • Install the required build and runtime dependencies;
  • Install Rust (if needed);
  • Build the project;
  • Install the binary to /usr/local/bin;
  • Create an application menu shortcut;
  • Configure sensors (optional).

Dependencies (manual installation)

You can also install the build dependencies manually, according to your distribution:

For Ubuntu/Debian:

sudo apt update
sudo apt install -y build-essential pkg-config libgtk-4-dev libglib2.0-dev libcairo2-dev libpango1.0-dev lm-sensors curl

For Fedora:

sudo dnf install -y @development-tools pkg-config gtk4-devel glib2-devel cairo-devel pango-devel lm-sensors curl

For Arch Linux:

sudo pacman -S --needed base-devel pkgconf gtk4 glib2 cairo pango lm_sensors curl

Rust installation (manual)

You need a local Rust development environment. The application has the following requirements:

  • Rust edition 2021 or newer;
  • rustc version 1.80.0 or newer.

To install Rust, run:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Build (manual)

To build the application and generate the binary, run in the project root:

cargo build --release

The final binary will be located at:

target/release/gamer-monitor

Run (manual)

After building and before installing, you can run the application with:

./target/release/gamer-monitor

Manual installation

To install the application system-wide, copy the generated binary to /usr/local/bin:

sudo cp target/release/gamer-monitor /usr/local/bin/
gamer-monitor

Create application menu shortcut (.desktop)

Manually create an application entry at: ~/.local/share/applications/gamer-monitor.desktop with the following content:

[Desktop Entry]
Name=Gamer Monitor
Comment=Real-time performance monitor
Exec=/usr/local/bin/gamer-monitor
Icon=utilities-system-monitor
Terminal=false
Type=Application
Categories=System;Monitor;

Then update the application database:

update-desktop-database ~/.local/share/applications

Troubleshooting

Below is a list of reported issues and commands to fix them:

  • sensors: command not found

    sudo apt install lm-sensors     # Ubuntu/Debian
    sudo dnf install lm-sensors     # Fedora
    sudo pacman -S lm_sensors       # Arch
  • No sensors found

    sudo sensors-detect --auto
    sudo systemctl restart kmod
  • AMD GPU not detected

    lspci -k | grep -A 3 VGA

Uninstallation

You can uninstall the application manually or using the uninstall script.

Using the uninstall script:

sudo ./uninstall.sh

For manual uninstallation, use:

sudo rm /usr/local/bin/gamer-monitor
rm ~/.local/share/applications/gamer-monitor.desktop
update-desktop-database ~/.local/share/applications

Contributing

Contributions are welcome via issues and pull requests!

Tips

  • On ASUS boards, confirm the nct6775 module is loaded;
  • For NVIDIA GPUs, make sure nvidia-smi is working;
  • Multiple NVMe devices are detected automatically.

🇧🇷 Português

Gamer Monitor é um monitor de desempenho em tempo real para Linux construído em Rust utilizando GTK4. O objetivo deste projeto é oferecer uma ferramenta simples, leve e intuitiva que exibe a utilização dos recursos do dispositivo, como carga de trabalho e temperatura dos componentes. O Gamer Monitor agrega informações e dados de uso do processaor, memória RAM, armazenamento (apenas NVMe) e placa de vídeo. Ele é otimizado para placas AMD Radeon, mas há suporte para placas da NVIDIA. Futuramente, informações mais detalhadas de placas Intel Arc também estarão disponíveis.

Recursos

Abaixo, uma lista dos recursos e funcionalidades do Gamer Monitor:

  • Monitoramento de CPU (temperatura e uso);
  • Monitoramento de GPU (temperaturas e velocidade das ventoinhas):
    • AMD Radeon RX: edge, hotspot e memória (via amdgpu);
    • NVIDIA: via nvidia-smi;
    • Intel Arc: informações básicas via kernel/lm-sensors. No futuro, haverá um suporte maior;
  • Monitoramento de múltiplos dispositivos NVMe;
  • Uso de memória RAM com barra de progresso;
  • Interface moderna em GTK4.

Configuração dos sensores

Você precisa configurar o lm-sensors para identificar o seu hardware. Para isso, utilize:

sudo sensors-detect --auto

Placas-mãe ASUS (opcional)

Essa etapa de configuração é opcional para usuários com placas da ASUS. Se você tem uma placa de outros fabricantes, desconsidere essa etapa.

Placas-mãe da ASUS costumam utilizar um módulo específico que reporta diversas informações, como velocidade das fans, estado energético e temperaturas. Caso seja compatível (leia a documentação da sua placa), você pode carregar o módulo à seguir:

sudo modprobe nct6775
echo "nct6775" | sudo tee /etc/modules-load.d/sensors.conf

Verifique depois se os dados da placa-mãe foram reportados.

sensors

Instalação simplficiada (recomendado)

Você pode instalar o Gamer Monitor sem precisar configurar um ambiente de desenvolvimento. Para isso, existe um binário pré-compilado e um script de instalação, que também cria um atalho na sua lista de aplicativos.

Vale ressaltar que o Gamer Monitor depende do pacote lm-sensors instalado em seu computador. Siga os passos abaixo para instalar o lm-sensors:

Em sistemas Debian/Ubuntu ou derivados, use, no terminal:

sudo apt install -t lm-sensors

Para Fedora, use:

sudo dnf install -y lm-sensors

Para Arch ou derivados, utilize:

sudo pacman -S --needed --noconfirm lm_sensors

Pronto! Agora você instalou a dependência necessária e pode instalar e executar o Game Monitor.

Para instalar o Game Monitor de forma simplificada, use, no seu terminal:

sudo ./install.sh

Pronto! Agora execute, pelo terminal, game-monitor ou utilize o atalho criado na lista de aplicativos. Se você utilizar o script, não precisa realizar as etapas de instalação de dependências, compilação e instalação da aplicação descritas abaixo.

Guia de início rápido - compilação e instalação

Voc6e também pode compilar e instalar o Game Monitor você mesmo. Para isso, existe um script que fará o setup local do ambiente necessário, compilará a aplicação e a instalará, criando o atalho na sua lista de aplicativos.

Este script também irá instalar todas as dependências necessárias para a compilação e execução do Game Monitor.

Para instalar as dependências, configurar o ambiente, compilar e instalar, utilize, no seu terminal:

chmod +x build-install.sh
./build-install.sh

O script irá:

  • Detectar sua distribuição Linux;
  • Instalar as dependências necessárias para a compilação e execução;
  • Instalar Rust (se necessário);
  • Compilar o projeto;
  • Instalar o binário em /usr/local/bin;
  • Criar atalho no menu de aplicações;
  • Configurar sensores (opcional).

Dependências (instalação manual)

Você também pode instalar as dependências para a compilação, de acordo com a sua distribuição:

Para Ubuntu/Debian, use:

sudo apt update
sudo apt install -y build-essential pkg-config libgtk-4-dev libglib2.0-dev libcairo2-dev libpango1.0-dev lm-sensors curl

Para Fedora, use:

sudo dnf install -y @development-tools pkg-config gtk4-devel glib2-devel cairo-devel pango-devel lm-sensors curl

Para Arch Linux, use:

sudo pacman -S --needed base-devel pkgconf gtk4 glib2 cairo pango lm_sensors curl

Instalação do Rust (instalação manual)

Você precisa ter o ambiente de desenvolvimento do Rust localmente. A aplicação tem os seguintes requisitos:

  • Rust edition 2021 ou mais recente;
  • rustc versão 1.80.0 ou mais recente.

Para instalar o ambiente, utilize, em seu terminal:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Compilação (instalação manual)

Para compilar a aplicação e gerar o binário, utilize, na raiz do projeto:

cargo build --release

O binário final estará licalizado em:

target/release/gamer-monitor

Execução (instalação manual)

Após a compilação e antes da instalação, você pode executar a aplicação, utilizando, no terminal:

./target/release/gamer-monitor

Instalação manual

Para instalar a aplicação no seu sistema, você deve copiar o binário gerado para /usr/local/bin, utilizando:

sudo cp target/release/gamer-monitor /usr/local/bin/
gamer-monitor

Criar atalho no menu (.desktop)

Você precisa criar, manualmente, uma entrada (atalho) na lista de aplicativos, no seguinte caminho: ~/.local/share/applications/gamer-monitor.desktop, com o conteúdo:

[Desktop Entry]
Name=Gamer Monitor
Comment=Monitor de desempenho em tempo real
Exec=/usr/local/bin/gamer-monitor
Icon=utilities-system-monitor
Terminal=false
Type=Application
Categories=System;Monitor;

A seguir, você precisa atualizar o cache:

update-desktop-database ~/.local/share/applications

Troubleshooting

Agora, uma lista de problemas relatados e comandos para resolver o problema.

  • sensors: command not found

    sudo apt install lm-sensors     # Ubuntu/Debian
    sudo dnf install lm-sensors     # Fedora
    sudo pacman -S lm_sensors       # Arch
  • “No sensors found”

    sudo sensors-detect --auto
    sudo systemctl restart kmod
  • GPU AMD não aparece

    lspci -k | grep -A 3 VGA

Desinstalação

Você pode desinstalar a aplicação (removendo o atalho) de forma manual ou com o script de desinstalação.

Se for utilizar o script de desinstalação, utilize, no terminal:

sudo ./uninstall.sh

Para desinstalação manual, utilize:

sudo rm /usr/local/bin/gamer-monitor
rm ~/.local/share/applications/gamer-monitor.desktop
update-desktop-database ~/.local/share/applications

Contribuições

Contribuições são bem-vindas via issues e pull requests.

Dicas

  • Em placas ASUS, confirme o módulo nct6775;
  • Para NVIDIA, tenha o nvidia-smi funcionando;
  • NVMe múltiplos são detectados automaticamente.

About

Um monitor de recursos simples e leve focado para o público gamer no Linux

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages