Gå til innhold

Software mixing med Alsa


ratix

Anbefalte innlegg

Nå sitter jeg her og tukler med Alsa og .asoundrc, jeg prøver å bruke xmms imens jeg spiller quake3 (defrag :p), jeg hadde fra før sånn at jeg kunne spille musikk med xmms og se på film med mplayer samtidig, men så klarte jeg å slette den gamle .asoundrc og nå sitter jeg med en som ikke virker til noe annet enn å bruke en ting om gangen.

HJELP! :S

Jeg trenger virkelig en .asoundrc (eller /etc/asound.conf) som _virker_ (spille flere lyder samtidig), hvis noen kan paste sin her eller forklare hvordan jeg skal endre min så hadde det vært fint:

 pcm.!default {
 type plug
 slave.pcm "dmixer"
}

 pcm.dmixer  {
 type dmix
 ipc_key 1024
 slave {
   pcm "hw:0,0"
   period_time 0
   period_size 1024
   buffer_size 8192
   rate 48000
 }

   bindings {
   0 0
   1 1
 }
}

 ctl.dmixer {
 type hw
 card 0
}

 

Jeg har lest at jeg kanskje trenger:

pcm.dsp0 {
       type plug
       slave.pcm "dmixer"
}

 

for å få det til virke, men først må jeg altså ha en som virker.

Lenke til kommentar
Videoannonse
Annonse

Litt lenge siden jeg har vært borti dette, siden jeg anskaffet et soundblaster live lydkort. Jeg tror fjotten har rett i at det bare fungerer mellom program som bruker alsa direkte. Det er derfor viktig at du velger alsa som output i de programmene som støtter det. Du kan teste å kjøre quake3 med aoss, som vanligvis ligger i alsa-oss pakken.

aoss quake3

Fungerende /etc/asound.conf:

pcm.mixer {
 type dmix
 ipc_key 1024
 slave {
   pcm "hw:0,0"
   period_time 0
   period_size 1024
   buffer_size 8192
   rate 44100
 }
}

pcm.!default {
 type plug
 slave.pcm "mixer"
}

Lenke til kommentar

nå virker xmms og mplayer og sånnt, men aoss scriptet forandrer LD_PRELOAD path så quake3 ikke finner libGL.so.1, når jeg symlinker den til /opt/quake3 så klager quake3 over:

...loading libGL.so.1: QGL_Init: Can't load libGL.so.1 from /etc/ld.so.conf or current dir: libnvidia-tls.so.1: cannot handle TLS data

Lenke til kommentar

Kan i alle fall spille q3a samtidig som jeg spiller ogg...

 

Min er som standard fra fedora 2 - og det er ikke snakk om noe HW greier (et built-in ESS drittlydkort i en laptop)

 

Hmm... fant ikke noe asound.conf eller .asoundrc - men en /etc/asound.state fant jeg da. Poster den, kansje kan den komme til nytte:

 

[kyrre@kyrrelaptop kyrre]$ cat /etc/asound.state
state.PCI {
       control.1 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Master Playback Switch'
               value true
       }
       control.2 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'Master Playback Volume'
               value.0 19
               value.1 19
       }
       control.3 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Master Mono Playback Switch'
               value true
       }
       control.4 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'Master Mono Playback Volume'
               value 0
       }
       control.5 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'PC Speaker Playback Switch'
               value true
       }
       control.6 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 15'
               iface MIXER
               name 'PC Speaker Playback Volume'
               value 0
       }
       control.7 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Phone Playback Switch'
               value true
       }
       control.8 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'Phone Playback Volume'
               value 0
       }
       control.9 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Mic Playback Switch'
               value true
       }
       control.10 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'Mic Playback Volume'
               value 0
       }
       control.11 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Mic Boost (+20dB)'
               value true
       }
       control.12 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Line Playback Switch'
               value true
       }
       control.13 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'Line Playback Volume'
               value.0 0
               value.1 0
       }
       control.14 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'CD Playback Switch'
               value true
       }
       control.15 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'CD Playback Volume'
               value.0 0
               value.1 0
       }
       control.16 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'PCM Playback Switch'
               value true
       }
       control.17 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 31'
               iface MIXER
               name 'PCM Playback Volume'
               value.0 27
               value.1 27
       }
       control.18 {
               comment.access 'read write'
               comment.type ENUMERATED
               comment.item.0 Mic
               comment.item.1 CD
               comment.item.2 Video
               comment.item.3 Aux
               comment.item.4 Line
               comment.item.5 Mix
               comment.item.6 'Mix Mono'
               comment.item.7 Phone
               iface MIXER
               name 'Capture Source'
               value.0 Mic
               value.1 Mic
       }
       control.19 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'Capture Switch'
               value true
       }
       control.20 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 15'
               iface MIXER
               name 'Capture Volume'
               value.0 0
               value.1 0
       }
       control.21 {
               comment.access 'read write'
               comment.type ENUMERATED
               comment.item.0 Mix
               comment.item.1 Mic
               iface MIXER
               name 'Mono Output Select'
               value Mix
       }
       control.22 {
               comment.access 'read write'
               comment.type ENUMERATED
               comment.item.0 Mic1
               comment.item.1 Mic2
               iface MIXER
               name 'Mic Select'
               value Mic1
       }
       control.23 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 15'
               iface MIXER
               name '3D Control - Center'
               value 0
       }
       control.24 {
               comment.access 'read write'
               comment.type INTEGER
               comment.range '0 - 15'
               iface MIXER
               name '3D Control - Depth'
               value 0
       }
       control.25 {
               comment.access 'read write'
               comment.type BOOLEAN
               iface MIXER
               name 'External Amplifier'
               value true
       }
}

