Penguin

Differences between version 17 and predecessor to the previous major change of AlsaNotes.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 17 Last edited on Tuesday, June 6, 2006 3:10:48 pm by IanMcDonald Revert
Older page: version 16 Last edited on Thursday, December 8, 2005 9:48:17 pm by AlastairPorter Revert
@@ -13,11 +13,11 @@
  
 !!! Soundblaster SB16 module 
 On my LinuxKernel2.6 system, I couldn't load the alsa module for the [ISA] SB16 card, 
 no matter what I did. Eventually, I discovered it loaded fine if I disabled the "isapnp" 
-option for the module. Eg in /etc/modprobe.conf, I had 
+option for the module. Eg in <tt> /etc/modprobe.conf</tt> , I had 
  
- options snd-sb16 isapnp= 
+<tt> options snd-sb16 isapnp=</tt>  
  
 It seemed to be defaulting to trying to use isapnp but that didn't work, whether or not 
 I enabled kernel isapnp support and bios PNP support. 
  
@@ -25,9 +25,9 @@
 !!! Compiling [ALSA] on RedHatLinux 
  
 if modprobe(8) complains about unresolved symbols in __schedule_work__, you need to run 
  
- touch include/linux/workqueue.h 
+<tt> touch include/linux/workqueue.h</tt>  
  
 between __./configure__ and make(1) on __alsa-driver__. 
  
  
@@ -35,27 +35,31 @@
 !!! 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. 
  
+<verbatim>  
  rpmbuild --rebuild alsa-driver.x.y.z-p.src.rpm \ 
  --define 'cards als4000' --target $arch 
+</verbatim>  
  
 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 
+<tt> rpm -ivh alsa-driver.x.y.z-p.src.rpm</tt>  
  
 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 
+<tt> touch include/linux/workqueue.h</tt>  
  
 Finally, [RPM] needs to be told to build the ''spec file'': 
  
+<verbatim>  
  rpmbuild -bb --define 'cards als4000' --target $arch \ 
  alsa-driver.x.y.z-p.spec 
+</verbatim>  
  
 You can now install the [RPM]s built in the __RPMS/$arch/__ directory. 
  
  
@@ -70,9 +74,9 @@
  
 There are some problems with this. First of all, OSS kernel emulation wont go through this layer. For an OSS-based application to use this, you need to use the aoss helper utility. Also, for SDL based applications (usually games) to use this, you will want the environment variable AUDIODEV to be set to "default" (export AUDIODEV=default). 
  
 Basically, all you need to do is get alsa going, then put the following in a .asoundrc file in your home directory. 
-  
+<verbatim>  
  # .asoundrc file. Put this in your home directory. 
  
  pcm.mixed { 
  type dmix 
@@ -112,9 +116,9 @@
  pcm.mixer0 { 
  type hw 
  card 0 
 
-  
+</verbatim>  
  
  
  
 !!! Playing MIDI files on a SBLive! sound card 
@@ -142,11 +146,15 @@
  Locked Instruments: 1849 
  Locked Samples: 526 
  
 3) Use the "playmidi" program (debian: apt-get install playmidi), using the "-a" option to tell it to be AWE-compatible: 
+<tt>  
  $ playmidi -a /path/to/midi/file.mid 
-  
+</tt>  
  
 Make sure the volume for the sequencer isn't muted; in "alsamixer", you are looking for the slider named "Music". 
  
 !!Software playback of MIDI files 
 You can always install the "timidity" package - this is a software synthesizer that reads midi files and sends "normal" PCM data to the soundcard, just like an MP3 or OGG playing program would. Be warned that timidity is a large download as it has lots of samples. 
+  
+!!! Problem - not all sound devices work  
+If one of your sound devices doesn't work and you get an error similar to <tt>EMU10K1_Audigy: probe of 0000:02:0a.0 failed with error -12</tt> then it might be because the devices are fighting over which sound card number they want to be. To fix this alter the sound card module options (see [Module] page on how to do this). One example of a configuration that works is <tt>options snd-emu10k1 index=-15</tt>. The <tt>index</tt> parameter specifies which card becomes which number, or if negative then it is a bitmask of numbers that it can be autoassigned to. To learn more about this look at the LinuxKernel source file <tt>Documentation/sound/alsa/ALSA-Configuration.txt</tt>