Some of the first step after installing Slackware, to make the system more usable, include:
Configuring the kernel
This may need to be your first step in order to get the right drivers for all your devices.
The general steps could be:
- cd /usr/src/linux
- make xconfig
- make bzImage
- make modules
- make modules_install
- cp .config /boot/config
- cp System.map /boot
- cp arch/i386/boot/bzImage /boot/vmlinuz
Things that may change here include the path in step1, the choice of configure in step 2 (e.g. make oldconfig if you already have a .config, make menuconfig if you're not running it under X), copying the files under other names in steps 6-8 and then creating symlinks, and using a boot loader other than lilo.
You may have to add several /sbin/modprobe lines in your /etc/rc.d/rc.modules file to load modules that are not loaded automatically.
Configuring your WM or DE
The first step to get sound working is to make sure you have a module for your sound card loaded into the kernel. Perform an Internet search to identify what the module (or driver) is called for your sound card. Looking in the kernel sources under Documentation/sound may also help. If the kernel you are using has not been built with support for your sound card you may have to built a new one. See how to build a kernel for some more information, and make sure you use ALSA with OSS-Emulation if your sound card supports it. If you build the driver into the kernel it will get loaded automatically, but this is not recommended as it bloats the kernel and it may add instability. Thus to load a module simply type
/sbin/modprobe MODULE_NAME as root (or using sudo).
Next, if you've gotten the module loaded, make sure that the volumes are not turned off. To do this run
/usr/bin/alsamixer and then to save the settings run
/usr/sbin/alsactl store as root.
This should be all you need to get sound working under Slackware, but other applications or desktop environments may require additional steps.
Configuring multimedia keys
Under X, the multimedia keys can be mapped to generate certain events. xmodmap is used to map the key pressed to these symbolic events that X applications can understand. Your Window Manager or Desktop Environment may then allow you to map key combinations for various applications to these X events. So the two parts of the equation are the keycode and the X event keysym. To get the keycode of a certain key, you can run xev. You then enter the mappings in the ~/.Xmodmap file.
Here's what the lines that you are aiming for look like:
state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
You can see in there both the keycode and the keysym for the play/pause button on a Microsoft Comfort Curve 2000 keyboard. As an example, KDE's KHotKeys allows you to map XF86AudioPlay to the MPlayer's 'c' keypress which toggles between pause/play.
.Xmodmap sample file
keycode 122 = XF86Search keycode 130 = XF86HomePage keycode 160 = XF86AudioMute keycode 161 = XF86Calculator keycode 162 = XF86AudioPlay keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume keycode 233 = XF86Forward keycode 234 = XF86Back keycode 236 = XF86Mail
XF86AddFavorite XF86ApplicationLeft XF86ApplicationRight XF86AudioLowerVolume XF86AudioMedia XF86AudioMute XF86AudioNext XF86AudioPause XF86AudioPlay XF86AudioPrev XF86AudioRaiseVolume XF86AudioRecord XF86AudioRewind XF86AudioStop XF86Away XF86Back XF86BackForward XF86Book XF86BrightnessAdjust XF86CD XF86Calculater XF86Calculator XF86Calendar XF86Clear XF86Close XF86Community XF86ContrastAdjust XF86Copy XF86Cut XF86DOS XF86Display XF86Documents XF86Eject XF86Excel XF86Explorer XF86Favorites XF86Finance XF86Forward XF86Game XF86Go XF86History XF86HomePage XF86HotLinks XF86Launch0 XF86Launch1 XF86Launch2 XF86Launch3 XF86Launch4 XF86Launch5 XF86Launch6 XF86Launch7 XF86Launch8 XF86Launch9 XF86LaunchA XF86LaunchB XF86LaunchC XF86LaunchD XF86LaunchE XF86LaunchF XF86LightBulb XF86LogOff XF86Mail XF86MailForward XF86Market XF86Meeting XF86Memo XF86MenuKB XF86MenuPB XF86Messenger XF86ModeLock XF86Music XF86MyComputer XF86MySites XF86New XF86News XF86OfficeHome XF86Open XF86OpenURL XF86Option XF86Paste XF86Phone XF86Pictures XF86PowerDown XF86PowerOff XF86Q XF86Refresh XF86Reload XF86Reply XF86RockerDown XF86RockerEnter XF86RockerUp XF86RotateWindows XF86RotationKB XF86RotationPB XF86Save XF86ScreenSaver XF86ScrollClick XF86ScrollDown XF86ScrollUp XF86Search XF86Send XF86Shop XF86Sleep XF86Spell XF86SplitScreen XF86Standby XF86Start XF86Stop XF86Support XF86TaskPane XF86Terminal XF86ToDoList XF86Tools XF86Travel XF86User1KB XF86User2KB XF86UserPB XF86VendorHome XF86Video XF86WWW XF86WakeUp XF86WebCam XF86WheelButton XF86Word XF86Xfer XF86ZoomIn XF86ZoomOut XF86iTouch