[alsa-devel] Backported sbxfi driver (UNTESTED!)
The Source
thesourcehim at gmail.com
Thu Oct 16 15:36:04 CEST 2008
Xarteras пишет:
> Takashi Iwai wrote:
>
>> At Thu, 16 Oct 2008 12:03:41 +0000 (UTC),
>> Jan Wolf wrote:
>>
>>> Takashi Iwai <tiwai <at> suse.de> writes:
>>>
>>>
>>>> Hi,
>>>>
>>>> $SUBJECT is now on my sound-unstable git tree:
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-unstable-2.6.git
>>>> together with other experimental patches.
>>>>
>>>> If you're using 2.6.27-rc* git tree, pull the master branch of the
>>>> tree above into yours, and run make oldconfig. That is,
>>>> % cd /your/git-tree
>>>> % git pull git://...../sound-unstable-2.6.git master
>>>>
>>>> If you are not using 2.6.27-rc*, or not familiar with git, you can try
>>>> alsa-driver-unstable snapshot tarball available at
>>>> ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/
>>>> Run configure, make and make install as usual ALSA-driver tarball.
>>>>
>>>> (I didn't check whether the tarball correctly includes the sbxfi
>>>> stuff. It should have been generated automatically. If not, wait
>>>> for a while. If it still doesn't include sbxfi code, please report.
>>>> I'll fix it tomorrow morning.)
>>>>
>>>> The driver is built only for 2.6.26 or later. If you have an older
>>>> kernel, edit alsa-driver*/kconfig-vers and change the version of
>>>> CONFIG_SND_SBXFI to 2.6.24 or whatever you want. Then run
>>>> ./gitcompile, instead of configure in this case to update the
>>>> configure script.
>>>>
>>>> **NOTE**
>>>> The driver is totally untested. It's just compiled without errors,
>>>> but not reviewed after a quick writing. So, don't expect it ever runs
>>>> at the first try. A crash is highly possible.
>>>>
>>>> There are some build conditions found in sound/pci/sbxfi/sbxfi.c,
>>>> starting with XXX_*. You can change it if you want. As default, it's
>>>> for non-fullduplex but accept different rates. Not sure whether this
>>>> works at all.
>>>>
>>>> Any test- (and better debugging-) reports are appreciated.
>>>>
>>>> thanks,
>>>>
>>>> Takashi
>>>>
>>>>
>>> I finally managed to play music over xmms with this driver.
>>> I needed to modify something, because most music is 44100Hz and the driver did
>>> not work with this rate.
>>>
>>> 61,62c61,62
>>> < #undef XXX_48K_ONLY
>>> < #define XXX_CONT_RATE
>>> ---
>>>
>>>> #define XXX_48K_ONLY
>>>> #undef XXX_CONT_RATE
>>>>
>>> 529a530,532
>>>
>>>> case 44100:
>>>> ratec = 0x4c;
>>>> break;
>>>>
>>> It also needs to run in 48000Hz mode or else it will playback way to slow.
>>>
>> So, XXX_96K_ONLY doesn't work well?
>>
>>
>
> Interesting, XXX_96K_ONLY also works, just XXX_CONT_RATE doesn't.
>
>
>>> I think this flag in ratec switches to 96KHz mode in the X-Fi, in windows this
>>> mode is only available in Audio creation mode, so it must be handled in a
>>> special way somehow.
>>>
>> Thanks, good to know ;)
>>
>
> It's just speculation on my part, but as I just played around with the
> flag it didn't seem to do anything, at least with 44100Hz input.
> Otherwise the code I patched in just makes sure ratec is set at all when
> playing back at 44100Hz, otherwise playback in xmms just hangs.
>
>
>> And, which X-Fi model do you have?
>> Please show the lspci -nv output, too.
>>
>>
>
> I've got the X-Fi Elite Pro.
> That's The one with the external In/Out box.
>
> Speaking of which, the headphone jack on it does not output a signal
> yet, the signal only goes to line out.
>
> There's some relais on the card that seem to switch these, they click
> multiple times with the windows driver and not all all with yours, I
> think that's the reason :)
>
Original OSS driver doesn't output to external block also, so it
wouldn't be easy to make this support I think.
> And lspci outputs:
>
> 05:08.0 Multimedia audio controller [0401]: Creative Labs SB X-Fi
> [1102:0005]
> Subsystem: Creative Labs Device [1102:0022]
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
> >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 32 (1000ns min, 1250ns max), Cache Line Size: 32 bytes
> Interrupt: pin A routed to IRQ 18
> Region 0: I/O ports at b400 [size=32]
> Region 1: Memory at c5000000 (64-bit, non-prefetchable) [size=2M]
> Region 3: Memory at c0000000 (64-bit, non-prefetchable) [size=64M]
> Capabilities: [40] Power Management version 2
> Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+
> Queue=0/0 Enable-
> Address: 0000000000000000 Data: 0000
> Kernel driver in use: SB-XFi
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
>
More information about the Alsa-devel
mailing list