# lspci

> standard UNIX utility that prints information about PCI buses and devices

**Wikidata**: [Q1052015](https://www.wikidata.org/wiki/Q1052015)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Lspci)  
**Source**: https://4ort.xyz/entity/lspci

## Summary
`lspci` is a standard UNIX command-line utility used to display detailed information about PCI buses and connected devices in a system. It is part of the `pciutils` package and is widely used in Linux environments for hardware diagnostics and configuration. The tool is free software released under the GNU General Public License.

## Key Facts
- **Category**: Free software utility for PCI device enumeration
- **Operating System**: Linux
- **License**: GNU General Public License, version 2.0 or later
- **First Major Release**: Version 3.0.0 released on April 10, 2008
- **Maintainer/Author**: Martin Mares (associated project site: https://mj.ucw.cz/sw/pciutils)
- **Source Code Repositories**:
  - https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git
  - https://github.com/pciutils/pciutils
- **Programming Language**: C
- **Package Availability**:
  - Ubuntu: `pciutils`
  - Debian Stable: `pciutils`
  - MacPorts: `pciutils`
- **Wikipedia Languages**: Available in English, Spanish, French, Italian, Korean, Portuguese, and Russian

## FAQs

### Q: What is lspci used for?
A: `lspci` is used to list and display detailed information about all PCI buses and devices connected to them in a computer system. It helps system administrators and developers identify hardware components, troubleshoot issues, and configure devices.

### Q: Is lspci free to use?
A: Yes, `lspci` is free software distributed under the GNU General Public License (GPL), version 2.0 or later. Users can freely run, modify, and redistribute it.

### Q: How do I install lspci on my Linux system?
A: On most Linux distributions, `lspci` is included in the `pciutils` package. You can typically install it using your system's package manager, such as `apt install pciutils` on Debian-based systems or `yum install pciutils` on Red Hat-based systems.

## Why It Matters
`lspci` plays a critical role in system administration and hardware diagnostics within Linux environments. As one of the core tools in the `pciutils` suite, it enables users to inspect and manage Peripheral Component Interconnect (PCI) devices—ranging from network cards to GPUs—with precision. Its standardized output makes it invaluable for scripting, automation, and troubleshooting workflows. Being open-source ensures broad accessibility and integration into major Linux distributions, cementing its status as a foundational utility in modern computing infrastructure.

## Notable For
- **Core Utility in Linux Systems**: Widely integrated into major Linux distributions like Ubuntu, Debian, and Fedora.
- **Open Source and Freely Distributable**: Licensed under GPL v2+, allowing unrestricted usage and modification.
- **Cross-Architecture Support**: Works across various hardware platforms supporting PCI buses.
- **Active Development and Version History**: Maintained with regular updates since at least 2008, with multiple stable releases tracked.
- **Standardized Interface for Hardware Enumeration**: Provides consistent and machine-readable output useful for both manual inspection and automated tools.

## Body

### Overview
`lspci` is a command-line interface (CLI) program designed to provide detailed textual descriptions of PCI buses and attached devices. It reads from the `/sys/bus/pci` directory or directly accesses hardware via kernel interfaces depending on permissions and system setup.

It supports numerous flags for filtering output, including options to show numeric IDs instead of names (`-n`), display verbose details (`-v`), and format output suitable for scripts (`-m`, `-x`). These features make it essential for low-level system diagnostics and driver development.

### Technical Details
- **Language**: Written primarily in C.
- **Dependencies**: Requires access to kernel interfaces for reading PCI configuration space; generally requires root privileges for full functionality.
- **Integration**: Included in many live CDs, rescue disks, and embedded systems due to its small footprint and utility.

### Releases and Versioning
The project has seen steady maintenance over more than a decade:
- **Version 3.0.0** – Released April 10, 2008
- **Version 3.1.5** – Released January 19, 2010
Each release includes bug fixes, new device ID support, and compatibility improvements with evolving kernels and hardware standards.

### Distribution Packaging
Available through standard repositories:
- **Debian/Ubuntu**: Installed via `pciutils` package.
- **Red Hat/Fedora/CentOS**: Also packaged as `pciutils`.
- **macOS via MacPorts**: Accessible as port `pciutils`.

### Licensing and Legal Status
- **License Type**: GNU General Public License (version 2 or later).
- **Copyright Holder**: Martin Mares and contributors.
- **Usage Rights**: Permits redistribution and modification under the same license terms.

### Community and Documentation
Documentation is available through man pages (`man lspci`) and online resources hosted by the maintainer’s website. Community engagement occurs mainly through mailing lists and issue trackers linked from official repositories.

## References

1. [Source](https://github.com/pciutils/pciutils/blob/v3.7.0/README)
2. [Release 3.0.0. 2008](https://github.com/pciutils/pciutils/releases/tag/v3.0.0)
3. [Release 3.0.1. 2008](https://github.com/pciutils/pciutils/releases/tag/v3.0.1)
4. [Release 3.0.2. 2008](https://github.com/pciutils/pciutils/releases/tag/v3.0.2)
5. [Release 3.0.3. 2008](https://github.com/pciutils/pciutils/releases/tag/v3.0.3)
6. [Release 3.1.0. 2009](https://github.com/pciutils/pciutils/releases/tag/v3.1.0)
7. [Release 3.1.1. 2009](https://github.com/pciutils/pciutils/releases/tag/v3.1.1)
8. [Release 3.1.2. 2009](https://github.com/pciutils/pciutils/releases/tag/v3.1.2)
9. [Release 3.1.3. 2009](https://github.com/pciutils/pciutils/releases/tag/v3.1.3)
10. [Release 3.1.4. 2009](https://github.com/pciutils/pciutils/releases/tag/v3.1.4)
11. [Release 3.1.5. 2010](https://github.com/pciutils/pciutils/releases/tag/v3.1.5)
12. [Release 3.1.6. 2010](https://github.com/pciutils/pciutils/releases/tag/v3.1.6)
13. [Release 3.1.7. 2010](https://github.com/pciutils/pciutils/releases/tag/v3.1.7)
14. [Release 3.1.8. 2011](https://github.com/pciutils/pciutils/releases/tag/v3.1.8)
15. [Release 3.1.9. 2012](https://github.com/pciutils/pciutils/releases/tag/v3.1.9)
16. [Release 3.1.10. 2012](https://github.com/pciutils/pciutils/releases/tag/v3.1.10)
17. [Release 3.2.0. 2013](https://github.com/pciutils/pciutils/releases/tag/v3.2.0)
18. [Release 3.2.1. 2013](https://github.com/pciutils/pciutils/releases/tag/v3.2.1)
19. [Release 3.3.0. 2014](https://github.com/pciutils/pciutils/releases/tag/v3.3.0)
20. [Release 3.3.1. 2015](https://github.com/pciutils/pciutils/releases/tag/v3.3.1)
21. [Release 3.4.0. 2015](https://github.com/pciutils/pciutils/releases/tag/v3.4.0)
22. [Release 3.4.1. 2016](https://github.com/pciutils/pciutils/releases/tag/v3.4.1)
23. [Release 3.5.0. 2016](https://github.com/pciutils/pciutils/releases/tag/v3.5.0)
24. [Release 3.5.1. 2016](https://github.com/pciutils/pciutils/releases/tag/v3.5.1)
25. [Release 3.5.2. 2016](https://github.com/pciutils/pciutils/releases/tag/v3.5.2)
26. [Release 3.5.3. 2017](https://github.com/pciutils/pciutils/releases/tag/v3.5.3)
27. [Release 3.5.4. 2017](https://github.com/pciutils/pciutils/releases/tag/v3.5.4)
28. [Release 3.5.5. 2017](https://github.com/pciutils/pciutils/releases/tag/v3.5.5)
29. [Release 3.5.6. 2017](https://github.com/pciutils/pciutils/releases/tag/v3.5.6)
30. [Release 3.6.0. 2018](https://github.com/pciutils/pciutils/releases/tag/v3.6.0)
31. [Release 3.6.1. 2018](https://github.com/pciutils/pciutils/releases/tag/v3.6.1)
32. [Release 3.6.2. 2018](https://github.com/pciutils/pciutils/releases/tag/v3.6.2)
33. [Release 3.6.3. 2020](https://github.com/pciutils/pciutils/releases/tag/v3.6.3)
34. [Release 3.6.4. 2020](https://github.com/pciutils/pciutils/releases/tag/v3.6.4)
35. [Release 3.7.0. 2020](https://github.com/pciutils/pciutils/releases/tag/v3.7.0)
36. [The PCI Utilities](https://mj.ucw.cz/sw/pciutils/)
37. [Source](https://github.com/pciutils/pciutils/releases/tag/v3.9.0)
38. [Release 3.10.0. 2023](https://github.com/pciutils/pciutils/releases/tag/v3.10.0)
39. [Release 3.11.0. 2024](https://github.com/pciutils/pciutils/releases/tag/v3.11.0)
40. [Release 3.11.1. 2024](https://github.com/pciutils/pciutils/releases/tag/v3.11.1)
41. [Release 3.12.0. 2024](https://github.com/pciutils/pciutils/releases/tag/v3.12.0)
42. [Release 3.13.0. 2024](https://github.com/pciutils/pciutils/releases/tag/v3.13.0)
43. [Release 3.14.0. 2025](https://github.com/pciutils/pciutils/releases/tag/v3.14.0)
44. [Source](https://mj.ucw.cz/sw/pciutils/)