Excellent work! A couple of things:
I would use illumos (or even sunos) rather than openindiana as the directory name - it's generic across all distros. I needed (on Tribblix) gmake PLATFORM=SunOS ADDFLAGS=-m64 On Solaris x86 it's a little trickier. The native find is different - needs gnu, it finds the Studio toolchain by default, getconf doesn't recognize NPROCESSORS_ONLN so it falls back to serial make. On Solaris, -static-libstdc++ doesn't work because there is no static libstdc++ at all. And a code issue: src/openindiana/btop_collect.cpp:68:31: error: ‘namespace fs = std::std::filesystem;’ redeclared as different kind of entity 68 | namespace fs = std::filesystem; Indeed, fs is declared somewhere else (sys/buf.h in this case). But rename that to something different and it compiles with env PATH=/usr/gnu/bin:$PATH gmake PLATFORM=SunOS CXX=g++ ADDFLAGS=-fpermissive On Solaris SPARC it builds with the above changes, but the cpu panel is all blank when I run it. On Sun, Sep 20, 2026 at 8:45 PM Alex Gorouvein <[email protected]> wrote: > > Hi all, > > Following up on my XFCE 4.20 build thread from a while back — I've since > ported btop (the resource monitor, https://github.com/aristocratos/btop) to > illumos/OpenIndiana. There was no illumos backend before this, so it's a > new src/openindiana/btop_collect.cpp built from the FreeBSD backend as a > starting template. > > What's working: > - CPU stats and load averages via kstat (cpu_stat) > - Memory, including ZFS ARC accounting, via kstat + native swapctl(2) > - Filesystem/disk enumeration via getmntent(3C), disk I/O via kstat_io_t > - Network throughput via kstat (module "link", class "net") > - Full process list via /proc/<pid>/psinfo enumeration (no kvm_* calls) > > Known limitations, documented upfront in the PR: > - ZFS disk I/O isn't attributable per-dataset; it's all aggregated to the > root mountpoint > - Process command lines truncate around 80 characters (illumos's PRARGSZ > limit on psinfo_t) > - CPU temperature, frequency, and battery reporting are stubbed, not > implemented > > PR is here: https://github.com/aristocratos/btop/pull/1845 — 41/41 CI > checks passing, currently awaiting review/merge upstream. Development and > testing so far has been in a VirtualBox VM (OpenIndiana Hipster 2026.04, > GCC 14.3.0); I'm now working on a bare-metal test on an old Acer Aspire V5 > laptop to shake out anything a VM wouldn't surface. > > If anyone wants to try it before it's merged, you can build the branch > directly: > > git clone https://github.com/agorouvein-rgb/btop.git > cd btop > git checkout openindiana-support > make PLATFORM=SunOS > sudo make install > > (Needs an illumos-family OS with GCC 14+ and C++23 support.) > > Would appreciate any testing, feedback, or review — especially on > hardware/configurations different from mine. Happy to answer questions > about the port itself too. > > Thanks, > Alex > _______________________________________________ > openindiana-discuss mailing list > [email protected] > https://openindiana.org/mailman/listinfo/openindiana-discuss -- -Peter Tribble https://www.petertribble.co.uk/ - https://ptribble.blogspot.com/ _______________________________________________ openindiana-discuss mailing list [email protected] https://openindiana.org/mailman/listinfo/openindiana-discuss
