Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /proc/sound, /dev/sndstat |
| 2 | ------------------------- |
| 3 | |
| 4 | /proc/sound and /dev/sndstat is not supported by the |
| 5 | driver. To find out whether the driver succeeded loading, |
| 6 | check the kernel log (dmesg). |
| 7 | |
| 8 | |
| 9 | ALaw/uLaw sample formats |
| 10 | ------------------------ |
| 11 | |
| 12 | This driver does not support the ALaw/uLaw sample formats. |
| 13 | ALaw is the default mode when opening a sound device |
| 14 | using OSS/Free. The reason for the lack of support is |
| 15 | that the hardware does not support these formats, and adding |
| 16 | conversion routines to the kernel would lead to very ugly |
| 17 | code in the presence of the mmap interface to the driver. |
| 18 | And since xquake uses mmap, mmap is considered important :-) |
| 19 | and no sane application uses ALaw/uLaw these days anyway. |
| 20 | In short, playing a Sun .au file as follows: |
| 21 | |
| 22 | cat my_file.au > /dev/dsp |
| 23 | |
| 24 | does not work. Instead, you may use the play script from |
| 25 | Chris Bagwell's sox-12.14 package (available from the URL |
| 26 | below) to play many different audio file formats. |
| 27 | The script automatically determines the audio format |
| 28 | and does do audio conversions if necessary. |
| 29 | http://home.sprynet.com/sprynet/cbagwell/projects.html |
| 30 | |
| 31 | |
| 32 | Blocking vs. nonblocking IO |
| 33 | --------------------------- |
| 34 | |
| 35 | Unlike OSS/Free this driver honours the O_NONBLOCK file flag |
| 36 | not only during open, but also during read and write. |
| 37 | This is an effort to make the sound driver interface more |
| 38 | regular. Timidity has problems with this; a patch |
| 39 | is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html. |
| 40 | (Timidity patched will also run on OSS/Free). |
| 41 | |
| 42 | |
| 43 | MIDI UART |
| 44 | --------- |
| 45 | |
| 46 | The driver supports a simple MIDI UART interface, with |
| 47 | no ioctl's supported. |
| 48 | |
| 49 | |
| 50 | MIDI synthesizer |
| 51 | ---------------- |
| 52 | |
| 53 | The card both has an OPL compatible FM synthesizer as well as |
| 54 | a wavetable synthesizer. |
| 55 | |
| 56 | I haven't managed so far to get the OPL synth running. |
| 57 | |
| 58 | Using the wavetable synthesizer requires allocating |
| 59 | 1-4MB of physically contiguous memory, which isn't possible |
| 60 | currently on Linux without ugly hacks like the bigphysarea |
| 61 | patch. Therefore, the driver doesn't support wavetable |
| 62 | synthesis. |
| 63 | |
| 64 | |
| 65 | No support from S3 |
| 66 | ------------------ |
| 67 | |
| 68 | I do not get any support from S3. Therefore, the driver |
| 69 | still has many problems. For example, although the manual |
| 70 | states that the chip should be able to access the sample |
| 71 | buffer anywhere in 32bit address space, I haven't managed to |
| 72 | get it working with buffers above 16M. Therefore, the card |
| 73 | has the same disadvantages as ISA soundcards. |
| 74 | |
| 75 | Given that the card is also very noisy, and if you haven't |
| 76 | already bought it, you should strongly opt for one of the |
| 77 | comparatively priced Ensoniq products. |
| 78 | |
| 79 | |
| 80 | Thomas Sailer |
| 81 | t.sailer@alumni.ethz.ch |