[OpenIndiana-discuss] btop illumos/OpenIndiana port — PR up, looking for testers

Peter Tribble peter.tribble at gmail.com
Mon Sep 21 11:48:00 UTC 2026


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 <agorouvein at gmail.com> 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
> openindiana-discuss at openindiana.org
> https://openindiana.org/mailman/listinfo/openindiana-discuss



-- 
-Peter Tribble
https://www.petertribble.co.uk/ - https://ptribble.blogspot.com/



More information about the openindiana-discuss mailing list