Of course, you did the hard work, so the least I can do is a little testing :-)
TL;DR everything works fine from the latest trunk, very nice!
Here's a little more detail about the tests:
On my Raspberry Pi 5 8 GB, I build and run the pidp8i software inside a docker container, which is hosted in Ubuntu 24.04 on the Pi.
The docker container builds FROM debian:bookworm-slim
My observations are that the missing GPIO is now correctly reported by scanswitch, and the simulator starts and runs perfectly fine:
$ fossil status
repository: /home/pidp8i/pidp8i.fossil
local-root: /home/pidp8i/pidp8i/
config-db: /home/pidp8i/.fossil
checkout: 3fee766e684162e3ef4d62b8e9b38b9710b44b93 2024-12-27 02:39:51 UTC
parent: 6841cab34a20787ae79899c9c9068831d2168f1c 2024-12-19 22:38:30 UTC
tags: trunk
comment: Fix arguments to and error reporting from map_gpio_for_pidp8i (user: poetnerd)
----
PiDP-8/I trunk:id[6841cab34a] - OS/8 V3D - KBM V3Q - CCL V1F
Configured by pidp8i@buildkitsandbox on 2024.12.21 at 21:08:50 UTC
>> Inside the docker container: <<
pidp8i@6166707661e3:/opt/pidp8i/libexec$ ./scanswitch
No GPIO chips found
Failed to map the GPIO SoC peripheral into our VM space.
pidp8i@6166707661e3:/opt/pidp8i/libexec$ echo $?
127
FWIW I have also tested the latest trunk on a Raspberry Pi 4 running "native" Raspbian OS ("bookworm"), and it also works fine as expected without the panel.
So I do believe your solution is working fine in the configurations I use, thank you very much for your help, and I wish you the best during the holidays!
Greetings,
Mogens