mskrasnov/FSM
FSM is a simple GUI program to get information about software and hardware of Linux PC - mskrasnov/FSM
38 stars · 0 forks · 1 watchers · Rust Topics: linux, rust, hardware, profiler, systemd, software, system-monitor, system-monitoring, iced, system-profiler, iced-rs, ferrix
README
Ferrix System Monitor — Swiss Knife for Linux Hardware Diagnostics A modern program for getting information about computer hardware and installed software. Other screenshots
What is FSM? FSM is a modern system profiler. Is a program for obtaining information about computer hardware and software. It is designed to work in modern GNU/Linux systems. Functions
Beautiful CPU and RAM utilization charts (System Monitor page); Hardware:
Information about installed CPUs: name(s), model(s), topology, frequencies, vulnerabilities; Filesystems: mount point and mount options, total and used size, file system type; Memory: total, free, used memory, cached memory, buffers, swap(s), etc.; Network interfaces list; Some data from the DMI tables (BIOS, System, Baseboard, Processors) - WIP; Installed notebook battery(es) - status, capacity, battery health, technology, voltage, power, energy, battery manufacturer, battery model and serial number; Screens - supported modes and some data from EDID;
Software:
Information about installed GNU/Linux system: name, version, maintainer/developer, homepage URL, etc.; Users and groups list; Environment variables list; systemd services list; Installed software list (only deb and rpm packages is displayed yet); Linux kernel information; Kernel modules list; Desktop environment name; UEFI Settings (tested on Lenovo ThinkBook);
TODO:
More information about environment (name and version of DE, WM, DM); Information about media: name of video- and soundcard, information about Pulseaudio/PipeWire and Xorg/Wayland; I/O utilization charts; Process monitor; More information about network; Sensors information;
Difference from analogues
Criteria Ferrix System Monitor Hardinfo2 Stacer/Nexis
Programming language Rust C C++
Program type System profiler System profiler & hardware benchmark System optimizer and monitor
GUI iced GTK3 Qt5/Qt6
License GNU GPLv3 GNU GPLv3 GNU GPLv3
Key features Deep system analisys: systemd services, installed packages, DMI, EDID, etc.;Beautiful CPU and RAM utilization charts;Simple and clean UI; Hardware benchmarks: CPU, GPU, disks, memory;Hardware ratings;Export data to HTML/plain text; System cleaner (caches, logs, packages);Real-time resource monitoring;systemd-services management;
Data accuracy 🟢️ ⚪️ (incorrect battery information) ⚪️ (stacer is outdated software)
Target audience Advanced users who need detailed information about software and hardware Enthusiasts and overlockers interested in benchmarks and system comparisons Beginners and regular users who want a simple tool for configuring and cleaning up their system
Processor topology 🟢️ 🟢️ 🔴️
Processor frequencies 🟢️ ⚪️ ?
Processor vulnerabilities 🟢️ 🟢️ 🔴️
Real-time monitoring 🟢️ ⚪️ 🟢️
Hardware info panel 🟢️ 🟢️ 🟢️
Battery health 🟢️ 🔴️ 🟢️
systemd services list 🟢️ 🔴️ 🟢️
DMI Tables ⚪️ (more data than Hardinfo) ⚪️ (less data than FSM) 🔴️
UEFI Settings 🟢️ 🔴️ 🔴️
Official AppImage builds 🟢️ 🔴️ 🟢️
🟢️ - yes; 🔴️ - no; ⚪️ - partial;
Build & Install git clone https://github.com/mskrasnov/Ferrix cd Ferrix
make build If you use Debian, perform: make deb And install deb-package: sudo dpkg -i ./target/${TARGET_ARCH}/debian/ferrix-app_${VERSION}-${BUILD_NUM}_${ARCH}.deb If you use other Linux system, perform: make run # to run Ferrix...
... or
make install # to install Ferrix.Perform:
make uninstall # to uninstall Ferrix from your system. Running in WSL export XDG_SESSION_TYPE=xorg export DISPLAY=':0' export WAYLAND_DISPLAY= ferrix-app Cross compilation (Debian x86_64 glibc -> i686/AArch64 glibc) Install the cross-compilator: sudo dpkg --add-architecture {arm64/i686} sudo apt updateFor AArch64:
sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libc6-dev-arm64-cross rustup target add aarch64-unknown-linux-gnuFor i686:
sudo apt install gcc-12-i686-linux-gnu binutils-i686-linux-gnu rustup target add i686-unknown-linux-gnu Build Ferrix: cargo build [--release] --target={i686/aarch64}-unknown-linux-gnuor:
make TARGET={i686/aarch64}-unknown-linux-gnu build Technology stackOS: Linux with glibc, dbus and systemd; Programming language: Rust 1.88+ (2024 edition); GUI: iced; Hardware: modern PC or laptop;
❤️ Support Ferrix System Monitor Developing Ferrix System Monitor takes time and passion. If you find it useful, please consider supporting its development:
Star ⭐ this repo! It helps others discover FSM; Write comments, questions, bug reports, or suggestions for new functionality in issues. If you are from Russia, send me a donation 💰 in Boosty. This will help me keep my enthusiasm alive, as well as pay my internet bills so that I can continue working on FSM. Spread the world! Tell friends, post on forums.
License Ferrix System Monitor is free and open-source software distributed under the GNU General Public License v3.0. See LICENSE file for details.