Source: lenovolegionlinux
Section: utils
Priority: optional
Maintainer: Thomas Goirand <zigo@debian.org>,
Build-Depends:
 debhelper-compat (= 11),
 dh-python,
 dh-sequence-dkms,
 libinih-dev (>= 58),
 lm-sensors,
 mokutil,
 openssl,
 openstack-pkg-tools,
 python3-all,
 python3-setuptools,
Rules-Requires-Root: no
Standards-Version: 4.6.2
Homepage: https://github.com/johnfanv2/LenovoLegionLinux
Vcs-Browser: https://salsa.debian.org/debian/lenovolegionlinux
Vcs-Git: https://salsa.debian.org/debian/lenovolegionlinux.git
Testsuite: autopkgtest-pkg-dkms

Package: python3-legion-linux
Architecture: all
Depends:
 python3-argcomplete,
 python3-pyqt6,
 python3-yaml,
 ${misc:Depends},
 ${python3:Depends},
Description: CLI and GUI for Lenovo Legion laptops fan and power control
 This package provides a command line interface and a graphical user interface
 for controlling many power and fan behavior for Lenovo Legion Laptops. It is
 implemented in Python.
 .
 This package also sets fan curve on startup for Lenovo Legion laptops, and
 apply different profiles if the battery charge is plugged or not.

Package: legiond
Architecture: amd64
Depends:
 lenovolegionlinux-dkms,
 python3-legion-linux,
 ${misc:Depends},
 ${shlibs:Depends},
Description: daemon for Lenovo Legion laptops
 Lenovo Legion Linux Daemon for setting fan curve on resume, or through a
 socket. It takes advantage of the legion_laptop kernel module provided by
 the lenovolegionlinux-dkms package, and perform on-resume operations.

Package: lenovolegionlinux-dkms
Section: kernel
Architecture: amd64
Depends:
 ${misc:Depends},
Description: DKMS kernel module for Lenovo Legion laptops
 This package provides DKMS kernel modules for Lenovo Legion laptops.
 .
 This driver exports the files /sys/kernel/debug/legion/fancurve (ro): the fan
 curve stored in the firmware in the form of a human readable table.
 /sys/module/legion_laptop/drivers/platform\:legion/PNP0C09\:00/powermode (rw)
  - 0: balanced mode (white)
  - 1: performance mode (red)
  - 2: quiet mode (blue)
  - ?: custom mode (pink)
 .
 It implements the usual hwmon interface to monitor fan speed and temmperature
 and allows one to set the fan curve inside the firware.
 .
 - /sys/class/hwmon/X/fan1_input or /sys/class/hwmon/X/fan2_input (ro)
   Current fan speed of fan1/fan2.
 - /sys/class/hwmon/X/temp{1,2,3}_input (ro): temperature (Celsius) of CPU,
 GPU, and IC used for fan control.
 - /sys/class/hwmon/X/pwmY_auto_pointZ_pwm (rw) PWM (0-255) of the fan at the
 Y-level in the fan curve.
 - /sys/class/hwmon/X/pwmY_auto_pointZ_temp (rw) upper temperature of tempZ
 (CPU, GPU, or IC) at the Y-level in the fan curve.
 - /sys/class/hwmon/X/pwmY_auto_pointZ_temp_hyst (rw) hysteris (CPU, GPU, or
 IC) at the Y-level in the fan curve. The lower temperatue of the level is the
 upper temperature minus the hysteris.

Package: lenovolegionlinux-sound
Architecture: amd64
Depends:
 ${misc:Depends},
Description: script to initialize TI speaker at boot
 This package provides a script to initialize TI (Texas Instrument) speakers
 firmware of some Legion Lenovo laptops. For it to work, one needs to first
 download TI's firmware and install it as /lib/firmware/TAS2XXX38*.bin, as the
 kernel module needs it. Also, in Debian systems, only Linux kernel >= 6.10
 contain the necessary kernel module for these speakers.
 .
 Note that I wrote this script for my own laptop, a Legion 7 Pro 82WS. The
 initialization script may differ if using a different model.
