debian, fedora and C

This commit is contained in:
2026-03-18 18:29:20 +01:00
parent 5019b3bb64
commit 1b3a3f32a1

View File

@@ -16,6 +16,7 @@ Same as plugins. Just write in more features scrub, learn some C++, damn
- In the LCDDisplay lib, reimplement all the features I have in picoSmartie + maybe finally add keypad support for both so I can toggle backlight (?) or change screens if I want any
- Screens could be automatic tbh, like if it detects media playing it switches to media screen, if in media screen and GPU power > 80W it switches to main (hwmon) screen
- Try to be C++26, avoid globals, wrap in namespaces, use naming conventions, use classes, avoid pure C way of doing things unless it makes more sense (which it often does tbh, better for reading small files)
- **HUGE REWRITE FROM SCRATCH IN C LIKE GOD ALWAYS INTENDED**
## LCD layout
It looks something like this
@@ -59,9 +60,20 @@ Text04="$dll(hwinfo,1,Vcore,3)V $Right($dll(hwinfo,1,Average Effective Clock,a)M
- CPU cache/iod, likely impossible, zenpower doesnt show it
- GPU clock limit, probably impossible, gpu_metrics doesnt show it?
### Shit needed to compile on Debian 13
```bash
sudo apt install build-essential cmake libwebsockets-dev nlohmann-json3-dev
make configure
make build
```
Might set up a distrobox container, with distrobox-assemble
### Additional notes
- To read motherboard sensors on ASUS ROG STRIX B550-A GAMING, as of Linux 6.16 you need to booth with kernel parameter of `acpi_enforce_resources=lax`. On Fedora it can be added by appending it to `/etc/kernel/cmdline`.
- To read motherboard sensors on ASUS ROG STRIX B550-A GAMING, as of Linux 6.16 you need to boot with kernel parameter of `acpi_enforce_resources=lax` and load the `nct6775` module.
- On Fedora it can be added by appending it to `/etc/kernel/cmdline`.
- On atomic desktops, `rpm-ostree kargs --append-if-missing=acpi_enforce_resources=lax`
- You need to be able to read RAPL as user. Create in `/etc/tmpfiles.d/intelrapl.conf` with content `z- /sys/class/powercap/intel-rapl:0/energy_uj 0440 root uucp - -`. Adjust uucp to whatever group applicable, like `dialout`.
- `compile_commands.json` is so clang understands this project, so we can edit it with helix/neovim. Generated with `bear -- make`, make sure to run `make clean` beforehand.