Lenke til kommentar

asound.state er autogenerert ;)

Lyden fungerer fint med alsa nå og jeg kan gjøre flere ting samtidig.

Uansett, jeg sliter med aoss og quake3, som sagt så gjør LD_PRELOAD variablen at libGL.so.1 ikke lastes av quake3 (jeg har til og med prøvd: "ln -s /usr/lib/* /opt/quake3/," (med en backup),

 

kyrsjo: bruker du esound, arts, eller noe annet rart? (jeg vil helst slippe å bruke det)

Lenke til kommentar
Ligger ikke libGL.so vanligvis i /usr/X11R6/lib ?

/usr/X11R6/lib/libGL.so.1: symbolic link to `libMesaGL.so' (det er MesaGL, men det er ikke problemet mitt)

Edit: /usr/lib er en av default plassene til ld, skal ikke trenge å være konfigurert/linket/noesomhelst

Nettop! det skal ikke det, men når LD_PRELOAD variablen blir byttet (aoss scriptet gjør det for å legge til /usr/lib/libaoss.so for alsa-oss wrapper) kan ikke quake3 loade libGL.so.1 (eller noen andre bibliotek).

Endret av RatiX
Lenke til kommentar

Tviler på at den ikke får tilgang til noen biblioteker, i og med at den skriver output tyder jo på at den har tilgang på skriverutiner som f.eks ligger i /usr/lib/libc.so

 

ld holder styr på biblioteker dynamisk, lokasjoner blir bare cachet opp når ldconfig kjøres slik at om man roter med ld.so.conf eller variable underveis skal ikke det ha noen innvirkning om man ikke bygger ny cache med ldconfig. Tror ikke det er der problemet ditt ligger.

 

Du kan jo kjøre $ aoss ldconfig -v | grep libGL.so for å se om den faktisk masker bort noe.

 

Hvis du kan poste output som du får før det krasjer så blir det litt mer enn bare gjetting her.

Endret av MailMan13
Lenke til kommentar

Du hadde rett:

(root)(/opt)$ aoss ldconfig -v | grep libGL.so
       libGL.so.1 -> libGL.so.1.0.6111
       libGL.so.1 -> libMesaGL.so
       libGL.so.1 -> libGL.so.1.0.6111

 

Quake3:

(ratix)(/opt/quake3)$ aoss ./quake3.x86 
Q3 1.32b linux-i386 Nov 14 2002
----- FS_Startup -----
Current search path:
/home/ratix/.q3a/baseq3
/opt/quake3/baseq3/pak8.pk3 (9 files)
/opt/quake3/baseq3/pak7.pk3 (4 files)
/opt/quake3/baseq3/pak6.pk3 (64 files)
/opt/quake3/baseq3/pak5.pk3 (7 files)
/opt/quake3/baseq3/pak4.pk3 (272 files)
/opt/quake3/baseq3/pak3.pk3 (4 files)
/opt/quake3/baseq3/pak2.pk3 (148 files)
/opt/quake3/baseq3/pak1.pk3 (26 files)
/opt/quake3/baseq3/pak0.pk3 (3539 files)
/opt/quake3/baseq3
./quake3.x86/baseq3

----------------------
4073 files in pk3 files
execing default.cfg
execing q3config.cfg
couldn't exec autoexec.cfg
Hunk_Clear: reset the hunk ok

------- Input Initialization -------
Joystick is not active.
------------------------------------
----- Client Initialization -----
----- Initializing Renderer ----
-------------------------------
----- Client Initialization Complete -----
----- R_Init -----
...loading libGL.so.1: QGL_Init: Can't load libGL.so.1 from /etc/ld.so.conf or c                                
urrent dir: /opt/quake3/libGL.so.1: cannot open shared object file: No such file                                
or directory
failed
----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
----- CL_Shutdown -----
-----------------------
Sys_Error: GLimp_Init() - could not load OpenGL subsystem

 

EDIT: hvis jeg symlinker /usr/lib/libGL.so.1 (eller den virkelige filen) til /opt/quake3/libGL.so.1 og /usr/lib/libnvidia-tls.so.1 til /opt/quake3/libnvidia-tls.so.1 så får jeg:

 

...

----- R_Init -----
...loading libGL.so.1: QGL_Init: Can't load libGL.so.1 from /etc/ld.so.conf or current dir: libnvidia-tls.so.1: cannot handle TLS data
failed
----- CL_Shutdown -----

..

Endret av RatiX
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...