Skip to content

[BUG] Error downloading themes #85

@ux370

Description

@ux370

Description

After fresh install, issuing the command trcc download themes-320 result in python error: AttributeError: 'NoneType' object has no attribute 'user_data_dir'

Steps to reproduce

  1. trcc download themes-320
  2. See error

Expected behavior

Themes are downloaded.

Actual behavior

Probably user_data_dir should be defined somewhere at install?

Note: Hidapi is actually installed via apt install python3-hidapi

Diagnostic report

Run trcc report and paste the output:

trcc report output
user@ubuntu:~/Code/github.com/thermalright-trcc-linux$ trcc report

────────────────────────────────────────────────────────────
Version
────────────────────────────────────────────────────────────
  trcc-linux:  9.0.9
  Python:      3.12.3
  Installed:   pip
  Distro:      Ubuntu 24.04.4 LTS
  OS:          Linux-6.17.0-19-generic-x86_64-with-glibc2.39
  Kernel:      6.17.0-19-generic

────────────────────────────────────────────────────────────
lsusb (filtered)
────────────────────────────────────────────────────────────
  Bus 001 Device 003: ID 87ad:70db ChiZhu Tech USBDISPLAY

────────────────────────────────────────────────────────────
udev rules (/etc/udev/rules.d/99-trcc-lcd.rules)
────────────────────────────────────────────────────────────
  SUBSYSTEM=="scsi_generic", ATTRS{idVendor}=="0402", ATTRS{idProduct}=="3922", MODE="0666"
  SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5302", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="5302", MODE="0666"
  SUBSYSTEM=="scsi_generic", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5406", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="5408", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="5409", MODE="0666"
  SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="8001", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="8001", MODE="0666"
  SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0418", ATTRS{idProduct}=="5303", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="0418", ATTR{idProduct}=="5303", MODE="0666"
  SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0418", ATTRS{idProduct}=="5304", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="0418", ATTR{idProduct}=="5304", MODE="0666"
  SUBSYSTEM=="usb", ATTR{idVendor}=="87ad", ATTR{idProduct}=="70db", MODE="0666"
  SUBSYSTEM=="scsi_generic", ATTRS{idVendor}=="87cd", ATTRS{idProduct}=="70db", MODE="0666"

────────────────────────────────────────────────────────────
SELinux
────────────────────────────────────────────────────────────
  not installed

────────────────────────────────────────────────────────────
RAPL power sensors
────────────────────────────────────────────────────────────
  intel-rapl:0: mode=444  readable
  intel-rapl:0:0: mode=444  readable

────────────────────────────────────────────────────────────
Dependencies
────────────────────────────────────────────────────────────
  PySide6: 6.10.2
  pyusb: 1.3.1
  hidapi: not installed

────────────────────────────────────────────────────────────
Detected devices
────────────────────────────────────────────────────────────
  [1] 87ad:70db  GrandVision 360 AIO  (BULK)  path=/dev/sda

────────────────────────────────────────────────────────────
Device permissions
────────────────────────────────────────────────────────────
  /dev/sg0: mode=660  NO ACCESS
  /dev/sg1: mode=660  NO ACCESS

────────────────────────────────────────────────────────────
Handshakes
────────────────────────────────────────────────────────────

  87ad:70db — Bulk
    PM=100, resolution=(320, 320), serial=
    raw[0:64]=123456785350495343524d2d563200000000000070d7319520000000200000000100000001000000000000000100000000000000000000000100000000000000
    (from cache — device in use by trcc gui)

────────────────────────────────────────────────────────────
Process usage
────────────────────────────────────────────────────────────
  PID    %CPU  %MEM   RSS(MB)  CMD
  806205    2.9   0.2      220  trcc
  807333   10.4   0.0       29  trcc

────────────────────────────────────────────────────────────
Config
────────────────────────────────────────────────────────────
  path: /home/user/.trcc/config.json
  devices: 1 configured

