Alsamixer volume has no effect on Xonar DG CMI8786 C-Media Oxygen HD Audio

I see a number of threads here about problems with Suse and Xonar DG/DGX cards. However, nothing that really seems to give a generally effective how-to of resolving the issues.

At the moment I have the Xonar DG giving sound through the rear headphone jack through powered speakers.
However, I cannot get any volume control working, including in alsamixer. OS is OpenSuse Leap 42.3

Firstly, I cannot get Yast to work for setting up this card. As is shown in past threads also it seems that Yast always tries to use driver snd-virtuoso whereas alsa itself seems to work with snd-oxygen. This is 2018 and this seems to be a lingering problem not resolved in Suse YAST.

The card appears in Yast, however, any attempt to actually activate/edit the card in Yast results in:

An error occurred during the installation of
CMI8786 (Xonar DG)
The kernel module snd-virtuoso for sound support could not be loaded. This can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

Interestingly using alsaconf results in:

No supported PnP or PCI card found.
Would you like to probe legacy ISA sound cards/chips? Y
No legacy drivers are available.

I’ve tried removing everything sound, ie alsa, pulse, esound, jack, and then trying to build up from alsa first.
Firstly at the alsa level, it is essential to have:

modprobe snd-oxygen

Also alsamixer for Card: Xonar DG and Chip: CMI8786 must have “Analog Output” set to “Multichannel”.
This can be done by either using alsamixer to set this and then while alsamixer is still open, from root issuing

alsactl store 0

to save the setting between reboots.
Also this can be done by using amixer as:

amixer set "Analog Output" "Multichannel"

However, at this point, although sound works through the card, the volume cannot be changed.
Except I have found within totem it is possible.

Next I reinstalled pulseaudio etc but still there are sound problems.

