-
-
Notifications
You must be signed in to change notification settings - Fork 210
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.log
file 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/LibreHardwareMonitor
folder of this project, then for each of the two.dll
files 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-File
If 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.exe
from 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.exe
instead, or disablepython.exe
&python3.exe
App 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
pyamdgpuinfo
library 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-devel
andlibdrm-dev
/libdrm-devel
, then installCython
andpyamdgpuinfo
manually with Pip:
python3 -m pip install Cython
python3 -m pip install pyamdgpuinfo
-
Symptoms: Error message
[ERROR] Tkinter dependency not installed.
displayed when runningconfigure.py
or 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/tk
option 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
tk
andpython-pillow
packages 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=1
to the/boot/cmdline.txt
text 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: you need to define a default size for your string, so that extra empty characters are added to always erase the previous value. See https://github.com/mathoudebine/turing-smart-screen-python/discussions/110
-
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.log
file:
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=full
andProtectHome=read-only
that 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.sys
blocked from loading -
Cause: The file
inpoutx64.sys
is 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.sys
because 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.