────────────────────────────────────────────────────────────
Recent log (last 50 lines)
────────────────────────────────────────────────────────────
  2026-03-23 09:07:33 [DEBUG] trcc.adapters.device.detector: Sysfs USB scan found 1 known device(s)
  2026-03-23 09:07:33 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg0/device — skipping device
  2026-03-23 09:07:33 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg1/device — skipping device
  2026-03-23 09:07:33 [INFO] trcc.adapters.device.detector: sg module not loaded — using block device /dev/sda
  2026-03-23 09:07:33 [DEBUG] trcc.adapters.device.detector: Mapped 87AD:70DB → /dev/sda
  2026-03-23 09:07:33 [INFO] trcc.adapters.device.detector: Detected 1 device(s): ChiZhu Tech GrandVision 360 AIO [bulk]
  2026-03-23 09:07:33 [DEBUG] trcc.adapters.device._usb_helpers: Device already configured, skipping set_configuration()
  2026-03-23 09:07:33 [WARNING] trcc.adapters.device._usb_helpers: claim_interface() EBUSY — resetting device and retrying
  2026-03-23 09:07:33 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:33 [WARNING] trcc.adapters.device.factory: Bulk 87AD:70DB in use by another process
  2026-03-23 09:07:34 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:35 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:36 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:37 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:38 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:40 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:41 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:43 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:43 [DEBUG] trcc.adapters.device.detector: Starting device detection...
  2026-03-23 09:07:43 [DEBUG] trcc.adapters.device.detector: Found known device via sysfs: 87AD:70DB ChiZhu Tech (bulk)
  2026-03-23 09:07:43 [DEBUG] trcc.adapters.device.detector: Sysfs USB scan found 1 known device(s)
  2026-03-23 09:07:43 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg0/device — skipping device
  2026-03-23 09:07:43 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg1/device — skipping device
  2026-03-23 09:07:43 [INFO] trcc.adapters.device.detector: sg module not loaded — using block device /dev/sda
  2026-03-23 09:07:43 [DEBUG] trcc.adapters.device.detector: Mapped 87AD:70DB → /dev/sda
  2026-03-23 09:07:43 [INFO] trcc.adapters.device.detector: Detected 1 device(s): ChiZhu Tech GrandVision 360 AIO [bulk]
  2026-03-23 09:07:44 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:47 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:52 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:54 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:07:58 [DEBUG] trcc.adapters.device.detector: Starting device detection...
  2026-03-23 09:07:58 [DEBUG] trcc.adapters.device.detector: Found known device via sysfs: 87AD:70DB ChiZhu Tech (bulk)
  2026-03-23 09:07:58 [DEBUG] trcc.adapters.device.detector: Sysfs USB scan found 1 known device(s)
  2026-03-23 09:07:58 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg0/device — skipping device
  2026-03-23 09:07:58 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg1/device — skipping device
  2026-03-23 09:07:58 [INFO] trcc.adapters.device.detector: sg module not loaded — using block device /dev/sda
  2026-03-23 09:07:58 [DEBUG] trcc.adapters.device.detector: Mapped 87AD:70DB → /dev/sda
  2026-03-23 09:07:58 [INFO] trcc.adapters.device.detector: Detected 1 device(s): ChiZhu Tech GrandVision 360 AIO [bulk]
  2026-03-23 09:08:02 [DEBUG] trcc.adapters.device.detector: Starting device detection...
  2026-03-23 09:08:02 [DEBUG] trcc.adapters.device.detector: Found known device via sysfs: 87AD:70DB ChiZhu Tech (bulk)
  2026-03-23 09:08:02 [DEBUG] trcc.adapters.device.detector: Sysfs USB scan found 1 known device(s)
  2026-03-23 09:08:02 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg0/device — skipping device
  2026-03-23 09:08:02 [WARNING] trcc.adapters.device.detector: sysfs VID/PID walk failed for /sys/class/scsi_generic/sg1/device — skipping device
  2026-03-23 09:08:02 [INFO] trcc.adapters.device.detector: sg module not loaded — using block device /dev/sda
  2026-03-23 09:08:02 [DEBUG] trcc.adapters.device.detector: Mapped 87AD:70DB → /dev/sda
  2026-03-23 09:08:02 [INFO] trcc.adapters.device.detector: Detected 1 device(s): ChiZhu Tech GrandVision 360 AIO [bulk]
  2026-03-23 09:08:02 [DEBUG] trcc.adapters.device._usb_helpers: Device already configured, skipping set_configuration()
  2026-03-23 09:08:02 [WARNING] trcc.adapters.device._usb_helpers: claim_interface() EBUSY — resetting device and retrying
  2026-03-23 09:08:03 [DEBUG] trcc.adapters.device.bulk: Bulk frame sent: 320x320, cmd=3, 204800 bytes
  2026-03-23 09:08:03 [WARNING] trcc.adapters.device.factory: Bulk 87AD:70DB in use by another process

============================================================

  TRCC Doctor — Ubuntu 24.04.4 LTS

  [OK]  Python 3.12.3

  [OK]  PySide6 6.10.2
  [OK]  Pillow 10.2.0
  [OK]  numpy 2.4.3
  [OK]  psutil 7.2.2
  [OK]  pyusb 1.3.1
  [--]  hidapi not installed (optional)

  [--]  NVIDIA GPU detected — pip install nvidia-ml-py (enables GPU temp/usage/clock)

  [OK]  libusb-1.0
  [OK]  libxcb-cursor

  [OK]  sg_raw
  [OK]  7z
  [OK]  ffmpeg

  [OK]  udev rules (/etc/udev/rules.d/99-trcc-lcd.rules)

  [OK]  RAPL power sensors (2 domain(s))

  [OK]  polkit policy installed

  All required dependencies OK.

Copy everything above and paste it into your GitHub issue:
  https://github.com/Lexonight1/thermalright-trcc-linux/issues/new

Logs / tracebacks

Terminal output
user@ubuntu:~/Code/github.com/thermalright-trcc-linux$ trcc download themes-320
Error: 'NoneType' object has no attribute 'user_data_dir'
Traceback (most recent call last):
  File "/home/user/Code/github.com/thermalright-trcc-linux/src/trcc/cli/_system.py", line 325, in download_themes
    return download_pack(pack, force=force)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/Code/github.com/thermalright-trcc-linux/src/trcc/adapters/infra/theme_downloader.py", line 210, in download_pack
    pack_name = _resolve_pack_name(pack_name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/Code/github.com/thermalright-trcc-linux/src/trcc/adapters/infra/theme_downloader.py", line 114, in _resolve_pack_name
    return _get_aliases().get(name, name)
           ^^^^^^^^^^^^^^
  File "/home/user/Code/github.com/thermalright-trcc-linux/src/trcc/adapters/infra/theme_downloader.py", line 108, in _get_aliases
    _get_registry()  # ensures both are built
    ^^^^^^^^^^^^^^^
  File "/home/user/Code/github.com/thermalright-trcc-linux/src/trcc/adapters/infra/theme_downloader.py", line 101, in _get_registry
    _THEME_REGISTRY = _build_registry()
                      ^^^^^^^^^^^^^^^^^
  File "/home/user/Code/github.com/thermalright-trcc-linux/src/trcc/adapters/infra/theme_downloader.py", line 71, in _build_registry
    archive_path = os.path.join(str(_conf.settings.user_data_dir), archive)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'user_data_dir'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions