Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: disable wifi (iw scan kills FPS), restore logind for systemctl

- WiFi scan via system("iw scan") every ~4s caused system-wide stalls
dropping FPS from 60 to 27. Disable wifi_init entirely until scan
can be made non-blocking.
- Re-enable logind (masking it broke systemctl/dbus for shutdown).
Keep all button handlers set to "ignore" so logind doesn't
interfere with ac-native's evdev reads.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+11 -18
+5 -5
fedac/native/src/ac-native.c
··· 2286 2286 if (!wifi_disabled) { 2287 2287 if (!headless && display) 2288 2288 draw_boot_status(&graph, screen, display, "starting wifi...", pixel_scale); 2289 - wifi = wifi_init(); 2290 - // Auto-connect only if saved credentials exist (skip scan loop on fresh boot) 2291 - if (wifi && access("/mnt/wifi_creds.json", F_OK) == 0) { 2292 - wifi_autoconnect(wifi); 2293 - } 2289 + // WiFi disabled for now — iw scan causes system-wide stalls 2290 + // that drop FPS from 60 to ~27. Re-enable once scan is 2291 + // moved to a non-blocking path or user explicitly requests it. 2292 + // wifi = wifi_init(); 2293 + wifi = NULL; 2294 2294 } else { 2295 2295 if (!headless && display) 2296 2296 draw_boot_status(&graph, screen, display, "wifi disabled", pixel_scale);
+6 -13
fedac/nixos/configuration.nix
··· 29 29 services.openssh.enable = false; 30 30 security.polkit.enable = true; 31 31 32 - # Mask logind — it grabs keyboard/power evdev events that ac-native 33 - # needs to read directly via EVIOCGRAB. No session management needed 34 - # on a single-purpose kiosk. 35 - systemd.services.systemd-logind.enable = false; 36 - systemd.services.systemd-logind.wantedBy = lib.mkForce []; 37 - environment.etc."systemd/logind.conf".text = lib.mkForce '' 38 - [Login] 39 - NAutoVTs=0 40 - HandlePowerKey=ignore 41 - HandleSuspendKey=ignore 42 - HandleHibernateKey=ignore 43 - HandleLidSwitch=ignore 44 - ''; 32 + # logind: ignore all hardware buttons (ac-native handles power via evdev). 33 + # Keep logind running — systemctl needs dbus which needs logind. 34 + services.logind.lidSwitch = "ignore"; 35 + services.logind.powerKey = "ignore"; 36 + services.logind.suspendKey = "ignore"; 37 + services.logind.hibernateKey = "ignore"; 45 38 46 39 # Networking (WiFi managed by ac-native, not NetworkManager) 47 40 networking = {