So first I would like to build this up and document it once and for all re this Xonar DG/X snd-oxygen (and wrong snd-virtuoso) issue on OpenSuse

  1. Getting alsa working with volume
  2. Then adding pulseaudio in the optimum way
    ](http://www.alsa-project.org/db/?f=36289c3978709776bf8f6cf73dbb339ece803dc8)The current alsa-info.sh is at http://www.alsa-project.org/db/?f=36289c3978709776bf8f6cf73dbb339ece803dc8

Please advise what other information/settings/tests you would like and what process from herein you would like me to follow.

Thankyou

At the moment I have the Xonar DG giving sound through the rear headphone jack through powered speakers.
However, I cannot get any volume control working, including in alsamixer. OS is OpenSuse Leap 42.3

Firstly, I cannot get Yast to work for setting up this card. As is shown in past threads also it seems that Yast always tries to use driver snd-virtuoso whereas alsa itself seems to work with snd-oxygen. This is 2018 and this seems to be a lingering problem not resolved in Suse YAST.

I don’t have this hardware and I’m completely unaware of this issue. For most users it is simply not necessary to configure sound manually with YaST.

Your alsa-info.sh output shows no pulseaudio active. Which desktop environment are you using?

Start it manually as a user

pulseaudio -D

and then do

pacmd list

If you haven’t done so already, install pavucontrol and run the GUI of the same name with

pavucontrol

Are all the expected controls present?

Hi Deano

Thanks for reply.
I was hoping to get alsa working fully and understandable first before adding pulseaudio as another layer of complexity.
However, to answer your pulse audio questions: After starting pulseaudio with pulseaudio -D, I get the following for “pacmd list”.


# pacmd list
Memory blocks currently allocated: 1, size: 63.9 KiB.
Memory blocks allocated during the whole lifetime: 1, size: 63.9 KiB.
Memory blocks imported from other processes: 0, size: 0 B.
Memory blocks exported to other processes: 0, size: 0 B.
Total sample cache size: 0 B.
Default sample spec: s16le 2ch 44100Hz
Default channel map: front-left,front-right
Default sink name: auto_null
Default source name: auto_null.monitor
Memory blocks of type POOL: 1 allocated/1 accumulated.
Memory blocks of type POOL_EXTERNAL: 0 allocated/0 accumulated.
Memory blocks of type APPENDED: 0 allocated/0 accumulated.
Memory blocks of type USER: 0 allocated/0 accumulated.
Memory blocks of type FIXED: 0 allocated/0 accumulated.
Memory blocks of type IMPORTED: 0 allocated/0 accumulated.
22 module(s) loaded.
    index: 0
    name: <module-device-restore>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Automatically restore the volume/mute state of devices"
        module.version = "9.0-rebootstrapped"
    index: 1
    name: <module-stream-restore>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Automatically restore the volume/mute/device state of streams"
        module.version = "9.0-rebootstrapped"
    index: 2
    name: <module-card-restore>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Automatically restore profile of cards"
        module.version = "9.0-rebootstrapped"
    index: 3
    name: <module-augment-properties>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Augment the property sets of streams with additional static information"
        module.version = "9.0-rebootstrapped"
    index: 4
    name: <module-switch-on-port-available>
    argument: <>
    used: -1
    load once: no
    properties:
        
    index: 5
    name: <module-udev-detect>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Detect available audio hardware and load matching drivers"
        module.version = "9.0-rebootstrapped"
    index: 6
    name: <module-esound-protocol-unix>
    argument: <>
    used: -1
    load once: no
    properties:
        module.author = "Lennart Poettering"
        module.description = "ESOUND protocol (UNIX sockets)"
        module.version = "9.0-rebootstrapped"
    index: 7
    name: <module-native-protocol-unix>
    argument: <>
    used: -1
    load once: no
    properties:
        module.author = "Lennart Poettering"
        module.description = "Native protocol (UNIX sockets)"
        module.version = "9.0-rebootstrapped"
    index: 8
    name: <module-gconf>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "GConf Adapter"
        module.version = "9.0-rebootstrapped"
    index: 9
    name: <module-default-device-restore>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Automatically restore the default sink and source"
        module.version = "9.0-rebootstrapped"
    index: 10
    name: <module-rescue-streams>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "When a sink/source is removed, try to move its streams to the default sink/source"
        module.version = "9.0-rebootstrapped"
    index: 11
    name: <module-always-sink>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Colin Guthrie"
        module.description = "Always keeps at least one sink loaded even if it's a null one"
        module.version = "9.0-rebootstrapped"
    index: 12
    name: <module-null-sink>
    argument: <sink_name=auto_null sink_properties='device.description="Dummy Output"'>
    used: 0
    load once: no
    properties:
        module.author = "Lennart Poettering"
        module.description = "Clocked NULL sink"
        module.version = "9.0-rebootstrapped"
    index: 13
    name: <module-intended-roles>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Automatically set device of streams based on intended roles of devices"
        module.version = "9.0-rebootstrapped"
    index: 14
    name: <module-suspend-on-idle>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "When a sink/source is idle for too long, suspend it"
        module.version = "9.0-rebootstrapped"
    index: 15
    name: <module-console-kit>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Create a client for each ConsoleKit session of this user"
        module.version = "9.0-rebootstrapped"
    index: 16
    name: <module-systemd-login>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Create a client for each login session of this user"
        module.version = "9.0-rebootstrapped"
    index: 17
    name: <module-position-event-sounds>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
        module.version = "9.0-rebootstrapped"
    index: 18
    name: <module-role-cork>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Lennart Poettering"
        module.description = "Mute & cork streams with certain roles while others exist"
        module.version = "9.0-rebootstrapped"
    index: 19
    name: <module-filter-heuristics>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Colin Guthrie"
        module.description = "Detect when various filters are desirable"
        module.version = "9.0-rebootstrapped"
    index: 20
    name: <module-filter-apply>
    argument: <>
    used: -1
    load once: yes
    properties:
        module.author = "Colin Guthrie"
        module.description = "Load filter sinks automatically when needed"
        module.version = "9.0-rebootstrapped"
    index: 21
    name: <module-cli-protocol-unix>
    argument: <>
    used: -1
    load once: no
    properties:
        module.author = "Lennart Poettering"
        module.description = "Command line interface protocol (UNIX sockets)"
        module.version = "9.0-rebootstrapped"
1 sink(s) available.
  * index: 0
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 1000
    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
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 344 KiB
    max rewind: 344 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    module: 12
    properties:
        device.description = "Dummy Output"
        device.class = "abstract"
        device.icon_name = "audio-card"
1 source(s) available.
  * index: 0
    name: <auto_null.monitor>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 1000
    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
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 344 KiB
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    monitor_of: 0
    module: 12
    properties:
        device.description = "Monitor of Dummy Output"
        device.class = "monitor"
        device.icon_name = "audio-input-microphone"
3 client(s) logged in.
    index: 0
    driver: <module-systemd-login.c>
    owner module: 16
    properties:
        application.name = "Login Session 2"
        systemd-login.session = "2"
    index: 1
    driver: <protocol-native.c>
    owner module: 7
    properties:
        application.name = "PulseAudio systray"
        native-protocol.peer = "UNIX socket client"
        native-protocol.version = "31"
        application.process.id = "4506"
        application.process.user = "jesse"
        application.process.host = "linux-klzo"
        application.process.binary = "pasystray"
        application.language = "en_GB.UTF-8"
        window.x11.display = ":0.0"
        application.process.machine_id = "3317330b510dc64f47a397d2594c3712"
        application.process.session_id = "2"
        application.icon_name = "pasystray"
    index: 2
    driver: <cli.c>
    owner module: 21
    properties:
        application.name = "UNIX socket client"
0 card(s) available.
0 sink input(s) available.
0 source output(s) available.
0 cache entrie(s) available.

pavucontrol gives:
Playback:

  • System Sounds
    Recording: empty
    Output Devices:
  • Dummy Output
    Input Devices: empty
    Configuration: empty

Ok, I get that. From a quick search online I now understand that when using ‘multichannel’ there is no volume control. Some users suggest that setting ‘Stereo Headphones’ is required to enable the internal amplifier eg…

I can give an update on this re ALSA.

Although most threads on here regarding this card mention the need to change the card to “Multichannel”, I’ve found this results in volume being fixed at 100%.

Changing to “Stereo Headphones” results in the headphones volume selector in both alsamixer and GUI version “Audio Mixer” modulating the volume.
Curiously when alsamixer is at 0, the GUI version is at about 33%.

I never had any problems using this card, alsa etc in Ubuntu. It looks like for some reason there are a few people that have strange problems with the Xonar DG changing to Suse Distros for some reason.

The other thing I guess I could do is to try a live linux distro and see how it sets up the sound for this card, if at all. So if there are recommendations along this process I would be happy to follow them and report back for testing also.

The various outputs of amixer settings are:

# amixer set "Analog Output" "Stereo Headphones"
Simple mixer control 'Analog Output',0
  Capabilities: penum
  Items: 'Stereo Headphones' 'Stereo Headphones FP' 'Multichannel'
  Item0: 'Stereo Headphones'

# amixer set "Analog Output" "Multichannel"
Simple mixer control 'Analog Output',0
  Capabilities: penum
  Items: 'Stereo Headphones' 'Stereo Headphones FP' 'Multichannel'
  Item0: 'Multichannel'

# amixer set "Analog Output" "Stereo Headphones FP"
Simple mixer control 'Analog Output',0
  Capabilities: penum
  Items: 'Stereo Headphones' 'Stereo Headphones FP' 'Multichannel'
  Item0: 'Stereo Headphones FP'

That’s what I’ve found from a brief search online as well.

I never had any problems using this card, alsa etc in Ubuntu. It looks like for some reason there are a few people that have strange problems with the Xonar DG changing to Suse Distros for some reason.

I can’t imagine why there would be any difference in behaviour here, apart from the kernel version in use perhaps.