You are not logged in.
Hi everyone,
I set up sound on a very old PC. At first I set module autoloading in rc.conf, in order to check which sound modules my hardware need. I then realized it could take up to 20 seconds to load udev events at boot time, so I put my sound modules in rc.conf and disabled module autoloading. It brought udev time down to 5 seconds.
I wonder if I can bring it to an even lower value. I suspect some of my sound modules aren't really needed. I'd appreciate some advices to identify which modules are needed, and which are not.
$ lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 630 Host (rev 20)
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] SiS85C503/5513 (LPC Bridge)
00:01.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 81)
00:01.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 07)
00:01.3 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 07)
00:01.4 Multimedia audio controller: Silicon Integrated Systems [SiS] SiS PCI Audio Accelerator (rev 02)
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
00:0d.0 Ethernet controller: Winbond Electronics Corp W89C840
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 630/730 PCI/AGP VGA Display Adapter (rev 20)
lsmod output with module autoload
# lsmod
Module Size Used by
reiserfs 230112 1
ext2 64860 1
snd_seq_oss 29888 0
snd_seq_midi_event 5972 1 snd_seq_oss
snd_seq 48176 4 snd_seq_oss,snd_seq_midi_event
snd_pcm_oss 38112 0
snd_mixer_oss 14388 1 snd_pcm_oss
snd_cs4232 13204 0
snd_wavefront 53044 0
snd_wss_lib 23988 2 snd_cs4232,snd_wavefront
snd_trident 34756 0
snd_opl3_lib 9204 2 snd_cs4232,snd_wavefront
rfkill 9392 0
snd_hwdep 6904 2 snd_wavefront,snd_opl3_lib
snd_ac97_codec 100120 1 snd_trident
ac97_bus 1364 1 snd_ac97_codec
led_class 3384 0
wmi 6280 0
analog 10112 0
snd_pcm 67992 4 snd_pcm_oss,snd_wss_lib,snd_trident,snd_ac97_codec
serio_raw 5048 0
snd_timer 19260 4 snd_seq,snd_wss_lib,snd_opl3_lib,snd_pcm
snd_page_alloc 8092 3 snd_wss_lib,snd_trident,snd_pcm
snd_mpu401 6920 0
snd_util_mem 3220 1 snd_trident
snd_mpu401_uart 6548 4 snd_cs4232,snd_wavefront,snd_trident,snd_mpu401
pcspkr 2196 0
snd_rawmidi 19392 2 snd_wavefront,snd_mpu401_uart
snd_seq_device 6080 4 snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi
shpchp 31880 0
pci_hotplug 26900 1 shpchp
snd 51460 17 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_cs4232,snd_wavefront,snd_wss_lib,snd_trident,snd_opl3_lib,snd_hwdep,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401,snd_ mpu401_uart,snd_rawmidi,snd_seq_device
ns558 4148 0
soundcore 6080 1 snd
gameport 10112 5 snd_trident,analog,ns558
sg 24712 0
evdev 9248 2
thermal 15120 0
processor 39136 1 thermal
fan 4056 0
button 5700 0
battery 9880 0
ac 3832 0
usb_storage 96000 0
ohci_hcd 23172 0
ehci_hcd 35424 0
usbhid 35136 0
usbcore 137232 5 usb_storage,ohci_hcd,ehci_hcd,usbhid
hid 39744 1 usbhid
sr_mod 14596 0
cdrom 33600 1 sr_mod
i2c_sis630 5824 0
sis5513 7288 0
ide_core 96876 1 sis5513
sis_agp 6900 1
sis 5716 2
drm 138240 3 sis
agpgart 29492 2 sis_agp,drm
i2c_core 20648 2 i2c_sis630,drm
sisfb 240008 1 sis
parport_pc 35556 1
lp 8964 0
ppdev 7192 0
parport 30924 3 parport_pc,lp,ppdev
psmouse 54536 0
8390 8692 0
8139too 23576 0
sis900 20180 0
mii 4372 2 8139too,sis900
rtc_cmos 10188 0
rtc_core 16304 1 rtc_cmos
rtc_lib 2324 1 rtc_core
ext3 126556 2
jbd 45512 1 ext3
mbcache 6488 2 ext2,ext3
sd_mod 25072 7
ata_generic 4504 0
pata_sis 9944 5
pata_acpi 3828 0
libata 157036 3 ata_generic,pata_sis,pata_acpi
scsi_mod 100500 5 sg,usb_storage,sr_mod,sd_mod,libata
module array from rc.conf
MODULES=(sis900 8139too !3c59x !winbond-840 !ne2k-pci 8390 psmouse parport ppdev lp parport_pc mii sis agpgart drm sis-agp sis5513 i2c-sis630 sr_mod cdrom hid usbhid ohci_hcd usb_storage snd_seq_oss snd_cs4232 snd_wavefront snd_wss_lib snd_trident snd_opl3_lib snd_hwdep snd_ac97_codec ac97_bus snd_pcm snd_timer snd_page_alloc snd_mpu401 snd_util_mem snd_mpu401_uart !pcspkr snd_rawmidi snd_seq_device snd soundcore)
thx
what goes up must come down
Offline
pcspkr is for the pc speaker (it make the beep sound). You probably don't use it.
For the rest, I don't really know. You could use modinfo to get a short description of the modules. I would guess you only need one of snd_cs4232, snd_trident and snd_mpu401. They seems to be for different sound cards.
Offline
snd_cs4232 = soundcards with the Crystal sound chip, usually Hercules these days iirc
snd_trident = ancient trident sound chip from the ISA era
snd_mpu401 = not sure about this one but I believe its for a soundblaster AWE card?
Offline
Since you are trying to trim ALSA, I would suggest you give OSSv4 a try. I just upgraded and found a marked improvement in sound quality even to my non-audiophile ears.
You might have to replace some software with their oss versions like skype (i had to)...but its not a big deal considering the performance gain.
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
Thanks! I removed pcspkr already. So I have to check which modules are really dedicated to my audio hardware. I suspect none of the 3 you mention are actually needed. I guess I'll have to use lshwd or such.
Is OSSv4 lighter than ALSA. I've never used it before, and I don't really care about audio quality (sound comes out from crappy monitor speakers...).
what goes up must come down
Offline
It appears my soundcard needs snd_trident module. If you know of a module that's dedicated to other hardware, please tell me.
what goes up must come down
Offline