Need help? Try the specialised custom ChatGPT GPT: CmpInf - Support Chat
CmpInf is an application designed to work with the SteelSeries GameSense GG software. It includes and uses LibreHardwareMonitorLib to retrieve system information such as CPU temperature and GPU usage. This data is then sent to the GameSense GG software, which displays the Computer Informations on the keyboard’s OLED display.
I noticed that one of the reasons I originally bought the keyboard has been removed. According to SteelSeries, they are addressing a security issue related to how the original System Monitor gathered system information.
We now depend on LibreHardwareMonitorLib v0.9.5, which ships the PawnIO kernel driver instead of the legacy WinRing0 component, so the vulnerability that SteelSeries has been patching no longer applies to this replacement. PawnIO is extra software and only needs to be installed if there is a need for CPU or motherboard sensors.
apex_oled.mp4
- Multiple pages with one or two sensors each
- Each page can have it's own display interval
- Customizable sensor prefix and suffix
- Show capslock state
- Icon support
- Runable as normal user
- Autostart support
As for now this project (out of this README) is fully generated with GitHub CoPilot/Codex, so please take it with a grain of salt and feel free to raise an issue or PR to make it a bit better.
- .NET 10
- SteelSeries GG installed and running (consider to put it into autostart)
- Download the latest release of CmpInf and run it
- PawnIO optional for CPU and motherboard sensors
CmpInf uses LibreHardwareMonitorLib v0.9.5, which bundles PawnIO as the successor to the WinRing0 driver. PawnIO is the signed kernel component that LibreHardwareMonitor uses as additional sensor information source.
PawnIO is required for some motherboard or CPU sensors that LibreHardwareMonitorLib alone does not expose. Without PawnIO, CmpInf falls back to its SafeUserMode (no-kernel) operating profile, which keeps GPU, storage, and network sensors running while omitting kernel-only sources such as motherboard and CPU controllers.
Be aware that PawnIO can influence cheat detection software like FaceIT: namazso/PawnIO.Setup #1
The application will copy itself to %AppData%\CmpInf_SteelSeriesOledPcInfo and will ask you to create a shortcut on your desktop. After start you will see a small icon in your tray menu.
In the AppData folder you will find a autogenerated available-sensors.json file, which contains all sensors that were found by LibreHardwareMonitorLib and can be used for your display.
You can open the settings by right-clicking the tray icon and selecting "Settings". Here you can open the settings.json and configure your sensors and refresh timings. You can also control how long a page will be displayed if you define more than one.
Global:
UpdateIntervalMs: Set the interval in milliseconds how often the sensors should be updatedGameSenseRetryIntervalMs: Set the interval in milliseconds how often a reconnect will be attempted if the GameSense GG software is not availableGameSenseHeartbeatIntervalMs: Set the interval in milliseconds how often a heartbeat will be sent to the GameSense GG software, when no sensor was updatedRunAsAdmin: Set totrueif you want to run the application as administratorShowCapsLockIndicator: Set totrueif you want the Caps Lock marker to display on the OLED.CapsLockIndicatorTextLine1: Text that is prepended to line 1 when Caps Lock is active (default⇪). Stick to BMP-friendly glyphs so surrogate-pair emoji do not break the display.CapsLockIndicatorTextLine2: Text that is prepended to line 2 when Caps Lock is active (default two spaces) to keep the second line aligned when the first line receives the marker.
Pages:
DurationMs: Set the duration in milliseconds how long a page should be displayedIconId: Set the icon id of the page, which will be displayed on the OLED display
Sensors:
Name,Hardware,Type: Need to be exacty extracted from theavailable-sensors.jsonfile. It's the filter query to find the sensor in the LibreHardwareMonitorLibPrefix: Set characters which will be displayed before the sensor valueSuffix: Set characters which will be displayed after the sensor valueDecimalPlaces: Set the number of decimal places which should be displayed for the sensor valueKeyInstance: Set the key instance which will be used to display the sensor value on the OLED display. More internal value - it is used to identify the sensor in the GameSense GG software
You can enable autostart by right-clicking the tray icon and selecting "Settings". Here you can enable the autostart option, which depending on the permission level will run in
- User mode: Creates a shortcut in your startup folder (
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup), so the application will be started automatically with user rights - Admin mode: Creates a scheduled task which will start the application with administrator rights on every system start. This is required if you want to read sensors which require administrator rights (e.g. CPU temperature).
You can click on the Tray Icon or right-click it and select "Open" to open the log window and enable debug logs.
You can uninstall the application by right-clicking the tray icon and selecting "Uninstall" in settings. This will remove the application from your system and delete the AppData folder on the next reboot. If you have enabled autostart, it will also remove the shortcut or scheduled task.
If you see a - as sensor value, it means that LibreHardwareMonitorLib was not able to read the sensor value. This can happen if administrator rights are required to read the sensor value. You can try to run the application as administrator (Right-click on the tray icon -> Settings -> Run as administrator).
-
#2: The shipped configuration is made on an Intel System. If it's used on an AMD CPU system, a missleading warning is shown.
Please use CmpInf - Support Chat to create a working configuration, or double check your settings file.
No more issues are known so far, if you find one, feel free to raise an issue!
- LibreHardwareMonitorLib for sensor data <3
- PawnIO for even more sensor data <3
- Newtonsoft.Json for easy JSON handling <3
- SteelSeries GameSense SDK for easy API usage <3


