From ArchWiki
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

CDemu enables you to use disc images that contain more than a standard ISO-9660 filesystem, like .bin/.cue, .nrg, or .ccd images. It's needed only because mount can only directly handle .iso disc images, which can only contain a single filesystem, but many CDs have multiple sessions, mixed data/audio tracks, etc. In short you can mount nearly any kind of image file with ease using cdemu.


# pacman -S cdemu-client

This will install the dependencies as well.


CDemu can be configured to register with the D-Bus system or session bus. A session bus instance is created for every user session, and is visible only within that session. On the other hand, there's only one instance of system bus, which is visible system-wide.

System Bus

To configure CDemu, edit /etc/conf.d/cdemud. You can change the number of drives to emulate, the control device, and which audio backend to use.

Starting cdemu

If you want to start cdemu at boot add cdemud to the daemons section in /etc/rc.conf.

you can also start cdemu manually by running '/etc/rc.d/cdemud start' as root.

In both cases cdemud loads the necessary modules.

Session Bus

Add every user who needs to run the daemon to the cdemu group. They will need to log out to take effect.

Add vhba to the modules array in /etc/rc.conf

Copy /etc/conf.d/cdemud to ~/.cdemu-daemon for configuration. All options replace variables in /usr/bin/

Starting cdemu

Run as a normal user. Errors are logged to ~/.cdemu-daemon.log by default.

To Run

By default on archlinux cdemu is configured to use the DBus system bus, the user command however defaults to the DBus session bus.

either replace cdemu in the below examples with 'cdemu -b system' or make an alias.

i added this alias to .bashrc of the users that need to run cdemu : alias cdemu='cdemu -b system'

Leave as is if using session bus.


Loading a single image to first device:

# cdemu load 0 ~/image.mds

Loading multiple-file image to first device:

# cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc

Loading a text-based image in non-ASCII/non-Unicode encoding:

# cdemu load 0 ~/image.cue --encoding=windows-1250

Loading an encrypted image with password provided as an argument:

# cdemu load 0 ~/image.daa --password=seeninplain

Unloading first device:

# cdemu unload 0

Displaying device status:

# cdemu status

Displaying device mapping information:

# cdemu device-mapping

Setting daemon debug mask for the first device:

# cdemu daemon-debug-mask 0 0x01

Obtaining library debug mask for the first device:

# cdemu library-debug-mask 0

Disabling DPM emulation on all devices:

# cdemu dpm-emulation all 0

Enabling transfer rate emulation on first device:

# cdemu tr-emulation 0 1

Changing device ID of first device:

# cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"

Enumerating supported parsers:

# cdemu enum-supported-parsers

Enumerating supported fragments:

# cdemu enum-supported-fragments

Enumerating supported daemon debug masks:

# cdemu enum-daemon-debug-masks

Enumerating supported library debug masks:

# cdemu enum-library-debug-masks

Displaying daemon and library version:

# cdemu version


Available on the AUR

GTK/Gnome gcdemuAUR: Provides a GNOME panel applet.

KDE kde-cdemu-managerAUR: Standalone program and integrates with Dolphin's Actions menu when right clicking an image file.