---
name: "libpipewire-module-client-device"
section: "7"
platform: "linux"
package: "libpipewire"
version: "1:1.6.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libpipewire-module-client-device"
---

# libpipewire-module-client-device(7)

Client Device

## NAME

libpipewire-module-client-device - Client Device

## DESCRIPTION

Allow clients to export devices to the PipeWire daemon.

This module creates an export type for the **SPA\_TYPE\_INTERFACE\_Device** interface.

With **pw\_core\_export()**, objects of this type can be exported to the PipeWire server. All actions performed on the device locally will be visible to connecteced clients.

In some cases, it is possible to use this factory directly. With **pw\_core\_create\_object()** on the client-device factory will result in a **SPA\_TYPE\_INTERFACE\_Device** proxy that can be used to control the server side created **Device Impl**.

Schematically, the client side **Device** is wrapped in the ClientDevice proxy and unwrapped by the server side resource so that all actions on the client side device are reflected on the server side device and server side actions are reflected in the client.

```
  client side proxy                            server side resource
.------------------------------.            .----------------------------------.
| SPA_TYPE_INTERFACE_Device    |            |  PW_TYPE_INTERFACE_Device        |
|                              |  IPC       |.--------------------------------.|
|                              | ----->     || SPA_TYPE_INTERFACE_Device      ||
|                              |            |'--------------------------------'|
```

## MODULE NAME

libpipewire-module-client-device

## MODULE OPTIONS

This module has no options.

## PROPERTIES FOR THE CREATE\_OBJECT CALL

All properties are passed directly to the **pw\_context\_create\_device()** call.

## EXAMPLE CONFIGURATION

The module is usually added to the config file of the main PipeWire daemon and the clients.

```
context.modules = [
{ name = libpipewire-module-client-device }
]
```

## SEE ALSO

- •

  module-spa-device-factory: make nodes from a factory
