================================================================
	INSTALLATION OF AWE32 SOUND DRIVER FOR LINUX
	Takashi Iwai	<iwai@ww.uni-erlangen.de>
================================================================

----------------------------------------------------------------
* Attention to SB-PnP Card Users

If you're using PnP cards, the initialization of PnP is required
before loading this driver.  You have now three options:
  1. Use isapnptools.
  2. Use in-kernel isapnp support.
  3. Initialize PnP on DOS/Windows, then boot linux by loadlin.
In this document, only the case 1 case is treated.

----------------------------------------------------------------
* Installation on Red Hat 5.0 Sound Driver

Please use install-rh.sh under RedHat5.0 directory.
DO NOT USE install.sh below.
See INSTALL.RH for more details.

----------------------------------------------------------------
* Installation/Update by Shell Script

  1. Become root

	% su

  2. If you have never configured the kernel tree yet, run make config
    once (to make dependencies and symlinks).

	# cd /usr/src/linux
	# make xconfig
    
  3. Run install.sh script

	# sh ./install.sh

  4. Configure your kernel

	(for Linux 2.[01].x user)
	# cd /usr/src/linux
	# make xconfig (or make menuconfig)

	(for Linux 1.2.x user)
	# cd /usr/src/linux
	# make config

    Answer YES to both "lowlevel drivers" and "AWE32 wave synth" items 
    in Sound menu.  ("lowlevel drivers" will appear only in 2.x
    kernel.)

  5. Make your kernel (and modules), and install them as usual.

	5a. make kernel image
		# make zImage

	5b. make modules and install them
		# make modules && make modules_install

	5c. If you're using lilo, copy the kernel image and run lilo.
	    Otherwise, copy the kernel image to suitable directory or
	    media for your system.

  6. Reboot the kernel if necessary.
	- If you updated only the modules, you don't have to reboot
	  the system.  Just remove the old sound modules here.
		in 
		# rmmod sound.o		(linux-2.0 or OSS/Free)
		# rmmod awe_wave.o	(linux-2.1)

  7. If your AWE card is a PnP and not initialized yet, you'll have to
    do it by isapnp tools.  Otherwise, skip to 8.

	This section described only a brief explanation.  For more
	details, please see the AWE64-Mini-HOWTO or isapnp tools FAQ.

	7a. If you have no isapnp.conf file, generate it by pnpdump.
	    Otherwise, skip to 7d.
		# pnpdump > /etc/isapnp.conf

	7b. Edit isapnp.conf file.  Comment out the appropriate
	    lines containing desirable I/O ports, DMA and IRQs.
	    Don't forget to enable (ACT Y) line.

	7c. Add two i/o ports (0xA20 and 0xE20) in WaveTable part.
	    ex)
		(CONFIGURE CTL0048/58128 (LD 2
		#     ANSI string -->WaveTable<--
		  (IO 0 (BASE 0x0620))
		  (IO 1 (BASE 0x0A20))
		  (IO 2 (BASE 0x0E20))
		  (ACT Y)
		))

	7d. Load the config file.
	    CAUTION: This will reset all PnP cards!

		# isapnp /etc/isapnp.conf

  8. Load the sound module (if you configured it as a module):

	for 2.0 kernel or OSS/Free monolithic module:

		# modprobe sound.o

	for 2.1 kernel:

		# modprobe sound
		# insmod uart401
		# insmod sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
		(These values depend on your settings.)
		# insmod awe_wave
		(Be sure to load awe_wave after sb!)

		See /usr/src/linux/Documentation/sound/AWE32 for
		more details.

  9. (only for obsolete systems) If you don't have /dev/sequencer
     device file, make it according to Readme.linux file on
     /usr/src/linux/drivers/sound. (Run a shell script included in
     that file). <-- This file no longer exists in the recent kernels!

  10. OK, load your own soundfont file, and enjoy MIDI!

	% sfxload synthgm.sbk
	% drvmidi foo.mid

  11. For more advanced use (eg. dynamic loading, virtual bank and
      etc.), please read the awedrv FAQ or the instructions in awesfx
      and awemidi packages.

Good luck!
