alsatplg(1)
π Name π
Okay bestie, meet alsatplg β the ALSA Topology Compiler. This is the alsatplg(1) page from the General Commands Manual, and it's here to make topology files make sense, no cap β¨
π SYNOPSIS π
alsatplg <options> [command]
π DESCRIPTION π
alsatplg β the ALSA Topology compiler β is a program that compiles a topology configuration file into the binary file for the kernel drivers. It's giving "translator for your audio setup," fr fr π
Current audio drivers typically hard code topology information in the driver sources. The way that tightly couples the audio driver to the development board, making it time consuming to modify a driver to work on a different devices. The driver is also tightly coupled to the DSP firmware version, meaning extra care is needed to keep the driver and firmware version in sync. New firmware features also mean driver updates. Not me seeing the maintenance pain π
The ALSA topology project removes the need for re-writing or porting audio drivers to different devices or different firmwares: drivers have no hard coded topology data, meaning a single driver can be used on different devices by updating the topology data from the file system. Firmware updates can be pushed without having to update the drivers. The new firmware just needs to include an updated topology file describing the update. Iconic, honestly π
π OPTIONS π
Available options, bestie β here's the whole lineup, nothing skipped π
-h,--helpβ this help. The classic "what does this thing do again?" button π«Ά-V,--versionβ show the utility version and versions of used libraries. Version check, slay β¨-c,--compile FILEβ source configuration file for the compilation. This is the config file going into the compiler.-d,--decode FILEβ source binary topology file for the decode. Feed it the binary when you're decoding.-n,--normalize FILEβ parse and save the configuration file in the normalized format. Normalize it and keep it cute π-u,--dump FILEβ parse and save the configuration file in the specified format. Dump it, but make it formatted.-o,--output FILEβ output file. The place where the result goes.-v,--verbose LEVELβ set verbose level. Turn up the detail, iykyk.-s,--sortβ sort the configuration identifiers (set for normalization). Sorting the identifiers, and yes, this one is set for normalization.-x,--nocheckβ save the configuration without additional integrity check. No extra integrity check here, so bestie, be aware of that vibe check π-z,--dapm-nosortβ do not sort DAPM graph items (like in version 1.2.1-). Leave the DAPM graph items unsorted, just like in version1.2.1-.
π¦ FILES π¦
The master topology files for each supported sound card are in /usr/share/alsa/topology.
For example, the master use case file for the broadwell card is in /usr/share/alsa/topology/broadwell/broadwell.conf β this file describes the audio hardware for the driver. Literally the broadwell bestie's whole audio lore πΈ
For more details on the syntax of UCM files, see the alsa-lib source code: <http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/topology/parser.c>
π₯ SEE ALSO π₯
- Topology Interface:
<http://www.alsa-project.org/alsa-doc/alsa-lib/group__topology.html>
π BUGS π
None known. Not a single known bug in the group chat πβ¨
π Author π
Jaroslav Kysela <perex@perex.cz> β author credit, periodt π
πΈ Copyright πΈ
GPLv2+
π
Signed off from the General Commands Manual, dated 2018-10-09, for alsatplg(1) β bye bestie, go compile something iconic! π«Άβ¨
π¦ where this page comes from
- arch rolling: alsa-utils 1.2.16-1 Β· GPL-2.0-or-later
- fedora 44: alsa-topology-utils 1.2.15.2-3.fc44 Β· GPL-2.0-or-later
- fedora 44: alsa-topology-utils 1.2.16-1.fc44 Β· GPL-2.0-or-later
- ubuntu resolute: alsa-utils 1.2.15.2-1ubuntu1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms