CMI8788 - Bgears b-Enspirer: test report, No surround over Tos-Link
Hello Clemens, First of all, many thanks for your great job with the DD for CMI8788. I performed some tests with your last bete-version of it and would like to send you a short report: Test environment: CMI8788 card: Bgears b-Enspirer connected over a TOS-link on DD 5.1 receiver. OS: Debian Leny (testing) Kernel: self built on base of 2.6.23 (from distribution), configured without ALSA ALSA (user land) from Debian distribution: alsa-base 1.0.15-2 alsa-utils 1.0.15-1 ALSA driver: your beta code "alsa-driver-20071129.tar" (./configure (no params), make, make install) I took also your CMI8788.conf and aliases.conf into /usr/share/alsa/cards In all tests, NO surround, but only stereo sound was working, i.e only "Front Left" and "Front Right" were working ;-( Test with (plug:)surround51 and 6 channels failed. Please have a look at printouts below. I am not really an ALSA-expert, so sorry if the half-successful results came through any missing configurations. Please let me know if you need more information or have any suggestions. I would perform additional tests with pleasure, thus please let me know if any additional tests would be useful. Best regards, Tomasz 1. Test debHTPC:~# speaker-test -Dplug:iec958 -c6 -tpink speaker-test 1.0.15 Playback device is plug:iec958 Stream parameters are 48000Hz, S16_LE, 6 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 64 to 32768 Period size range from 32 to 16384 Using max buffer size 32768 Periods = 4 was set period_size = 8192 was set buffer_size = 32768 0 - Front Left 4 - Center 1 - Front Right 3 - Rear Right 2 - Rear Left 5 - LFE 2. Test (failed) debHTPC:~# speaker-test -Dsurround51 -c6 -tpink speaker-test 1.0.15 Playback device is surround51 Stream parameters are 48000Hz, S16_LE, 6 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 32 to 43688 Period size range from 16 to 21840 Using max buffer size 43688 Periods = 4 was set period_size = 0 was set buffer_size = 43688 Unable to set sw params for playback: Invalid argument Setting of swparams failed: Invalid argument 3. Test (failed) debHTPC:~# speaker-test -Dplug:surround51 -c6 -tpink speaker-test 1.0.15 Playback device is plug:surround51 Stream parameters are 48000Hz, S16_LE, 6 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 32 to 43688 Period size range from 16 to 21840 Using max buffer size 43688 Periods = 4 was set period_size = 0 was set buffer_size = 43688 Unable to set sw params for playback: Invalid argument Setting of swparams failed: Invalid argument 4. Test debHTPC:~# speaker-test -Dplug:iec958 -c6 -tpink speaker-test 1.0.15 Playback device is plug:iec958 Stream parameters are 48000Hz, S16_LE, 6 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 64 to 32768 Period size range from 32 to 16384 Using max buffer size 32768 Periods = 4 was set period_size = 8192 was set buffer_size = 32768 0 - Front Left 4 - Center 1 - Front Right 3 - Rear Right 2 - Rear Left 5 - LFE 5. Test debHTPC:~# speaker-test -Dplug:surround71 -c8 -tpink speaker-test 1.0.15 Playback device is plug:surround71 Stream parameters are 48000Hz, S16_LE, 8 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 16 to 32768 Period size range from 8 to 16384 Using max buffer size 32768 Periods = 4 was set period_size = 8192 was set buffer_size = 32768 0 - Front Left 4 - Center 1 - Front Right 7 - Side Right 3 - Rear Right 2 - Rear Left 6 - Side Left 5 - LFE 6. Test debHTPC:~# speaker-test -Dplug:iec958 -c8 -tpink speaker-test 1.0.15 Playback device is plug:iec958 Stream parameters are 48000Hz, S16_LE, 8 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 64 to 32768 Period size range from 32 to 16384 Using max buffer size 32768 Periods = 4 was set period_size = 8192 was set buffer_size = 32768 0 - Front Left 4 - Center 1 - Front Right 7 - Side Right 3 - Rear Right 2 - Rear Left 6 - Side Left
To play more than two channels through the SPDIF port, the data has to be compressed with a codec like Dolby Digital or DTS.
The Windows driver comes with software encoders, but those do not run under Linux because Dolby Labs and DTS Inc. do no allow their code to be made Open Source.
You'd need the a52 plugin to do Dolby Digital encoding.
Feedback concerning the cmi8788 beta driver published 2007-11-29
Hello Clemens, you are my hero! Great big thanks for this driver. Here is my feedback about what's already working and where problems are: System: - Soundcard: Auzentech X-Meridian (aka "my little queen") - distro: Sidux 64 Bit (based on Debian Sid with rolling releases) - Kernel: 126.96.36.199-slh64-smp-16 - KDE 3.5.8 - connected device: 7.1 sound system via analoge output Driver has been installed the following way: - unpacked your archive - ./configure - make - make install - modprobe snd-oxygen - modprobe snd-virtuoso - replaced cmi8788.conf and aliases.conf Working: - All 8 channels produce the test signal with the"speaker-test"-command - stereo output via the front channels is perfect - upmix of the stereo signal (via alsamixer or kmix) to side and rear speakers works - volume control for all speakers via kmix works - DVDs with 5.1 content works fine Problems: - alsamixer shows no volume control for all speakers (it shows four pcm controls: the controls for front and rear and two other single channels) - alsamixer shows no volume control for side speakers - alsamixer doesn't tell you what the different volume controls (PCMs) are for - kmix shows no volume controls at all except the volume control for all speakers (and three input controls) - if I change the volume for all speakers via kmix, the settings for the individual channels at alsamixer change as well. Therefore it is not possible to calibrate the individual channels without losing the settings when turning the volume for all speakers to max or min. - activating dmix in .asoundrc produced an error at the activation of the KDE sound system - no option to create a LFE signal out of a stereo signal - no option to filter the signal of the LFE for a special frequency / no option to filter the signals of the 7 other channels in case they are only linked to small speakers About the last two points I don't know whether they are hardware based and therefore a part of a functioning driver. I've already read the how-to in the wiki about the LFE filter via .asoundrc. If I used exactly the .asoundrc mentioned there, half of the time the filter worked, half of the time my audio player (I used amarok and alsaplayer) told me, that the device is already in use. I hope that there is something helpful for you in and not only problems dependent on mistakes I made. If I can help you testing some function of the driver, tell me. Thanks again for your effort, Markus Herrmann
The alsamixer in alsa-utils-1.0.16rc1 now supports 8-channel controls. I don't know anything about kmix.
dmix is enabled by default if you are using the CMI8788.conf file (or if you have installed alsa-lib-1.0.16rc1), you should not need an .asoundrc at all.
Mixing stereo channels to a LFE channel or LFE filtering are not supported by the hardware.
Feedback concerning the cmi8788 beta driver published 2008-01-17
Hello Clemens, Thanks again for your further efforts! Here is my feedback: Installation was pretty the same as the last time. Only difference is that the system is now 32 Bit, the Kernel 188.8.131.52-slh-smp-2. Problems are all nearly the same, except that all four volume changers at alsamixer are now called "Master". But this might be because I couldn't use the ./configure command to start compiling the alsamixer you put for download. It demanded the libasound, but my distribution uses libasound2. If I could do any further testing, don't hesitate telling me. Thanks again, Markus
The volume control is called "Master" because I renamed it.
Feedback concerning the cmi8788 driver in ALSA 1.0.16
Hello Clemens, and again thanks a lot for your further efforts! Because of some technical problems I couldn't test your driver for a long time. Some problems I still have. Therefore I won't be able to test analogue recording at the moment. But I hope that I can do the testing and give you feedback in one or two weeks. Nevertheless, I could already test playback. Nearly all problems are gone. But I see still one difficulty. The data of my system ist pretty the same as the last time. The only differences are that the Kernel is now 2.6.24. The ALSA driver is 1.0.16. alsa-utils is 1.0.16-1. The Problem is that there are three volume changer in Alsamixer called "Master" (beside some others). One for front (which is the only one with a mute option), one for surround and one for back. All three are working perfectly. But there is no volume changer for playback in general. Therefore it is impossible to change the volume of all the channels at once. You have to change the volume for every single channel in order to mute all the speakers which is quite laborious. All the other ALSA drivers I've already used had a master volume changer which could change the volume for all channels without changing the settings of the individual channels. (This was the main volume changer which could be linked to the main volume changer of the desktop environment (e.g. Kmix).) So much until now. As I said I will post some feedback here concerning the analogue recording within the next weeks. Cheers, Markus
Feedback concerning the three testing drivers for analog recording
Hello Clemens, unlike I said in my last testing of the 1.0.16 driver yesterday I could test your testing drivers much faster. Here is my feedback: Analog recording only worked at my system with the test1 driver (I only tested recording with a Mic). There it was also not possible to activate line in and mic at once(which was possible with the other two drivers (test2 and test 3) that didn't allow analog recording). Apart from this there is some other oddities with Kmix: At all the other ALSA drivers I've already used there was a counterpart in Kmix for every volume changer in alsamixer. If you changed them at Kmix they were automatically changed in alsamixer and vice versa. With your driver there are only counterparts in the recording section. Bud oddly a change of these don't change the volume changers in Kmix. The changers in Kmix are totally useless. Quite interesting it becomes in the playback section. Here there is only one counterpart in Kmix for the front channels. But unlike the volume changers in the recording section this one is linked to its counterpart in alsamixer and works fine. Apart from my suggestion yesterday to include a general volume changer for playback I suggest to rename most of the volume changers for playback. At the moment all are called "Master". Therefor you have to change by trial and error in order to know which one is for which function. So far for today. I hope I could help you a bit. Great many thanks for all your efforts. Cheers, Markus
Edit: I think I know why there ist only the volume changer for the front channels visible in Kmix: Because all playback volume changers have the same name and therefore Kmix can't deal with them (and the volume changers for recording are all visible, because they have all different names). Yesterday I tested a live CD of Kubuntu 8.04 Beta. This uses older ALSA code. There the volume changer for rear channels was called PCM (all the others werde named Master). And there it happened: Two volume changer were in Kmix visible: The first one called Master for the two front channels and the one called PCM. All the other ones called Master were invisible. So this seems to be the solution why there is only one volume changer in the playback section. Unsolved remains the problem why the volume changers for recording in alsamixer are not linked to the ones in Kmix.
The "Master" control is one control with eight channels. How this is handled depends on the application; Kmix doesn't seem to be too smart.
Alsamixer doesn't display the names of the channels (front/surround/center/LFE/rear); this should be changed.
Feedback concerning the cmi8788 driver released 2008-3-31
Hello Clemens, great big thanks for your still continuing effort. I tested the new driver under the same circumstances as the last time. Analog recording works fine now. Thanks again! Strangely the Analog and the Digital Input Monitors are now in alsamixerin in the playback section AS WELL AS in the capture section visible. It doesn't concern me any longer because I sold my 7.1 system and went for stereo sound, but for the quality of the driver I still suggest to include a single general volume changer for all playback channels in addition to the individual changers. Otherwise you have to mute all 5 volume changers by hand, if you want to mute the entire playback. Cheers, Markus
There is a single mute control that affect all eight channels.
Xonar D2X SPDIF volume
Hi, just got a Xonar D2X and testing under linux OK except a big volume difference between analog and digital for basic playing, seems there's no digital volume setting...
- Digital outputs usually have no volume control because then the signal would no longer be bit-exact, and it would slightly reduce the quality.
- Volume control should be done by the digital-to-analog converter.
More like a wishlist feature, hardware A52/DTS encoding doesn't seem to be handled, xine with 5.1 analog output on digital output is only seen as stereo for front digital output (Logitech Z 5500).
- There is no hardware A52/DTS encoding. The Windows driver does this in software.
- For Dolby encoding, you could try the A52 plugin. AFAIK there is no DTS encoder for Linux.
Gonioul 23:50, 29 April 2008 (CEST)
- ClemensLadisch 09:14, 30 April 2008 (CEST)
Xonar D2/PM Low Playback Volume
Hi, Clemens. Thanks for a great job with the drivers! Just installed Xonar D2/PM (BTW, any idea what PM means?), kernel 2.6.24-5, ALSA 1.0.16. Works beautifully but I noticed that playback volume is way lower under Linux compared to Windows XP (dual-boot). Something like 15dB difference at least. I took care to disable all sound processing in ASUS Windows drivers, enabled HiFi mode and checked that SVN (normalize) button is not active but still I can hardly stand 30% master volume with 30% volume on my powered speakers since it is too loud under Windows. Under Linux I have to bump both sliders close to 100% to hear softer parts in music. What might be the cause? No controls in alsamixer have any effect on this. --Bamyasi 11:12, 30 April 2008 (CEST)
- Under Linux, the volume sliders offer the entire range that the hardware is capable of controlling, which is from -120 dB to 0 dB. "30%" doesn't have any fixed meaning because the range isn't the same.
- In practice, it doesn't make much sense to use attenuations below about -30 dB, which is 75% of the slider in Linux.
- I don't know what "PM" means, ask Asus. ;-)
- ClemensLadisch 15:00, 30 April 2008 (CEST)
You are right, of course zero level mark in Windows drivers can be anything... Still, under Linux playback at 100% master volume is not nearly as loud as it is under Windows. I suspect ASUS drivers make some use of DSP even in HiFi mode, a bit of compression maybe.
- The Windows driver does compression when "Smart Volume Normalizer" is enabled.
Sorry for stupid questions but I have another one (and Google does not have the answer ;-( ). Is there any way to get a signal from line input on D2 routed and mixed into master (PCM) playback? Or does the card lack any hardware mixing capabilities at all? I don't seem to be able to hear anything from any of the card's inputs no matter what controls I tried in amixer (and Line,0 does not even have a volume capability listed). --Bamyasi 20:59, 30 April 2008 (CEST)
- I added input monitor controls six weeks ago, i.e., after 1.0.16. Try the beta driver.
- ClemensLadisch 14:57, 5 May 2008 (CEST)