home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / unmaintained / mini / Gravis-Ultra-Sound < prev    next >
Text File  |  1998-01-14  |  8KB  |  197 lines

  1. [ 15 January 1998
  2.   The Linux Gravis Ultra Sound mini-HOWTO is not being maintained by 
  3.   the author any more.  If you are interested in maintaining the 
  4.   Gravis Ultra Sound mini-HOWTO, please get in touch with me at 
  5.   <gregh@sunsite.unc.edu>. ]
  6.  
  7. THE GUS MINI HOWTO
  8.  
  9. Version 0.2.2; 14/9/1997 (that's European date format ;-)
  10.  
  11. (C)opyright 1997 Nicolai Langfeldt (janl@math.uio.no)
  12.  
  13. This is a HOWTO on how to get Gravis Ultra Sound cards working under
  14. Linux.  Specifically I describe the the 'Perex Ultra' driver for
  15. Linux, it's a alternate sound driver for GUS cards, including GUS PnP.
  16.  
  17. The regular sound driver in Linux can drive most GUS cards, but not
  18. GUS PnP, easily.  If you read the "Initializing PnP cards" and look at
  19. the referred configuration files you can probably work out to get the
  20. regular driver to work though, it's not, strictly speaking, magic.  An
  21. other alternative is 4Front's commercial driver, for which you can
  22. obtain a 5 day trial version.  See http://www.4Front-Tech.com/ (this
  23. is a much enhanced commercial version of the regular Linux sound
  24. driver).  Of all the three drivers 4Front's driver was easiest to get
  25. working on my machine.  It is my opinion that the Perex Ultra driver
  26. is the best free alternative.
  27.  
  28. * Getting it
  29.  
  30. First of all: you need root access to the machine you're installing
  31. on.  If you haven't got that you can forget installing sound drivers.
  32.  
  33. Then you get the driver.  http://www.pf.jcu.cz/~perex/ultra/ lists a
  34. number of ftp sites.  The home site is
  35. ftp://romeo.pf.jcu.cz/pub/perex/ultra/.  In the directory final you
  36. find the final, working, versions of the driver.  At this time
  37. (6/9/97) the latest is 2.71b.  Fetch the driver version you want.
  38.  
  39. * Problems?
  40.  
  41. If, you like me, get problems getting any sound out of the card at all
  42. you must debug.  To help with this the distribution contains a FAQ
  43. (the file is called FAQ ;-)
  44.  
  45. * Installing
  46.  
  47. I will assume directory and filenames are according to the 2.71b
  48. version.  Unpack it (tar xvzf ultra-2.71b.tgz).  It unpacks into a new
  49. directory, ultra-2.71b, cd there.
  50.  
  51. First you have to configure the package.  Simply type './configure'.
  52. It will figure out what kind of CPU you have, and how many.  Please
  53. note that a ultra driver compiled for SMP (multi-CPU) machines will
  54. not work on single CPU machines, and vice versa.
  55.  
  56. To compile go 'make compile'.  It will print some CPU and architecture
  57. info, install paths and ask you to press return.  If you're unhappy
  58. with something it printed press ^C and edit the Makefile to match your
  59. tastes.  Otherwise press return (enter).  If you change the paths, be
  60. aware that some programs, like ultramidi expect the midi config files
  61. to be in /usr/local/etc no matter where the top Makefile has them
  62. placed.  At the next prompt (GUSCFG_MAJOR question) press return
  63. again.  At the next prompt (GUSCFG_ALL) decide if you want a driver
  64. that can handle all GUS cards or not.  One for all cards will be
  65. slightly larger.  If you answer 'n' you now get to select what card(s)
  66. to support, select the card(s) you want.  Press return on all the
  67. prompts thereafter.  The driver should now compile.
  68.  
  69. If there are any compilation errors fix them, and report them to Perex
  70. (email: perex@pf.jcu.cz).  You can ignore all/any warnings.
  71.  
  72. Once it compiles ok do 'make install'.  This will install the driver,
  73. config files and the accompanying binaries in the directories shown
  74. when the compilation started.
  75.  
  76. * Initializing PnP cards
  77.  
  78. If you have a PnP card you _might_ need to do some more work.  I had
  79. to do what I describe in this section to get my card working.  Other
  80. people has told me they didn't have to, and indeed, it's supposed to
  81. work without doing this.  If after loading the driver and trying to
  82. play sounds (see the next section; "Getting it working") there is no
  83. sound and /dev/gusinfo is unreadable go back here.  If it works with
  84. no special initialization; cool.
  85.  
  86. The PnP tools, and a sample configuration file is included in
  87. src/driver/isapnptools-1.7.  cd there.  If you don't have isapnptools
  88. already installed go 'make' to compile the software, and 'cp pnpdump
  89. isapnp /sbin' to install it.  A word of WARNING: Running pnpdump can
  90. cause your computer to lock up real hard, real fast.  The latest
  91. version of isapnptools can be found at
  92. ftp://ftp.demon.co.uk/pub/unix/linux/utils, it's currently at version
  93. 1.10.
  94.  
  95. The file gravis.conf is supplied as an example configuration file.
  96. You can almost certainly use that, with some small modifications.  You
  97. want to configure a card called GRV0001.  But the supplied file
  98. initializes
  99.  
  100.   GRV0001/1
  101.  
  102. Which probably don't match your hardware.  Run 
  103.  
  104.   pnpdump >mygravis.conf
  105.  
  106. The file mygravis.conf will now contain information on all your
  107. ISA-PnP cards.  Look in the file and find the CONFIGURE lines with the
  108. GRV0001 numbers.  On my machine it's:
  109.  
  110.   GRV0001/7332
  111.  
  112. So in my case, I just substitute all instances of GRV0001/1 with
  113. GRV0001/7332.  Put the new file at the end of /etc/isapnp.conf.  Run
  114. 'isapnp /etc/isapnp.conf'.  There won't be any error messages, trust
  115. me >:-).  At this point the card is initialized to the listed
  116. interrupts, DMAs and other things.
  117.  
  118. * Getting it working
  119.  
  120. First run /usr/local/bin/gusdevs.  This will make the special files in
  121. /dev that the gus driver needs.  If the file
  122. /usr/local/etc/gus-midi-gf1.defs isn't there copy it from
  123. src/driver/daemon/gus-midi-gf1.defs in the distribution.
  124.  
  125. Now we'll see if the driver is working.  First connect headphones or
  126. loudspeakers to your card.  Then run 'insgus', it loads the driver.
  127. It should not print any messages, if it does something is wrong.  To
  128. test the driver play some sound.  A very rough test is to copy your
  129. kernel to the sound system.  Try this:
  130.  
  131.   cat /boot/vmlinuz >/dev/audio
  132.  
  133. (this assumes that /boot/vmlinuz is the name of your kernel).  This
  134. should make some noise.  You can adjust the cards volume with the
  135. gusmix or xgusmix program.  The Main/Master and PCM volumes needs to
  136. be up.  If gusmix/xgusmix won't run the driver isn't working at all.
  137. If it dosn't make any sound the driver is not working right.
  138.  
  139. Another diagnostic is to run 'cat /dev/gusinfo'.  If you get a 'no
  140. such device' message things are _not_ working.  This 'file' should
  141. also show the correct amount of memory on your board.
  142.  
  143. * Making it work permanently.
  144.  
  145. Once the driver is working we can modify boot scripts and config files
  146. so that we don't have to think about it anymore.
  147.  
  148. There are two ways to load the driver, with modprobe/kerneld, or by
  149. running the insgus program.  
  150.  
  151. To use the insgus program just put a insgus command in your boot
  152. scripts.  On a RedHat system /etc/rc.d/rc.local is a good place.  If
  153. you have some other system please e-mail me, telling me where to put
  154. the command.  Make sure /usr/local/bin is in your path, or write the
  155. command completely out: /usr/local/bin/insgus.
  156.  
  157. If you have a PnP card you need to run the isapnp command each time
  158. the machine boots: 'isapnp /etc/isapnp.conf'.  Again: On a RedHat
  159. system /etc/rc.d/rc.local is a good place.  Run it _before_ running
  160. insgus though!!!
  161.  
  162. My favorite is using kerneld.  You need to edit your /etc/conf.modules
  163. file.  In the apps-setup directory of the ultra distribution there is
  164. a file called conf.modules:
  165.  
  166. ----
  167. #
  168. # Configuration for GUS driver from The Ultra Sound Project...
  169. #
  170.  
  171. path=/usr/local/etc
  172. alias char-major-14 gus
  173. install gus /usr/local/etc/insgus -Kn
  174. remove gus /usr/local/etc/insgus -Kk
  175. ----
  176.  
  177. Insert it at the end of your /etc/conf.modules file (if you haven't
  178. got one check if you have modules.conf instead, if not, just make
  179. conf.modules).  There is a slight typo in the file (in version 2.71b,
  180. shown above), the path to the insgus program is actually
  181. /usr/local/bin/insgus, so fix that.  Once that is in place the driver
  182. should auto load whenever a sound device is opened for use (when you
  183. try to play a sound or run a mixer program) and after being unused a
  184. while the module will be automatically removed.  More on all this in
  185. the kerneld mini howto.
  186.  
  187. * Finished?
  188.  
  189. That's it.  Follow the links on Perex' Ultra page to find more
  190. information about sound playing and such under Linux.
  191.  
  192. Oh, and, the ultramod and ultramidi programs seem to require that you
  193. have RAM on your sound-card.  I don't have any RAM, so I use mikmod,
  194. available on sunsite.unc.edu to play mod files.  I haven't gotten
  195. around to midi yet.
  196.  
  197.