Linux (x86 and x64) versions of BASS and the BASSCD/FLAC/MIDI/WV/enc/mix add-ons are available here:
Now available on the BASS page.
ALSA is used for output, but the "no sound" device can still be used without it.
BASS will attempt to set the output threads to real-time priority, but Linux appears not to permit normal users to have control over the priority of their threads. So unless you're running as "root" (or you have "rtprio" enabled in limits.conf), it is possible for the BASS output threads to be starved of CPU, resulting in output underruns, ie. breaks in the sound. To get around that, there is a BASS_SetConfig option (BASS_CONFIG_DEV_BUFFER) to set the device buffer size. It defaults to 40ms, but the actual value used may be different if the device/driver requires it; BASS_GetInfo can be used to check the average latency. Note that the device buffer size affects the latency of things like playback starting and attribute changes, so you will probably want to avoid setting it unnecessarily high.
By default, BASS_Init will initialize a device in exclusive mode, but a shared mode is also available via the BASS_DEVICE_DMIX flag. If the device is busy, then BASS_Init will automatically try the shared mode. I say "exclusive mode", but it isn't necessarily exclusive if the device/driver supports hardware mixing, ie. each hardware mixing channel can be used in exclusive mode. When in exclusive mode, the "freq" parameter will determine the output rate (if possible) and all of the device's speakers will be available. When in shared mode, the ALSA config will determine the output rate and number of speakers (the default appears to be 48000hz stereo). Exclusive mode will also allow the use of smaller output buffers (BASS_CONFIG_DEV_BUFFER) and so lower latency; the minimum buffer size is again determined by the ALSA config in shared mode.
BASS also provides a "Default" device, which uses whatever output is set as the default in the ALSA config. That could map directly to one of the hardware devices, or it could use plugins. Note the latter could add latency, and it may be necessary to increase the device buffer size (BASS_CONFIG_DEV_BUFFER) to avoid breaks in the sound.
An "mp3-free" version is included, which makes use of the libmpg123 library for MP3 decoding. The libmpg123 library comes with mpg123 (a command-line player), but can also be installed separately (although that seems to be less common). Without it, the "mp3-free" BASS will still function, but MP3 stream creation will fail with a BASS_ERROR_CODEC error.