While following instructions, I loaded a module which creates an input device "Monitor of Null Output" and an output device "Null Output" using this command:

pactl load-module module-null-sink sink_name=rmd

This is not what I wanted. How do I remove these two devices?

pactl list shows:

Sink #2
        State: IDLE
        Name: rmd
        Description: Null Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 24
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: rmd.monitor
        Latency: 1569 usec, configured 40000 usec
                device.description = "Null Output"
                device.class = "abstract"
                device.icon_name = "audio-card"

I tried

pactl unload-module rmd
pactl unload-module sink_name=rmd
pactl unload-module "Null Output"

all of which respond with:

Failed to unload module: Module Null Output not loaded


I can run pactl unload-module module-null-sink but this removes all devices loaded with that module. How do I remove the device or unload the module which created the device specified above?

1 Answer 1


pactl unload-module gives a hint:

You have to specify a module index or name

as does the manpage:

   unload-module ID|NAME
          Unload  the module instance identified by the specified numeric
          index or unload all modules by the specified name.

The ID is shown in this line (pactl list):

        Owner Module: 24

Just run

pactl unload-module 24

to remove the respective devices.

  • 2
    In case this is not persistent, meaning that the module will be loaded again on the next boot, how to make it persistent? I guess I could set up a script that runs pactl unload-module <module-id> at startup but is there a less hacky solution?
    – brainplot
    Commented Mar 30, 2020 at 4:55
  • Have a look at the configuration files in /etc/pulse (in particular /etc/pulse/defailt.pa) and comment out the line where the module is loaded. Commented Apr 16, 2020 at 11:11
  • For sudo pactl unload-module 34 says : no valid command specified. Same for it's name viper.2 I have installed Viper4Linux, it's setup oddly lacks the option to cancel, so I installed Viper over HDMI option, and over itself as well. Can't remove it and Viper4Linux also doesn't seem to be working.
    – Harshiv
    Commented Apr 24, 2021 at 9:22
  • can you reload the module somehow? Commented Aug 16, 2021 at 6:35
  • It seems pactl unload-module is not yet implemented when using PipeWire. According to this try the following: "In order to unload module, you can use pw-cli destroy ID, where ID is output of pactl load-module command." Commented Feb 7, 2022 at 19:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .