* cs64xx distortion (GameTheater XP)
@ 2003-01-15 23:14 Christian Esken
2003-01-16 10:24 ` Takashi Iwai
2003-01-16 23:11 ` Benny Sjostrand
0 siblings, 2 replies; 20+ messages in thread
From: Christian Esken @ 2003-01-15 23:14 UTC (permalink / raw)
To: alsa-devel
Hi,
I wonder what the status of the cs64xx distortion problem is.
I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
and it still shows those heavy distortions on analog output.
Digital out is OK most of the time, but sometimes fails (as described in cs62xx_lib.c).
I thought you might be interested in the syslog:
PCI: Found IRQ 7 for device 00:0a.0
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3855: hack for Hercules Game Theatre XP enabled
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3866: Crystal EAPD support forced on.
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
I am wondering about the status, as there is still this comment in cs64xx_lib.c:
---------------------------
/* CD mute change ? */
/* Benny: this hack dont seems to make any sense to me, at least on the
Game Theater XP,
Turning of the amplifier just make the PCM sound very distorcionated. is this really needed ????????????????
*/
---------------------------
And what about CONFIG_SND_CS46XX_NEW_DSP? I left the default, which seems to be
-DCONFIG_SND_CS46XX_NEW_DSP=1
Which means, the "CD mute change" stuff is not compiled in at all.
Bye,
Chris
being terribly confused at the moment - hoping for enlightenment :)
-------------------------------------------------------
This SF.NET email is sponsored by: A Thawte Code Signing Certificate
is essential in establishing user confidence by providing assurance of
authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: cs64xx distortion (GameTheater XP) 2003-01-15 23:14 cs64xx distortion (GameTheater XP) Christian Esken @ 2003-01-16 10:24 ` Takashi Iwai 2003-01-16 23:11 ` Benny Sjostrand 1 sibling, 0 replies; 20+ messages in thread From: Takashi Iwai @ 2003-01-16 10:24 UTC (permalink / raw) To: Christian Esken; +Cc: alsa-devel [-- Attachment #1: Type: text/plain, Size: 889 bytes --] At Thu, 16 Jan 2003 00:14:10 +0100, Christian Esken wrote: > > Hi, > > I wonder what the status of the cs64xx distortion problem is. > I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP > and it still shows those heavy distortions on analog output. > > Digital out is OK most of the time, but sometimes fails (as described in cs62xx_lib.c). > I thought you might be interested in the syslog: > > PCI: Found IRQ 7 for device 00:0a.0 > ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3855: hack for Hercules Game Theatre XP enabled > ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3866: Crystal EAPD support forced on. well, it looks like you passed external_amp=1 option to the module, which you don't need usually. anyway, try the attached patch (and without external_amp=1 option). it will clean up the amplifier controls. Takashi [-- Attachment #2: cs46xx-amp.dif --] [-- Type: application/octet-stream, Size: 5833 bytes --] Index: alsa-kernel/pci/cs46xx/cs46xx_lib.c =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/cs46xx/cs46xx_lib.c,v retrieving revision 1.40 diff -u -r1.40 cs46xx_lib.c --- alsa-kernel/pci/cs46xx/cs46xx_lib.c 7 Jan 2003 10:33:23 -0000 1.40 +++ alsa-kernel/pci/cs46xx/cs46xx_lib.c 16 Jan 2003 10:14:30 -0000 @@ -273,9 +273,6 @@ unsigned short val) { cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return); -#ifndef CONFIG_SND_CS46XX_NEW_DSP - int val2 = 0; -#endif int codec_index = -1; /* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */ @@ -287,59 +284,9 @@ else snd_assert(0,return); -#ifndef CONFIG_SND_CS46XX_NEW_DSP - if (reg == AC97_CD) - val2 = snd_cs46xx_codec_read(chip, AC97_CD, codec_index); -#endif - + chip->active_ctrl(chip, 1); snd_cs46xx_codec_write(chip, reg, val, codec_index); - -#ifndef CONFIG_SND_CS46XX_NEW_DSP - /* Benny: I've not found *one* soundcard where - this code below could do any sense, and - with the HW mixering it's anyway broken, with - more then 1 PCM stream the amplifier will not - be turned off by unmuting CD channel. So just - lets skip it. - */ - - /* - * Adjust power if the mixer is selected/deselected according - * to the CD. - * - * IF the CD is a valid input source (mixer or direct) AND - * the CD is not muted THEN power is needed - * - * We do two things. When record select changes the input to - * add/remove the CD we adjust the power count if the CD is - * unmuted. - * - * When the CD mute changes we adjust the power level if the - * CD was a valid input. - * - * We also check for CD volume != 0, as the CD mute isn't - * normally tweaked from userspace. - */ - - /* CD mute change ? */ - - /* Benny: this hack dont seems to make any sense to me, at least on the Game Theater XP, - Turning of the amplifier just make the PCM sound very distorcionated. - is this really needed ???????????????? - */ - if (reg == AC97_CD) { - /* Mute bit change ? */ - if ((val2^val)&0x8000 || ((val2 == 0x1f1f || val == 0x1f1f) && val2 != val)) { - /* Mute on */ - if(val&0x8000 || val == 0x1f1f) - chip->amplifier_ctrl(chip, -1); - else /* Mute off power on */ - chip->amplifier_ctrl(chip, 1); - } - } - chip->active_ctrl(chip, -1); -#endif } @@ -1506,7 +1453,6 @@ if (chip->accept_valid) substream->runtime->hw.info |= SNDRV_PCM_INFO_MMAP_VALID; chip->active_ctrl(chip, 1); - chip->amplifier_ctrl(chip, 1); return 0; } @@ -1570,7 +1516,6 @@ substream->runtime->hw.info |= SNDRV_PCM_INFO_MMAP_VALID; chip->active_ctrl(chip, 1); - chip->amplifier_ctrl(chip, 1); #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_pcm_hw_constraint_list(substream->runtime, 0, @@ -1605,7 +1550,6 @@ cpcm->substream = NULL; snd_free_pci_pages(chip->pci, cpcm->hw_size, cpcm->hw_area, cpcm->hw_addr); chip->active_ctrl(chip, -1); - chip->amplifier_ctrl(chip, -1); return 0; } @@ -1617,7 +1561,6 @@ chip->capt.substream = NULL; snd_free_pci_pages(chip->pci, chip->capt.hw_size, chip->capt.hw_area, chip->capt.hw_addr); chip->active_ctrl(chip, -1); - chip->amplifier_ctrl(chip, -1); return 0; } @@ -3545,9 +3488,6 @@ { snd_printdd ("initializing Voyetra mixer\n"); - /* turnon Amplifier and leave it on */ - chip->amplifier_ctrl(chip, 1); - /* Enable SPDIF out */ snd_cs46xx_pokeBA0(chip, BA0_EGPIODR, EGPIODR_GPOE0); snd_cs46xx_pokeBA0(chip, BA0_EGPIOPTR, EGPIODR_GPOE0); @@ -3566,9 +3506,6 @@ snd_printdd ("initializing Hercules mixer\n"); #ifdef CONFIG_SND_CS46XX_NEW_DSP - /* turnon Amplifier and leave it on */ - chip->amplifier_ctrl(chip, 1); - for (idx = 0 ; idx < sizeof(snd_hercules_controls) / sizeof(snd_hercules_controls[0]) ; idx++) { snd_kcontrol_t *kctl; @@ -3708,6 +3645,8 @@ #ifdef CONFIG_PM void snd_cs46xx_suspend(cs46xx_t *chip) { + int amp_saved; + snd_card_t *card = chip->card; if (card->power_state == SNDRV_CTL_POWER_D3hot) @@ -3715,7 +3654,13 @@ snd_pcm_suspend_all(chip->pcm); // chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL); // chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE); + amp_saved = chip->amplifier; + /* turn off amp */ + chip->amplifier_ctrl(chip, -chip->amplifier); snd_cs46xx_hw_stop(chip); + /* disable CLKRUN */ + chip->active_ctrl(chip, -chip->amplifier); + chip->amplifier = amp_saved; /* restore the status */ snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); } @@ -3748,11 +3693,10 @@ snd_ac97_resume(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]); if (amp_saved) - chip->amplifier_ctrl(chip, 1); /* try to turn on */ - if (! amp_saved) { - chip->amplifier = 1; - chip->active_ctrl(chip, -1); - } + chip->amplifier_ctrl(chip, 1); /* turn amp on */ + else + chip->active_ctrl(chip, -1); /* disable CLKRUN */ + chip->amplifier = amp_saved; snd_power_change_state(card, SNDRV_CTL_POWER_D0); } @@ -3853,11 +3797,11 @@ for (cp = &cards[0]; cp->name; cp++) { if (cp->vendor == ss_vendor && cp->id == ss_card) { snd_printd ("hack for %s enabled\n", cp->name); - if (cp->init) - cp->init(chip); chip->amplifier_ctrl = cp->amp; chip->active_ctrl = cp->active; chip->mixer_init = cp->mixer_init; + if (cp->init) + cp->init(chip); break; } } @@ -3878,7 +3822,7 @@ if (chip->active_ctrl == NULL) chip->active_ctrl = amp_none; - chip->active_ctrl(chip, 1); + chip->active_ctrl(chip, 1); /* enable CLKRUN */ pci_set_master(pci); @@ -3929,7 +3873,10 @@ return err; } - chip->active_ctrl(chip, -1); + /* turn on amplifier */ + chip->amplifier_ctrl(chip, 1); + + chip->active_ctrl(chip, -1); /* disable CLKRUN */ *rchip = chip; return 0; ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP) 2003-01-15 23:14 cs64xx distortion (GameTheater XP) Christian Esken 2003-01-16 10:24 ` Takashi Iwai @ 2003-01-16 23:11 ` Benny Sjostrand 2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers ` (2 more replies) 1 sibling, 3 replies; 20+ messages in thread From: Benny Sjostrand @ 2003-01-16 23:11 UTC (permalink / raw) To: Christian Esken; +Cc: alsa-devel > > >I wonder what the status of the cs64xx distortion problem is. >I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP > My opinion: the GameTheater XP it's a cheap soundcard with a beautiful blue box. Usually cheap soundcard got a cheap design as result of a tiny bugdet, so just dont expect to much from the analog part's. Actually I got a Hercules GameTheater XP 6.1, when volume is over about a ~80% the output is sometimes distorcionated, but I believe that's something we cant do anything about in the driver. Limit some volume control's in the driver dont feel like a coherent solution. The card is still usable, I really dont expect to better quality on analog output with this soundcard. >ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge? >ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge? >ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge? > > Feel like theese messages should not be there, could be a bug in cs46xx driver. >I am wondering about the status, as there is still this comment in cs64xx_lib.c: >--------------------------- > /* CD mute change ? */ > > /* Benny: this hack dont seems to make any sense to me, at least on the >Game Theater XP, > Turning of the amplifier just make the PCM sound very distorcionated. is this really needed ???????????????? > */ >--------------------------- > > > Should only matter if you unmute the analog CD input, and with the new DSP code it dont matter at all. /Benny ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* FIX: soundblaster rear channels (ens1371) 2003-01-16 23:11 ` Benny Sjostrand @ 2003-01-17 0:04 ` Pieter Palmers 2003-01-17 9:55 ` Takashi Iwai 2003-01-17 0:38 ` cs64xx distortion (GameTheater XP) Richard Olsson 2003-01-18 11:13 ` Christian Esken 2 siblings, 1 reply; 20+ messages in thread From: Pieter Palmers @ 2003-01-17 0:04 UTC (permalink / raw) To: alsa-devel; +Cc: Jaroslav Kysela Finally I figured out how to enable the rear channel separately from the front on the creative labs CT5880 (= modified ens1371 as it seems). I'll describe the settings to enable this, but I'm not going to submit a patch, as I have noticed that I messed up my ens1370.c too much, and I can't get a clean version because CVS doesn't work. It's a minor change, so I assume it can be done by the maintainers. The whole thing is in three bits in the BASE+0x04 register (ES_REG_STATUS in the driver). These bits are bit27, bit26 and bit24 There are three modes of operation: 1) No rear output: bit27=bit26=bit24=0 2) rear output is a mirror of the main output, but controlled by the 'surround' slider of the mixer. I assume the ens1371 mixes the two 'devices' and sends the mix to both MAIN and SURROUND DAC. This mode is selected by setting bit27=bit24=0 and bit26=1 3) independant rear (surround) and front output. Using the current driver, this has the strange side-effect that HW:0,0 becomes the rear output and HW:0,1 becomes the front. So HW:0,0 is controlled by the 'surround' mixer control, and HW:1,0 is controlled by the PCM and Master mixer controls. To select this mode set bit27=bit24=1 and bit26=0. It seems that bit27=1 and bit24=bit26=0 is identical, but the windows driver clearly does the first, so why not? It works... front only, no rear: bit27=0 bit26=0 bit24=0 rear mirrors front: bit27=0 bit26=1 bit24=0 front & rear independant: bit27=1 bit26=0 bit24=1 (x?) I patched my driver by inserting the following code around line 1947: (I included two lines of overlap to make the location easier to find) ============================================= outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL)); outb(0x00, ES_REG(ensoniq, UART_RES)); #ifdef CHIP1371 /* enable the rear outputs This seems to work ensoniq->cssr |= (0 << 27) | (1 << 24); but the windows driver does this, so let's also do it */ ensoniq->cssr |= (1 << 27) | (1 << 24); /* Use this for mirror mode ensoniq->cssr |= (1 << 26);*/ #endif outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); #if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE) ============================================= Maybe there is a better place to put this? I don't know... I put it in the snd_ensoniq_create() function because I always want 4ch output, and I don't see the use of the other modes in an ALSA enviroment. Regards, Pieter PS: I'm also developing a driver for my Maxisound ISIS, where do I look for information on ALSA/linux driver developement? Does anyone have a 'template' ALSA driver? Does ALSA support non-DMA audio transfer? I believe the ISIS uses this kind of transfers, but I don't know for sure yet. I know it's stupid design not to use DMA, but there is nothing to do about it I guess. ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers @ 2003-01-17 9:55 ` Takashi Iwai 2003-01-17 10:36 ` Pieter Palmers ` (2 more replies) 0 siblings, 3 replies; 20+ messages in thread From: Takashi Iwai @ 2003-01-17 9:55 UTC (permalink / raw) To: Pieter Palmers; +Cc: alsa-devel, Jaroslav Kysela, Uros Bizjak At Fri, 17 Jan 2003 01:04:40 +0100, Pieter Palmers wrote: > > Finally I figured out how to enable the rear channel separately from the front > on the creative labs CT5880 (= modified ens1371 as it seems). great! thanks for your work! > I'll describe the settings to enable this, but I'm not going to submit a > patch, as I have noticed that I messed up my ens1370.c too much, and I can't > get a clean version because CVS doesn't work. It's a minor change, so I > assume it can be done by the maintainers. > > The whole thing is in three bits in the BASE+0x04 register (ES_REG_STATUS in > the driver). These bits are bit27, bit26 and bit24 > There are three modes of operation: > 1) No rear output: bit27=bit26=bit24=0 > 2) rear output is a mirror of the main output, but controlled by the > 'surround' slider of the mixer. I assume the ens1371 mixes the two 'devices' > and sends the mix to both MAIN and SURROUND DAC. This mode is selected by > setting bit27=bit24=0 and bit26=1 > 3) independant rear (surround) and front output. Using the current driver, > this has the strange side-effect that HW:0,0 becomes the rear output and > HW:0,1 becomes the front. So HW:0,0 is controlled by the 'surround' mixer > control, and HW:1,0 is controlled by the PCM and Master mixer > controls. this is because we are using DAC2 for the hw:0,0 and DAC1 for hw:0,1. i'm not sure why it is. Jaroslav, is there any drawback to use DAC1 as default playback? (i know that the OSS driver uses this order, too.) > To > select this mode set bit27=bit24=1 and bit26=0. It seems that bit27=1 and > bit24=bit26=0 is identical, but the windows driver clearly does the first, so > why not? It works... > > front only, no rear: bit27=0 bit26=0 bit24=0 > rear mirrors front: bit27=0 bit26=1 bit24=0 > front & rear independant: bit27=1 bit26=0 bit24=1 (x?) > > > I patched my driver by inserting the following code around line 1947: > (I included two lines of overlap to make the location easier to find) > ============================================= > outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL)); > outb(0x00, ES_REG(ensoniq, UART_RES)); > > #ifdef CHIP1371 > /* enable the rear outputs > This seems to work > ensoniq->cssr |= (0 << 27) | (1 << 24); > but the windows driver does this, so let's > also do it */ > > ensoniq->cssr |= (1 << 27) | (1 << 24); > > /* > Use this for mirror mode > ensoniq->cssr |= (1 << 26);*/ > #endif > > outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); > #if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE) > ============================================= > > Maybe there is a better place to put this? I don't know... I put it in the > snd_ensoniq_create() function because I always want 4ch output, and I don't > see the use of the other modes in an ALSA enviroment. it would be better to create new controls, and changing the controls via hook in the pcm configuration. > Regards, > > Pieter > > PS: I'm also developing a driver for my Maxisound ISIS, where do I look for > information on ALSA/linux driver developement? Does anyone have a 'template' > ALSA driver? there is a tutorial, http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html the docbook source is found in alsa-kernel/Documentation/DocBook. > Does ALSA support non-DMA audio transfer? I believe the ISIS uses this kind of > transfers, but I don't know for sure yet. I know it's stupid design not to > use DMA, but there is nothing to do about it I guess. yes, but the implementation depends on the driver. you can use tasklet for transferring the data e.g. via io-port read/write. Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS uses a similar (same?) chip. he might be able to help the development of this driver. ciao, Takashi ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 9:55 ` Takashi Iwai @ 2003-01-17 10:36 ` Pieter Palmers 2003-01-17 10:48 ` Takashi Iwai 2003-01-17 11:32 ` Jaroslav Kysela 2003-01-17 12:00 ` Uros Bizjak 2 siblings, 1 reply; 20+ messages in thread From: Pieter Palmers @ 2003-01-17 10:36 UTC (permalink / raw) To: alsa-devel >> >> Finally I figured out how to enable the rear channel separately from the front >> on the creative labs CT5880 (= modified ens1371 as it seems). >great! thanks for your work! no problem. Thank you guys for your work. Figuring this out took me half a day. I'm sure that you guys all spent more than that on this project. I'm happy to be able to help out. I wanted the rear channels to work, and so I tried it myself. Now everybody can benifit from this work. Isn't this the way open-source works? take a lot - give what you can > Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS > uses a similar (same?) chip. he might be able to help the development > of this driver. > The ISIS uses the successor of the SAM9407, the SAM9707. Differences seem to be minor (only the fact that it supports 6 extra channels). The problem is that it is an ISA chip, and they used a 'creative' way of building a PCI card with it: They built a card based on the ESS Maestro-2EM, which is an Maestro-2E with an additional 'modem dsp' port, i.e. an ISA port. They used this port to connect the SAM chip. So actually it would be helpfull if I had someone with ESS Maestro experience. I'm wondering if it's possible to set up a DMA transfer to the modem port. The Maestro is (in my opinion) a pretty compicated device so I think it might be possible. Any Maestro-connaiseurs on this list? Pieter ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 10:36 ` Pieter Palmers @ 2003-01-17 10:48 ` Takashi Iwai 0 siblings, 0 replies; 20+ messages in thread From: Takashi Iwai @ 2003-01-17 10:48 UTC (permalink / raw) To: Pieter Palmers; +Cc: alsa-devel At Fri, 17 Jan 2003 11:23:42 +0100, Pieter Palmers wrote: > > > Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS > > uses a similar (same?) chip. he might be able to help the development > > of this driver. > > > The ISIS uses the successor of the SAM9407, the SAM9707. Differences seem to > be minor (only the fact that it supports 6 extra channels). > > The problem is that it is an ISA chip, and they used a 'creative' way of > building a PCI card with it: They built a card based on the ESS Maestro-2EM, > which is an Maestro-2E with an additional 'modem dsp' port, i.e. an ISA port. > They used this port to connect the SAM chip. > > So actually it would be helpfull if I had someone with ESS Maestro experience. > I'm wondering if it's possible to set up a DMA transfer to the modem port. > The Maestro is (in my opinion) a pretty compicated device so I think it might > be possible. > Any Maestro-connaiseurs on this list? well, i'm the maintainer of es1968 driver, but the driver is atm not well maintained. the chip is yes a bit complicated but the problem is lack of proper documents. there is a data sheet but it doesn't describe any essential parts. and we have only a crappy buggy DOS example code... anyway, please let me know if you have any questions. ciao, Takashi ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 9:55 ` Takashi Iwai 2003-01-17 10:36 ` Pieter Palmers @ 2003-01-17 11:32 ` Jaroslav Kysela 2003-01-17 12:11 ` Pieter Palmers 2003-01-17 12:00 ` Uros Bizjak 2 siblings, 1 reply; 20+ messages in thread From: Jaroslav Kysela @ 2003-01-17 11:32 UTC (permalink / raw) To: Takashi Iwai Cc: Pieter Palmers, alsa-devel@lists.sourceforge.net, Uros Bizjak On Fri, 17 Jan 2003, Takashi Iwai wrote: > this is because we are using DAC2 for the hw:0,0 and DAC1 for hw:0,1. > i'm not sure why it is. > > Jaroslav, is there any drawback to use DAC1 as default playback? > (i know that the OSS driver uses this order, too.) This switch was for ENS1370 chip which has DAC0 rates a bit restricted. I've reversed streams for ENS1371. > > To > > select this mode set bit27=bit24=1 and bit26=0. It seems that bit27=1 and > > bit24=bit26=0 is identical, but the windows driver clearly does the first, so > > why not? It works... > > > > front only, no rear: bit27=0 bit26=0 bit24=0 > > rear mirrors front: bit27=0 bit26=1 bit24=0 > > front & rear independant: bit27=1 bit26=0 bit24=1 (x?) > > > > > > I patched my driver by inserting the following code around line 1947: > > (I included two lines of overlap to make the location easier to find) > > ============================================= > > outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL)); > > outb(0x00, ES_REG(ensoniq, UART_RES)); > > > > #ifdef CHIP1371 > > /* enable the rear outputs > > This seems to work > > ensoniq->cssr |= (0 << 27) | (1 << 24); > > but the windows driver does this, so let's > > also do it */ > > > > ensoniq->cssr |= (1 << 27) | (1 << 24); > > > > /* > > Use this for mirror mode > > ensoniq->cssr |= (1 << 26);*/ > > #endif > > > > outl(ensoniq->cssr, ES_REG(ensoniq, STATUS)); > > #if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE) > > ============================================= > > > > Maybe there is a better place to put this? I don't know... I put it in the > > snd_ensoniq_create() function because I always want 4ch output, and I don't > > see the use of the other modes in an ALSA enviroment. > > it would be better to create new controls, and changing the controls > via hook in the pcm configuration. Done. Pieter, can you try the latest CVS source. When surround DAC is found, there should be 'AC97 2ch->4ch Copy Switch' which controls mirroring / separating channels. The front only configuration will be used only for cards with no surround DAC. Thank you for your work. Please, update also alsa-lib and test these commands: aplay -Drear <some.wav> aplay -Dplug:surround40 <some.wav> Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 11:32 ` Jaroslav Kysela @ 2003-01-17 12:11 ` Pieter Palmers 2003-01-17 12:10 ` Takashi Iwai 2003-01-17 14:08 ` Jaroslav Kysela 0 siblings, 2 replies; 20+ messages in thread From: Pieter Palmers @ 2003-01-17 12:11 UTC (permalink / raw) To: Jaroslav Kysela, Takashi Iwai Cc: alsa-devel@lists.sourceforge.net, Uros Bizjak > > Done. Pieter, can you try the latest CVS source. When surround DAC is > found, there should be 'AC97 2ch->4ch Copy Switch' which controls > mirroring / separating channels. The front only configuration will be > used only for cards with no surround DAC. Thank you for your work. > CVS refuses connection: [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa CVS password: cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused [ppalmers@ox ppalmers]$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa co alsa-driver cvs [checkout aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused Web based access also refuses service: An error occured while loading http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa: Timeout on server cvs.sourceforge.net Pieter ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 12:11 ` Pieter Palmers @ 2003-01-17 12:10 ` Takashi Iwai 2003-01-17 12:18 ` Pieter Palmers 2003-01-17 14:08 ` Jaroslav Kysela 1 sibling, 1 reply; 20+ messages in thread From: Takashi Iwai @ 2003-01-17 12:10 UTC (permalink / raw) To: Pieter Palmers Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net, Uros Bizjak At Fri, 17 Jan 2003 13:11:12 +0100, Pieter Palmers wrote: > > > > > Done. Pieter, can you try the latest CVS source. When surround DAC is > > found, there should be 'AC97 2ch->4ch Copy Switch' which controls > > mirroring / separating channels. The front only configuration will be > > used only for cards with no surround DAC. Thank you for your work. > > > > CVS refuses connection: > > [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login > Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa > CVS password: > cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused yes, the problem seems on the sf site. please try cvs snapshot available on the alsa ftp. Takashi ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 12:10 ` Takashi Iwai @ 2003-01-17 12:18 ` Pieter Palmers 0 siblings, 0 replies; 20+ messages in thread From: Pieter Palmers @ 2003-01-17 12:18 UTC (permalink / raw) To: Takashi Iwai Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net, Uros Bizjak > > yes, the problem seems on the sf site. > please try cvs snapshot available on the alsa ftp. > snapshots on the ftp site are of size 0Mb since 15-1-2003. ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 12:11 ` Pieter Palmers 2003-01-17 12:10 ` Takashi Iwai @ 2003-01-17 14:08 ` Jaroslav Kysela 2003-01-17 14:14 ` Takashi Iwai 1 sibling, 1 reply; 20+ messages in thread From: Jaroslav Kysela @ 2003-01-17 14:08 UTC (permalink / raw) To: Pieter Palmers; +Cc: Takashi Iwai, alsa-devel@lists.sourceforge.net On Fri, 17 Jan 2003, Pieter Palmers wrote: > > > > > Done. Pieter, can you try the latest CVS source. When surround DAC is > > found, there should be 'AC97 2ch->4ch Copy Switch' which controls > > mirroring / separating channels. The front only configuration will be > > used only for cards with no surround DAC. Thank you for your work. > > > > CVS refuses connection: > > [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login > Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa > CVS password: > cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused > > [ppalmers@ox ppalmers]$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa co alsa-driver > cvs [checkout aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused > > Web based access also refuses service: > > An error occured while loading http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa: > > Timeout on server > cvs.sourceforge.net Everything works from here... Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 14:08 ` Jaroslav Kysela @ 2003-01-17 14:14 ` Takashi Iwai 0 siblings, 0 replies; 20+ messages in thread From: Takashi Iwai @ 2003-01-17 14:14 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Pieter Palmers, alsa-devel@lists.sourceforge.net At Fri, 17 Jan 2003 15:08:45 +0100 (CET), Jaroslav Kysela wrote: > > On Fri, 17 Jan 2003, Pieter Palmers wrote: > > > > > > > > > Done. Pieter, can you try the latest CVS source. When surround DAC is > > > found, there should be 'AC97 2ch->4ch Copy Switch' which controls > > > mirroring / separating channels. The front only configuration will be > > > used only for cards with no surround DAC. Thank you for your work. > > > > > > > CVS refuses connection: > > > > [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login > > Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa > > CVS password: > > cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused > > > > [ppalmers@ox ppalmers]$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa co alsa-driver > > cvs [checkout aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused > > > > Web based access also refuses service: > > > > An error occured while loading http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa: > > > > Timeout on server > > cvs.sourceforge.net > > Everything works from here... yeah, it works again! Takashi ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371) 2003-01-17 9:55 ` Takashi Iwai 2003-01-17 10:36 ` Pieter Palmers 2003-01-17 11:32 ` Jaroslav Kysela @ 2003-01-17 12:00 ` Uros Bizjak 2003-01-17 12:47 ` support for SAM940x based cards Pieter Palmers 2 siblings, 1 reply; 20+ messages in thread From: Uros Bizjak @ 2003-01-17 12:00 UTC (permalink / raw) To: Takashi Iwai; +Cc: Pieter Palmers, alsa-devel, Jaroslav Kysela Takashi Iwai wrote: >>Does ALSA support non-DMA audio transfer? I believe the ISIS uses this kind of >>transfers, but I don't know for sure yet. I know it's stupid design not to >>use DMA, but there is nothing to do about it I guess. >> >> > >yes, but the implementation depends on the driver. >you can use tasklet for transferring the data e.g. via io-port >read/write. > >Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS >uses a similar (same?) chip. he might be able to help the development >of this driver. > Yes, I have working code to communicate with SAM9407 chip (microcode loading, memory management, channel allocation, control interface, etc) and I have just start working on PCM interface. Unfortunatelly, I haven't got any time to implement PCM routines, but all the low-level routines are in place. The code is written for older 0.9.x version of ALSA (as I didn't yet port it to latest CVS). If anybody is interested in helping with this project, I would gladly share my (partially functional) code. Code is tested with EWS64XL (PnP detection of SAM9407, i2c stuff and TEA chips are working OK), has many comments, and basically just waits for someone to "fill in the blanks" on PCM part. Regarding sam9407: When you set up PCM channel and start transfer, chip will signal to driver, when it is ready to receive data. Following this signal, you send data block with outsw()/insw() command and terminate transfer with chip-specific message sent to SAM9407 control port. Some kind of pseudo DMA. Uros. ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* support for SAM940x based cards 2003-01-17 12:00 ` Uros Bizjak @ 2003-01-17 12:47 ` Pieter Palmers 2003-01-17 13:09 ` Uros Bizjak 0 siblings, 1 reply; 20+ messages in thread From: Pieter Palmers @ 2003-01-17 12:47 UTC (permalink / raw) To: Uros Bizjak, Takashi Iwai; +Cc: alsa-devel, Jaroslav Kysela > Yes, I have working code to communicate with SAM9407 chip (microcode > loading, > memory management, channel allocation, control interface, etc) and I > have just start > working on PCM interface. Unfortunatelly, I haven't got any time to > implement > PCM routines, but all the low-level routines are in place. The code is > written for older > 0.9.x version of ALSA (as I didn't yet port it to latest CVS). > > If anybody is interested in helping with this project, I would gladly > share my (partially > functional) code. Code is tested with EWS64XL (PnP detection of SAM9407, > i2c stuff > and TEA chips are working OK), has many comments, and basically just > waits for someone to > "fill in the blanks" on PCM part. > I would surely be interested in this code. I think a lot of code can be shared between the cards. The transfer mechanism of the ISIS different, but I think it can fit into a general approach i.e. a generic driver for the SAM970x chip supported by an 'architecture dependant' driver. The isis uses the maestro as a PCI to ISA bride and transfers from/to the chip should be done like this: (disassembled source at http:/isisalsa.sourceforge.net/assembler.htm) registers involved: MAESTRO_BASE + 44h: address of the ISA port (IDMA in ESS terminology) on the maestro. MAESTRO_BASE + 46h: data register for the ISA port so basically transfers come down to this: (disassembled from win drivers) mov ax, 1 ; address 0x01 is the SAM control port mov dx, MAESTRO_BASE add dx, 44h out dx, ax ; select control port mov dx, MAESTRO_BASE add dx, 46h ; switch to data register in ax, dx ; read value by the way: does anyone know why they don't do it like this: mov ax, 1 ; address 0x01 is the SAM control port mov dx, MAESTRO_BASE add dx, 44h out dx, ax ; select control port add dx, 02h ; switch to data register in ax, dx ; read value compiler issue? to illustrate this even further, consider this piece of code also disassembled from the win driver: looppoint1: mov dx, 1 push dx mov ax, dx mov dx, MAESTRO_BASE add dx, 44h ; Add out dx, ax ; control port mov dx, MAESTRO_BASE add dx, 46h ; Add in ax, dx ; read port and ax, 0FFh ; keep lower 8 bits * push ax * mov ax, 2 * mov dx, MAESTRO_BASE * add dx, 44h ; Add * out dx, ax ; DATA16 port * pop ax pop dx test al, 80h ; is TE=0 ? jz short read_word ; TE = 1 => data present loop looppoint1 ; Loop while CX != 0 I marked the strange part of the code with an asterix. Isn't this pure overhead? that aside, let's get back to the main issue... The actual PCM data transfer is done with a 'repsw outw' command as sayd by Uros. Something like: mov dx, 2 mov dx, MAESTRO_BASE add dx, 44h ; Add out dx, ax ; DATA16 port mov dx, MAESTRO_BASE add dx, 46h ; Add repsw outw ... (forgot syntax) I wondered if it isn't possible to use the Maestro DMA capability to transfer the large chunks from main memory to the ISA/IDMA port independant from CPU? Do we have any information on this 'DSP modem' or IDMA port on the Maestro family? (I assume that ESS hasn't changed that much between Maestro generations) Pieter PS: I have the sourcecode of the Hoontech ST128 windows drivers (both 9x and WDM). If you want them, you can download them at http://isisalsa.sourceforge.net. These cards are based on SAM940x chips. PPS: What do you think of the statement that this type of transfer isn't supported in WinXP/NT due to the HAL that OS uses? This is the justification of Guillemot not to provide WinXP drivers. ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: support for SAM940x based cards 2003-01-17 12:47 ` support for SAM940x based cards Pieter Palmers @ 2003-01-17 13:09 ` Uros Bizjak 0 siblings, 0 replies; 20+ messages in thread From: Uros Bizjak @ 2003-01-17 13:09 UTC (permalink / raw) To: Pieter Palmers; +Cc: Takashi Iwai, alsa-devel, Jaroslav Kysela Pieter Palmers wrote: >> Yes, I have working code to communicate with SAM9407 chip (microcode >>loading, >>memory management, channel allocation, control interface, etc) and I >>have just start >>working on PCM interface. Unfortunatelly, I haven't got any time to >>implement >>PCM routines, but all the low-level routines are in place. The code is >>written for older >>0.9.x version of ALSA (as I didn't yet port it to latest CVS). >> >> If anybody is interested in helping with this project, I would gladly >>share my (partially >>functional) code. Code is tested with EWS64XL (PnP detection of SAM9407, >>i2c stuff >>and TEA chips are working OK), has many comments, and basically just >>waits for someone to >>"fill in the blanks" on PCM part. >> >> >> > >I would surely be interested in this code. I think a lot of code can be shared >between the cards. The transfer mechanism of the ISIS different, but I think >it can fit into a general approach i.e. a generic driver for the SAM970x chip >supported by an 'architecture dependant' driver. > I have prepared a snapshot of my sam9407 directory at www2.arnes.si/~krklubsls1/sam9407-19.Dec.2002-NW.tar.gz This code has been in working state a couple of months ago, but now it is broken because of not-yet-finished PCM changes. BTW: I have uploaded some documents found on various sites regarding sam9407 programming: www2.arnes.si/~krklubsls1/TTFirm.ps www2.arnes.si/~krklubsls1/progref.ps And, there are linux drivers (OSS) - also for ISIS - on http://www.anime.net/~sam9407/ Uros. ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP) 2003-01-16 23:11 ` Benny Sjostrand 2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers @ 2003-01-17 0:38 ` Richard Olsson 2003-01-18 11:13 ` Christian Esken 2 siblings, 0 replies; 20+ messages in thread From: Richard Olsson @ 2003-01-17 0:38 UTC (permalink / raw) To: alsa-devel Benny Sjostrand <gorm@cucumelo.org> wrote: > My opinion: the GameTheater XP it's a cheap soundcard with a beautiful > blue box. Usually cheap soundcard got a cheap design as result of a > tiny bugdet, so just dont expect to much from the analog part's. Constantly saying that it's a cheap soundcard isn't really a solution though. While it might not be a card suited for an audiophile it's certainly better than several other cards out there. And the Windows drivers don't have any problems like this. ;) My GTXP works well enough though, though sound does get disorted/etc when using more than ~80% volume as well. I hardly see that as a problem though. -- Richard Olsson E: flame@home.se W: http://www.nyo-box.net/ ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP) 2003-01-16 23:11 ` Benny Sjostrand 2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers 2003-01-17 0:38 ` cs64xx distortion (GameTheater XP) Richard Olsson @ 2003-01-18 11:13 ` Christian Esken 2003-01-18 16:06 ` Benny Sjostrand 2 siblings, 1 reply; 20+ messages in thread From: Christian Esken @ 2003-01-18 11:13 UTC (permalink / raw) To: Benny Sjostrand; +Cc: alsa-devel Am Friday 17 January 2003 00:11 schrieb Benny Sjostrand: > >I wonder what the status of the cs64xx distortion problem is. > >I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP > > My opinion: the GameTheater XP it's a cheap soundcard with a beautiful > blue box. Usually cheap soundcard got a cheap design as result of a tiny > bugdet, so just dont expect to much from the analog part's. I don't buy this opinion! Measurements published in sound card tests show a pretty good sound quality. But apart from that: The sound quality in Linux has NOTHING to do with the capabilities of the card (as it has no problems under Windwos): - Sound quality of the card: good (or fair or whatever you like) - Sound quality under Linux: very very very very bad. > Actually I got a Hercules GameTheater XP 6.1, when volume is over about > a ~80% the output is sometimes distorcionated, but I believe that's > something we cant do anything about in the driver. Limit some volume > control's in the driver dont feel like a coherent solution. > > The card is still usable, I really dont expect to better quality on > analog output with this soundcard. Alas - my GameTheater XP 7.1 is not (except digital output). So if this problem is a known issue, sholdn't there be a hint in the Alsa Sound Card Matrix. I don't blame anybody (except perhaps CS), but I think others should be warned on possible problems. Chris ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will allow you to extend the highest allowed 128 bit encryption to all your clients even if they use browsers that are limited to 40 bit encryption. Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP) 2003-01-18 11:13 ` Christian Esken @ 2003-01-18 16:06 ` Benny Sjostrand 2003-01-18 18:04 ` Friedrich Ewaldt 0 siblings, 1 reply; 20+ messages in thread From: Benny Sjostrand @ 2003-01-18 16:06 UTC (permalink / raw) To: Christian Esken; +Cc: alsa-devel > > >I don't buy this opinion! Measurements published in sound card tests show >a pretty good sound quality. > > Thoose review usually compares the Hercules GTXP with the Sounblaster Audigy with breakout box. But about personal soundcard opinions is something I think we should discuss outside this mailinglist ... >But apart from that: The sound quality in Linux has NOTHING to do with >the capabilities of the card (as it has no problems under Windwos): >- Sound quality of the card: good (or fair or whatever you like) > We dont't known what kind of dirty is hack's possibly could be implemented in the Windows driver to compensate the bad sound. We know that the DSP is able to do much more that actually is done in the Linux driver, reverb effects, delay, band pass filters, mp3 decoding etc. For example what about having a light reverb effect on front speakers, and a little bit more reverb on rear speakers + some delay, and let's limit the volume controls a little bit to get rid of the a possible distorcion, and some few band pass filters. Do you think that would improve the sound quality ? What actually Hercules sells is more SW than HW, there is about three version of the Hercules GTXP 5.1, 6.1, 7.1 The the only difference between theese cards seems to be the delivered SW (which you probably never will use under Linux) I dont discard posibility that there's something specific about the GTXP hw, that we dont know and we should know that could improve sound, but I believe that this posibilty is very small. >- Sound quality under Linux: very very very very bad. > > It's possible to get good sound quality under Linux with the GTXP, if you use an external amplifier, some options that I can mention: - External receiver with digital in, using the SPDIF output - External receiver using the analog inputs, using the un-amplified outputs from the GTXP - Use any kind of active speakers (speakers with it's own amplifier built-in) Just dont rely to much on the soundcard amplifier. >So if this problem is a known issue, sholdn't there be a hint in the >Alsa Sound Card Matrix. I don't blame anybody (except perhaps >CS), but I think others should be warned on possible problems. > > > If we think that this is a problem in the driver that can be fixed in the driver. /Benny ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will allow you to extend the highest allowed 128 bit encryption to all your clients even if they use browsers that are limited to 40 bit encryption. Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP) 2003-01-18 16:06 ` Benny Sjostrand @ 2003-01-18 18:04 ` Friedrich Ewaldt 0 siblings, 0 replies; 20+ messages in thread From: Friedrich Ewaldt @ 2003-01-18 18:04 UTC (permalink / raw) To: Benny Sjostrand; +Cc: Christian Esken, alsa-devel Benny Sjostrand wrote: > We dont't known what kind of dirty is hack's possibly could be > implemented in the Windows driver to compensate the bad sound. We > know that the DSP is able to do much more that actually is done in the > Linux driver, reverb effects, delay, band pass filters, mp3 decoding > etc. For example what about having a light reverb effect on front > speakers, and a little bit more reverb on rear speakers + some delay, > and let's limit the volume controls a little bit to get rid of the a > possible distorcion, and some few band pass filters. Do you think that > would improve the sound quality ? > > What actually Hercules sells is more SW than HW, there is about three > version of the Hercules GTXP 5.1, 6.1, 7.1 The the only difference > between theese cards seems to be the delivered SW (which you probably > never will use under Linux) > > I dont discard posibility that there's something specific about the > GTXP hw, that we dont know and we should know that could improve > sound, but I believe that this posibilty is very small. I didn't hear this 'bad' sound quality of the GTXP because I've a cs46xx based terratec DMX XFire. The sound quality of the XFire is exactly the same as under windows, i.e. much better than a cheap $10 soundcard. There's not much hardware on the XFire: Basically just the CS4624, a CS4294 codec and two LM386 amplifiers (very cheap 1 watt amps). The windows driver of the XFire doesn't change the sound in any way like adding reverberation, stereo expanding or equalizing (It does only, if you tell it to do), i.e. the card acts as a transparent system that just outputs every sample like it was told by any application. I think that will be also the case for the GTXP under windows (but I can't check as I don't own this card). There seem to be other hardware components on the GTXP wich are not correctly initialized. > >> - Sound quality under Linux: very very very very bad. >> >> > It's possible to get good sound quality under Linux with the GTXP, if > you use an external amplifier, some options that I can mention: > - External receiver with digital in, using the SPDIF output > - External receiver using the analog inputs, using the un-amplified > outputs from the GTXP > - Use any kind of active speakers (speakers with it's own amplifier > built-in) > > Just dont rely to much on the soundcard amplifier. If the GTXP is used in the same way as under windows (e.g. line output connected to external amp or active speakers), the sound quality should be more or less the same. As Christian says the sound quality is very ve...ry bad, I think it must be related with card initialization (something like the DC offset problem with the XFire or a not powered up amplifier). I do not think that the driver has to do some equalization to get good quality. The hardware on this card should deliver good quality without software tricks. (Of course correct initialization is necessary which could perhaps easily done *with some more help provided by this "Cirrus" company*). Chrisian, perhaps you can specify/describe the type of distortion more precisely so that it's easier to guess the reason for the bad sound. Does it sound like overload? Is the output unequalized, i.e. lack of low or high frequency components. Are quiet sounds also/more/less distorted? Especially: Are sounds below a volume threshold not ouput, quite sounds totally muted? You reported that lowering pcm/master volume makes the quality somewhat better. What about playing back quiet sounds with pcm/master volume turned up compared to playing back loud sounds with pcm/master volume turned down? Do you get different quality depending on the analog output used (line out with external amp compered to speaker output)? I don't know about the possibility of the GTXP to power down the internal amps. If the sound at line output is ok, that could be the reason for the bad quality. ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will allow you to extend the highest allowed 128 bit encryption to all your clients even if they use browsers that are limited to 40 bit encryption. Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2003-01-18 18:04 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-01-15 23:14 cs64xx distortion (GameTheater XP) Christian Esken 2003-01-16 10:24 ` Takashi Iwai 2003-01-16 23:11 ` Benny Sjostrand 2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers 2003-01-17 9:55 ` Takashi Iwai 2003-01-17 10:36 ` Pieter Palmers 2003-01-17 10:48 ` Takashi Iwai 2003-01-17 11:32 ` Jaroslav Kysela 2003-01-17 12:11 ` Pieter Palmers 2003-01-17 12:10 ` Takashi Iwai 2003-01-17 12:18 ` Pieter Palmers 2003-01-17 14:08 ` Jaroslav Kysela 2003-01-17 14:14 ` Takashi Iwai 2003-01-17 12:00 ` Uros Bizjak 2003-01-17 12:47 ` support for SAM940x based cards Pieter Palmers 2003-01-17 13:09 ` Uros Bizjak 2003-01-17 0:38 ` cs64xx distortion (GameTheater XP) Richard Olsson 2003-01-18 11:13 ` Christian Esken 2003-01-18 16:06 ` Benny Sjostrand 2003-01-18 18:04 ` Friedrich Ewaldt
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.