Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
AlsaNotes
Edit
PageHistory
Diff
Info
LikePages
You are viewing an old revision of this page.
View the current version
.
!!! Compiling [ALSA] on RedHatLinux if modprobe(8) complains about unresolved symbols in __schedule_work__, you need to run touch include/linux/workqueue.h between __./configure__ and make(1) on __alsa-driver__. !!! Compiling [ALSA] on RedHatLinux using the FreshRpms [SRPM] You probably want to set up your own __.rpmmacros__ file first, as per [RPMNotes]. Remember to specify the target architecture and the card (see the [ALSA soundcard matrix|http://www.alsa-project.org/alsa-doc/] to find yours) to compile for, eg. rpmbuild --rebuild alsa-driver.x.y.z-p.src.rpm --define 'cards als4000' --target $arch where __$arch__ might be __athlon__, f.ex. The [RPM]s will end up in __RPMS/$arch/__, ie f.ex in __RPMS/athlon/__. As with all source builds, you will need to recompile the [SRPM] if you upgrade your [Kernel]; you only need to install the kernel-module-alsa [RPM], however. !! modprobe(8) complains about unresolved symbols in ''schedule_work'' You will need to get your hands dirty a bit. Install the [SRPM]: rpm -ivh alsa-driver.x.y.z-p.src.rpm Now open the __alsa-driver.x.y.z-p.spec__ in the __SPECS/__ directory, locate the __%configure__ and __make__ commands and add the following command between them. touch include/linux/workqueue.h Finally, [RPM] needs to be told to build the ''spec file'': rpmbuild -bb --define 'cards als4000' --target $arch alsa-driver.x.y.z-p.spec You can now install the [RPM]s built in the __RPMS/$arch/__ directory. !!! Software Mixing With Alsa You can get alsa to do software mixing for you without having to resort to something like ESounD. This is done via the dmix plugin and is documented [here|http://alsa.opensrc.org/index.php?page=DmixPlugin]. Basically, all you need to do is get alsa going, then put the following in a .asoundrc file in your home directory. # .asoundrc file. Put this in your home directory. pcm.mixed { type dmix ipc_key 123456 # Any unique value ipc_key_add_uid true # No idea... slave { pcm "hw:0,0" # Apparently for OSS emulation device, you have to set the period # and the buffer sizes in powers of two. period_time 0 period_size 1024 # must be power of 2 buffer_size 4096 # ditto rate 44100 } # bindings are cool. This says, that only the first # two channels are to be used by dmix, which is enough for # (most) oss apps and also lets multichannel chios work # much faster: bindings { 0 0 # from 0 => to 0 1 1 # from 1 => to 1 } } pcm.!default { type plug slave.pcm mixed } pcm.dsp0 { type plug slave.pcm mixed } pcm.mixer0 { type hw card 0 }
3 pages link to
AlsaNotes
:
AudioNotes
UserSubmittedNotes
pci/1102:0002