Skip to content
NeonMC23Public

About

NeoSense est un wrapper CLI (Command Line Interface) moderne, propre et élégant autour de NBFC (Notebook FanControl) sous Linux. Inspiré de l'interface de contrôle NitroSense d'Acer, NeoSense est conçu pour fonctionner sur n'importe quel ordinateur portable compatible avec NBFC.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux system control

NeoSense

Your laptop. Your fans. Your control.
A modern, elegant CLI wrapper for NBFC — inspired by Acer NitroSense.

Linux Bash NBFC MIT License

Features · Preview · Installation · Commands · Roadmap


◈ Overview

NeoSense brings a clean, straightforward command-line experience to NBFC (Notebook FanControl) on Linux.

Control fan speeds, switch performance profiles, manage the NBFC service, and inspect your system's thermal status without memorizing a collection of low-level commands.

Built with modular Bash scripts, NeoSense aims to make laptop thermal management more accessible while keeping the interface lightweight, readable, and extensible.

NeoSense is a wrapper around NBFC, not a replacement for it. Hardware compatibility and low-level fan control depend on your NBFC installation and configuration.

⌁ Preview

A quick look at the NeoSense command-line interface:

  _   _            ____                         
 | \ | | ___  ___ / ___|  ___ _ __  ___  ___    
 |  \| |/ _ \/ _ \\___ \ / _ \ '_ \/ __|/ _ \   
 | |\  |  __/ (_) |___) |  __/ | | \__ \  __/   
 |_| \_|\___|\___/|____/ \___|_| |_|___/\___|   

  NeoSense v1.0
  A modern NBFC wrapper

  COMMANDS
  ├─ status          System & thermal status
  ├─ auto / manual   Fan control modes
  ├─ set             Manual fan speeds
  ├─ turbo            Maximum fan preset
  ├─ performance      Performance preset
  ├─ balanced         Everyday preset
  ├─ silent           Low-noise preset
  ├─ daemon           Service management
  └─ config           NBFC profiles

Illustrative layout of the available commands, not a verbatim terminal capture.


⚡ Features

◉ Fan control

Switch between automatic and manual operation, or set CPU and GPU fan speeds individually or together.

⚡ Performance presets

Quickly select Turbo, Performance, Balanced, or Silent fan profiles.

⌖ Thermal monitoring

Inspect the active configuration, service state, temperatures, and current and target fan speeds.

⚙ Service management

Enable, disable, restart, and inspect the NBFC systemd service directly from the CLI.

▦ Configuration profiles

List available NBFC profiles, inspect the active profile, and apply a different configuration.

⌘ Lightweight architecture

Modular Bash scripts with separate responsibilities for commands, system operations, configuration, and output.

▸ Installation

Requirements

  • A Linux distribution
  • Bash and standard system utilities
  • NBFC Linux installed and configured
  • sudo privileges for operations that require elevated permissions

NBFC support varies by laptop model. Confirm that your hardware is supported and that its configuration works before using NeoSense to control the fans.

1. Install NBFC

On Arch Linux or Manjaro, if the package is available in your configured repositories or AUR helper:

yay -S nbfc-linux

On other distributions, follow the installation instructions in the official nbfc-linux repository.

2. Install NeoSense

Clone the repository:

git clone https://github.com/NeonMC23/NeoSense.git
cd NeoSense

Run the installer:

sudo ./install.sh

The installation script is intended to:

  • Check that NBFC is installed.
  • Install NeoSense files under /usr/local/share/neosense/.
  • Create the neosense command under /usr/local/bin/.

After installation, display the available commands:

neosense --help

Check the installed version:

neosense --version

⌘ Commands

System status

neosense status

Displays the active NBFC configuration, service state, autostart state, operating mode, temperatures, and current and target fan speeds when the underlying system exposes those values.

Fan control

Command Description
neosense auto Switch all fans to automatic mode
neosense manual Switch to manual mode while keeping current speeds
neosense set cpu <0-100> Set the CPU fan speed
neosense set gpu <0-100> Set the GPU fan speed
neosense set both <0-100> Set both fan speeds

Examples:

