Skip to content

Troubleshooting

Matthieu Houdebine edited this page Jan 29, 2024 · 31 revisions

[All OS] System monitor does not start: smart screen stay blank

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

[All OS] My CPU/GPU/other hardware is not displayed / some data are missing

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.

[Linux] Cannot open serial port: permission error

  • 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 is sudo usermod -a -G dialout $USER
    On ArchLinux the group is uucp, the command is sudo usermod -a -G uucp $USER

[Windows] Cannot load LibreHardwareMonitor.dll: loadFromRemoteSources

  • 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.

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>  

[Windows] Running python.exe opens the Microsoft Store

  • 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 disable python.exe & python3.exe App Execution Aliases : Windows 10 or Windows 11

[Linux / MacOS] "No supported GPU found" with an AMD GPU and Python > 3.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 and libdrm-dev/libdrm-devel, then install Cython and pyamdgpuinfo manually with Pip:
python3 -m pip install Cython
python3 -m pip install pyamdgpuinfo

[All OS] Tkinter dependency not installed

  • Symptoms: Error message [ERROR] Tkinter dependency not installed. displayed when running configure.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:
      image
    • 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 and python-pillow packages with pacman
    • For other OS: search the web for install python3 tkinter for (your OS)

[Linux] No tray icon in GNOME desktop environment

[Raspberry Pi Zero / 1 / 2 / 3] Display refresh is too slow

[All platforms] Part of old value still displayed after refresh ("ghosting")

  • 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

[Linux] OSError: [Errno 30] Read-only file system

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 and ProtectHome=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

[Windows] Riot Vanguard blocks the program inpoutx64.sys

219655589-9d4c37e5-102b-4661-a230-6e5120a3f9d7

  • 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.