prtconf(8) on Solnix vs Linux and the BSDs
prtconf is the illumos command at /usr/sbin/prtconf. It prints total memory and the system's device tree, with options for drivers, PCI IDs and firmware properties. No counterpart has the same name: Linux lshw/lspci, FreeBSD devinfo/pciconf, OpenBSD pcidump and NetBSD drvctl each cover only part of it.
The manual pages
- Solnix: prtconf(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: lshw(1) lshw-02.20 (different command, similar job)
- Linux: lspci(8) pciutils-3.15.0 (different command, similar job)
- FreeBSD: devinfo(8) 15.1-RELEASE (different command, similar job)
- FreeBSD: pciconf(8) 15.1-RELEASE (different command, similar job)
- OpenBSD: pcidump(8) 8.0 (different command, similar job)
- NetBSD: drvctl(8) 11.0 (different command, similar job)
What Solnix runs
A default Solnix system runs the illumos prtconf at /usr/sbin/prtconf. No other variants are shipped. Interface Stability is Unstable, so do not parse the output in scripts.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| all four | scope: one device tree plus memory | prtconf prints total memory and the device tree of all system peripherals in one command. Each counterpart covers a narrower area: lshw is hardware inventory, lspci, pciconf and pcidump are PCI only, devinfo and drvctl are device-tree tools. Source: Solnix prtconf(8) DESCRIPTION; Linux lshw(1), lspci(8) DESCRIPTION; FreeBSD devinfo(8), pciconf(8) DESCRIPTION; OpenBSD pcidump(8) DESCRIPTION; NetBSD drvctl(8) DESCRIPTION |
| FreeBSD | -v meaning | Solnix prtconf -v only selects verbose mode. FreeBSD devinfo -v also lists every device in the driver tree, not just attached or busy ones. FreeBSD pciconf -v is a modifier of -l or -t.Source: Solnix prtconf(8) -v; FreeBSD devinfo(8) -v; FreeBSD pciconf(8) SYNOPSIS |
| Linux, FreeBSD, OpenBSD | -x meaning | Solnix prtconf -x is a legacy flag. It reports nothing useful, always returns zero, overrides all other flags and must be used alone. On Linux lspci, FreeBSD pciconf and OpenBSD pcidump, -x gives a hex dump of PCI config space.Source: Solnix prtconf(8) -x; Linux lspci(8) -x; OpenBSD pcidump(8) -x; FreeBSD pciconf(8) SYNOPSIS |
| Linux, FreeBSD, OpenBSD | -d, -D and -P meaning | Solnix -d adds PCI vendor and device IDs, -D shows driver names and -P includes pseudo devices. On Linux lspci -D shows PCI domain numbers and -P shows bridge paths. On OpenBSD pcidump, -d names a lookup file. FreeBSD pciconf -D dumps a BAR.Source: Solnix prtconf(8) -d, -D, -P; Linux lspci(8) -D, -P; OpenBSD pcidump(8) -d; FreeBSD pciconf(8) SYNOPSIS (-D) |
| Linux, FreeBSD, OpenBSD | -p and -b meaning | On Solnix, -p shows the firmware (PROM) or boot-time device tree snapshot and -b shows firmware root properties. On FreeBSD devinfo, -p dev shows the path to the root. On Linux lspci, -b is a bus-centric view.Source: Solnix prtconf(8) -p, -b; FreeBSD devinfo(8) -p; Linux lspci(8) -b |
| all four | driver name per device | Solnix prtconf -D prints the driver managing each device. Linux lspci uses -k for kernel drivers. FreeBSD pciconf -l shows the driver name and unit in its first column, or none. The other pages in the bundle do not show an equivalent option.Source: Solnix prtconf(8) -D; Linux lspci(8) -k; FreeBSD pciconf(8) List Mode |
| all four | device path argument | Solnix prtconf takes a device path operand (minor node, nexus node or device link). It limits output to that node. -a adds ancestors and -c the subtree. Counterparts take PCI selectors (Linux -s, FreeBSD pciconf, OpenBSD pcidump bus:dev:func) or device names (NetBSD drvctl).Source: Solnix prtconf(8) OPERANDS, -a, -c; Linux lspci(8) -s; FreeBSD pciconf(8) DESCRIPTION; OpenBSD pcidump(8) SYNOPSIS; NetBSD drvctl(8) SYNOPSIS |
| FreeBSD, NetBSD | read-only vs device control | prtconf only reports. NetBSD drvctl can rescan busses (-r), detach drivers (-d) and suspend or resume devices (-S, -R, -Q). FreeBSD pciconf can write PCI config registers (-w). The Solnix page documents no such options.Source: Solnix prtconf(8) OPTIONS; NetBSD drvctl(8) -r, -d, -S, -R, -Q; FreeBSD pciconf(8) SYNOPSIS (-w) |
| Linux, NetBSD | machine-readable output | The Solnix page describes no structured output format and rates the interface Unstable. Linux lshw has -xml, -json and -html. Linux lspci -m and -mm are for scripts. NetBSD drvctl -p prints an XML property list.Source: Solnix prtconf(8) ATTRIBUTES; Linux lshw(1) -xml, -json; Linux lspci(8) -m, -mm; NetBSD drvctl(8) -p |
| all four | special single-purpose flags and exit status | Solnix has flags that must be used alone: -F (console frame buffer path, non-zero exit if none), -m (memory in megabytes) and -V (PROM or boot version string). Only -F gives a meaningful non-zero exit. No counterpart page documents equivalents.Source: Solnix prtconf(8) -F, -m, -V, EXIT STATUS |
| Linux | privileges | Linux lshw reports only partial information unless run as super user. The Solnix page does not state a privilege requirement. Source: Linux lshw(1) NOTES; Solnix prtconf(8) |
Everyday tasks
| Task | Solnix | Linux | FreeBSD | OpenBSD | NetBSD |
|---|---|---|---|---|---|
| print system device tree | prtconf | lshw -short | devinfo | — | drvctl -l -t |
| verbose device info | prtconf -v | lshw | devinfo -v | pcidump -v | drvctl -p device |
| list PCI devices with vendor and device names | prtconf -d | lspci | pciconf -l | pcidump | — |
| show driver bound to devices | prtconf -D | lspci -k | pciconf -l | — | — |
| show path of one device to the root | prtconf -a dev_path | — | devinfo -p dev | — | — |
| hex dump of PCI config space | — | lspci -x | — | pcidump -x | — |
| system memory in megabytes | prtconf -m | — | — | — | — |
Standards
- POSIX: prtconf is not a POSIX.1-2024 utility.
- Solnix: Interface Stability: Unstable.
Writing portable scripts
- Do not script against prtconf, lshw, devinfo or pcidump output. The formats differ across systems, and the Solnix page rates its interface Unstable.
- Choose the tool by what is present (prtconf, lshw or lspci, devinfo or pciconf, pcidump, drvctl) instead of assuming prtconf options exist elsewhere.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.