neosense auto
neosense manual
neosense set cpu 75
neosense set gpu 65
neosense set both 80

Performance presets

Choose a preset according to your workload:

Preset CPU fan GPU fan Typical use
🔥 Turbo 100% 100% Maximum cooling
⚡ Performance 80% 80% Gaming and heavy workloads
◈ Balanced 60% 60% Everyday use
❄️ Silent 25% 25% Light workloads
neosense turbo
neosense performance
neosense balanced
neosense silent

Preset percentages are the values defined by NeoSense; actual fan behavior depends on hardware and NBFC support.

NBFC service

Command Action
neosense daemon enable Enable and start the service
neosense daemon disable Stop and disable the service
neosense daemon restart Restart the service
neosense daemon status Inspect the service state

Configuration profiles

Command Action
neosense config current Show the active profile
neosense config list List available NBFC profiles
neosense config use "Acer Nitro AN515-57" Apply a profile and restart the service

Use the exact configuration name reported by neosense config list on your system.


⚠️ Safety & compatibility

Fan control interacts with hardware-specific behavior. Incorrect settings can lead to excessive temperatures or unnecessary noise.

  • Verify that NBFC supports your laptop and that its configuration is correct.
  • Monitor CPU and GPU temperatures after changing fan settings.
  • Avoid low manual fan speeds under sustained heavy workloads.
  • Remember that a requested fan percentage does not guarantee a particular temperature.
  • Use elevated privileges only when required by the operation.

NeoSense delegates hardware-level control to NBFC; it cannot guarantee compatibility with every laptop.


⛭ Project structure

NeoSense/
├── README.md
├── LICENSE
├── install.sh
├── uninstall.sh
├── neosense
└── src/
    ├── commands.sh
    ├── system.sh
    ├── config.sh
    ├── status.sh
    └── utils.sh
File Responsibility
neosense Main CLI entry point
src/commands.sh Fan control commands and presets
src/system.sh Temperatures and systemd service operations
src/config.sh NBFC configuration profiles
src/status.sh Status parsing and dashboard output
src/utils.sh Colors, logging, and validation
install.sh Installation
uninstall.sh Uninstallation

The modular structure keeps command handling separate from system operations and configuration management.


❓ Troubleshooting

“This command requires root privileges”

Some operations require elevated permissions to communicate with the underlying hardware or manage the system service. Run the relevant command with the required privileges and ensure that NBFC is configured correctly.

GPU temperature appears as N/A

Check whether your GPU driver exposes temperature information. On NVIDIA systems, verify that nvidia-smi is available. On AMD systems, check the driver's hardware monitoring interfaces. Not every GPU or driver exposes the same information.

Fan control does not work as expected

Confirm that NBFC is running, the selected profile matches your laptop, and the hardware is supported. Check NBFC's own status and logs before assuming the issue comes from NeoSense.

How do I uninstall NeoSense?

From the cloned repository directory, run:

sudo ./uninstall.sh

Review the script and its intended changes before running it.


◈ Roadmap

Potential future improvements:

  • Interactive TUI — Live status and interactive fan controls.
  • GTK interface — A graphical application with a system-tray indicator.
  • Custom fan curves — Configure temperature-to-speed profiles.
  • Automatic gaming profile — Switch profiles when games launch.
  • Smart battery mode — Adapt profiles when unplugging the charger.
  • Desktop notifications — Notify users about profile changes and temperature events.

These items are planned possibilities, not promises or implemented features.


🤝 Contributing

Contributions, bug reports, and feature suggestions are welcome.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/my-feature.
  3. Commit your changes.
  4. Push your branch.
  5. Open a Pull Request.

For significant changes, open an issue first to discuss the proposed approach.

📄 License

NeoSense is distributed under the MIT License. See LICENSE for details.

Less command juggling. More control.
NeoSense

About

NeoSense est un wrapper CLI (Command Line Interface) moderne, propre et élégant autour de NBFC (Notebook FanControl) sous Linux. Inspiré de l'interface de contrôle NitroSense d'Acer, NeoSense est conçu pour fonctionner sur n'importe quel ordinateur portable compatible avec NBFC.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages