-
-
Notifications
You must be signed in to change notification settings - Fork 278
Troubleshooting
Try to get error logs from the program:
- if you run the program from a command-line, errors from the Python interpreter will be printed in the same window
- if you run the program automatically at boot (e.g. from the Task Scheduler) or from the configuration wizard, you can find logs in the
log.logfile from the project main folder
When you have located your error from the logs, search it on this page or in the existing issues
Computer hardware support for system monitor depends on the HW manufacturer and the OS.
Check this compatibility page to see if your hardware should be supported or not.
For Windows users: please run the program as Administrator to use LibreHardwareMonitor integration to get sensors data.
If some data are still missing, run turing-smart-screen-python/external/LibreHardwareMonitor/test_librehardwaremonitor.py and copy the output to a new GitHub issue.
-
Symptoms: When running the program the following error appears:
[Errno 13] Permission denied: '/dev/ttyACM0' - Cause: your user does not have permanent access to TTY devices created by your system
-
Fix: adding your user to the group
dialout, on Ubuntu & Debian the command issudo usermod -a -G dialout $USER
On ArchLinux the group isuucp, the command issudo usermod -a -G uucp $USER
- Symptoms: When running program on Windows, the following error appears at launch:
System.NotSupportedException: An attempt was made to load an assembly from a network location
which would have caused the assembly to be sandboxed in previous versions of the .NET Framework.
This release of the .NET Framework does not enable CAS policy by default, so this load may be
dangerous. If this load is not intended to sandbox the assembly, please enable the
loadFromRemoteSources switch.
- Cause: Since .Net Framework 4.0, the ability to run code in assemblies loaded from a remote source is disabled by default. See https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/loadfromremotesources-element#remarks
-
Fix: go to the
external/LibreHardwareMonitorfolder of this project, then for each of the two.dllfiles do a right-click > Properties > click (or check)Unblock
If you do not have the Unblock option you can also do it using Powershell: open a Powershell command-line into the external/LibreHardwareMonitor folder and run:
dir *.dll | Unblock-FileIf this does not solve the issue, find the path of your python.exe / pythonw.exe program using the command where python.exe / where pythonw.exe and create in the same folder python.exe.config and pythonw.exe.config text files with both the following content:
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration> -
Symptoms: Running
python.exefrom a command line opens the Microsoft Store instead of actually running a Python shell. - Cause: Python has been installed from official website, not from Microsoft Store
-
Fix: Use
py.exeinstead, or disablepython.exe&python3.exeApp Execution Aliases : Windows 10 or Windows 11
- Symptoms: System monitor displays "No supported GPU found" with an AMD GPU, and no GPU stats are displayed on the screen
-
Cause: For Python > 3.11, the
pyamdgpuinfolibrary isn't available as pre-built Wheel package in Pip repositories. -
Fix: Install some packages manually from your OS package manager: you need
python3-dev/python3-develandlibdrm-dev/libdrm-devel, then installCythonandpyamdgpuinfomanually with Pip:
python3 -m pip install Cython
python3 -m pip install pyamdgpuinfo-
Symptoms: Error message
[ERROR] Tkinter dependency not installed.displayed when runningconfigure.pyor Theme Editor - Cause: Python Tkinter module is not installed on your system. The Tkinter module is used to display graphical elements like windows, buttons...
-
Fix: Because Tkinter has OS-specific code, it cannot be installed from Pip. It must be installed from your OS:
-
For Windows: During Python3 installation you must have
tcl/tkoption checked:
-
For macOS: if you installed Python from Homebrew:
brew install python-tk -
For Linux Debian:
sudo apt install python3-tk python3-pil.imagetk -
For Linux Fedora:
sudo dnf install python3-tkinter python3-pillow-tk -
For Arch Linux / Manjaro: install
tkandpython-pillowpackages withpacman -
For other OS: search the web for
install python3 tkinter for (your OS)
-
For Windows: During Python3 installation you must have
- Symptoms: on GNOME desktop environment, when System Monitor is launched there is no tray icon displayed in the notification area
- Cause: Newer versions of GNOME desktop do not support legacy tray icons by default.
- Fix: Install the "AppIndicator and KStatusNotifierItem Support" extension
- Symptoms: with a RPi 0/1/2/3, displaying a full background image takes ~30s instead of ~2s
- Cause: USB support on Raspberry Pi models that use BCM2835/6/7 differs from the level of support found on PC hardware. On these machines the USB bus speed should be forced to USB1.1 because smart screens usually embed a USB1.1 controller.
-
Fix: Add a new line
dwc_otg.speed=1to the/boot/cmdline.txttext file and reboot. - Limitations: Ethernet will be much slower with this option enabled (~7 Mbit/s)
- Symptoms: after the value has been refreshed, if the size of the displayed string has changed, part of the previous value is still displayed
- Cause: for System Monitor custom sensors or when using this project in your own code, when displaying a new value, the old one is not erased before. If your new value is shorter in size than the previous one, then it will not completely erase it.
-
Fix: There are several ways to fix this issue:
** use a monospaced font: this should work for all the default sensors, but you may stil see ghosting on date/time or customs sensors
** define a fixed
WIDTHin the theme for the sensor. TheWIDTHin pixels must be enough to cover the maximum number of characters for the sensor e.g. for CPU percentage the WIDTH must be enough for 4 characters:100%. When in doubt, the bigger the width the better (but be careful not to cover other sensors). This fix works for all the sensors and all the fonts but needs more work. With a fixed width, you can also play with anchors to control the position of your text e.g.ANCHOR: mmtext is centered horizontally & vertically in the middle of the field.
-
Symptoms: when starting System Monitor program at boot using systemd service file from https://github.com/mathoudebine/turing-smart-screen-python/blob/main/tools/turing-smart-screen-python.service the program does not start and the following error appears in the
log.logfile:
Started Turing Smart Screen.
python3[10610]: Traceback (most recent call last):
python3[10610]: File "/home/user/Downloads/turing-smart-screen-python/main.py", line 63, in <module>
python3[10610]: from library.log import logger
python3[10610]: File "/home/user/Downloads/turing-smart-screen-python/library/log.py", line 30, in <module>
python3[10610]: RotatingFileHandler("log.log", maxBytes=1000000, backupCount=0), # Log in textfile max 1MB
python3[10610]: File "/usr/lib/python3.10/logging/handlers.py", line 155, in __init__
python3[10610]: BaseRotatingHandler.__init__(self, filename, mode, encoding=encoding,
python3[10610]: File "/usr/lib/python3.10/logging/handlers.py", line 58, in __init__
python3[10610]: logging.FileHandler.__init__(self, filename, mode=mode,
python3[10610]: File "/usr/lib/python3.10/logging/__init__.py", line 1169, in __init__
python3[10610]: StreamHandler.__init__(self, self._open())
python3[10610]: File "/usr/lib/python3.10/logging/__init__.py", line 1201, in _open
python3[10610]: return open_func(self.baseFilename, self.mode,
python3[10610]: OSError: [Errno 30] Read-only file system: '/home/user/Downloads/turing-smart-screen-python/log.log'
systemd[1]: turing-smart-screen-python.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: turing-smart-screen-python.service: Failed with result 'exit-code'.
systemd[1]: turing-smart-screen-python.service: Scheduled restart job, restart counter is at 1.
systemd[1]: Stopped Turing Smart Screen.
-
Cause: the service file provided comes with additional securities
ProtectSystem=fullandProtectHome=read-onlythat forbid System Monitor program to access sensitive system/user data. If you are running the program for your home directory or a restricted system directory, it will not be able to run properly. -
Fix: move the program directory to
/opt/, or disable security options from the systemd service file

-
Symptoms: when starting System Monitor, a Riot Vanguard pop-up shows up warning about the file
inpoutx64.sysblocked from loading -
Cause: The file
inpoutx64.sysis not related to System Monitor. It is an old driver that is vulnerable and can be used insecurely, that's why it is blacklisted by Vanguard. It is installed on your computer by some software like Asus OCT, Gigabyte, OpenRGB, Logitech GHub... it is used for fan speeds or RGB leds on some hardware. Once it has been installed on your system, LibreHardwareMonitor library will try to use it to access some hardware sensors, and it will get blocked by Vanguard. -
Fix: It is NOT recommended to delete the file
inpoutx64.sysbecause it may still be used by some other software, it could create blue screens. You can try to delete these 2 registry keys (please make a backup first):
- Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\inpoutx64
- Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\inpoutx64 If it still does not work after a reboot, then you need to select "Python libraries" as "Hardware monitoring" instead of "LibreHardwareMonitor", but it has less hardware sensors.
Some users reported that the Windows packages published for releases are flagged by their anti-virus solution like Avast or NOD32.

Anti-virus software now use heuristic filters to try to detect new threats that have not yet been identified. Windows packages can trigger the anti-virus heuristic filters for the following reasons:
- Python code packaged as an executable: could disguise some malicious code as a legitimate program
- DLL loading as administrator: could load external malicious code, or infect critical system components
Of course it is not possible to know precisely why these packages are flagged by anti-virus software. The heuristic filters are kept secret to prevent them from being bypassed by harmful programs.
This project is open-source, you can review the code from the main page using Github browser: https://github.com/mathoudebine/turing-smart-screen-python No security concerns have been reported so far despite the daily activity.
The Windows packages for releases are generated using Github Actions platform on cloud containers from Github. No manual intervention is made, and the files never leave the secured container environment.
The Github actions to generate the packages are available here: https://github.com/mathoudebine/turing-smart-screen-python/blob/main/.github/workflows/generate-windows-packages.yml and https://github.com/mathoudebine/turing-smart-screen-python/blob/main/.github/workflows/generate-windows-packages-debug.yml
Based on this, it is up to you to decide if you trust this project, and add an exception for the installer in your anti-virus settings.
If you still don't trust Windows packages for releases, just download the source code instead:

Then follow the manual installation procedure. You will need to install Python manually and run some commands from a terminal.