From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BvbvR-00030t-Cd for qemu-devel@nongnu.org; Fri, 13 Aug 2004 09:16:53 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BvbvP-00030L-To for qemu-devel@nongnu.org; Fri, 13 Aug 2004 09:16:53 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BvbvP-00030B-Oo for qemu-devel@nongnu.org; Fri, 13 Aug 2004 09:16:51 -0400 Received: from [80.59.103.181] (helo=claunia.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1Bvbr5-0004zE-W0 for qemu-devel@nongnu.org; Fri, 13 Aug 2004 09:12:44 -0400 From: "Natalia Portillo" Subject: RE: [Qemu-devel] Audio Date: Fri, 13 Aug 2004 13:44:03 +0100 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_003C_01C4813B.9E238CC0" In-Reply-To: <1092388075.2486.16.camel@localhost.localdomain> Message-Id: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: esrever_otua@pythonhacker.is-a-geek.net, qemu-devel@nongnu.org This is a multi-part message in MIME format. ------=_NextPart_000_003C_01C4813B.9E238CC0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_003D_01C4813B.9E238CC0" ------=_NextPart_001_003D_01C4813B.9E238CC0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Compile your 2.6 kernel with OSS API emulation enabled. _____ De: qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org [mailto:qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org] En nombre de Darryl Dixon Enviado el: viernes, 13 de agosto de 2004 10:08 Para: qemu-devel@nongnu.org Asunto: Re: [Qemu-devel] Audio Hi All, Found the problem (or at least, found the area that it's in); it's tied to the oss driver used for this laptop in the 2.6 kernel. I went back to a 2.4 series kernel and the sound is perfect, but, of course, the emulation for qemu is now ~much~ slower *sighs* (I didn't realise just how much of a performance boost 2.6 was giving me!). Ah well, can't have everything, can we? :) Alsa sound works perfectly in 2.6, but myself not really understanding the audio code in qemu at all and not being particularly familiar with alsa I'm afraid that I'm not the person to try coding up an output driver for it... :-/ *looks around hopefully* ;) D On Fri, 2004-08-13 at 17:05, Darryl Dixon wrote: Malc, Definitely seems to be something wrong with my setup; with QEMU_AUDIO_DRV set to either oss or sdl I get no output, but if it's set to wav the qemu.wav file is generated correctly and upon playback contains the correct sounds... Cheers, D On Fri, 2004-08-13 at 16:53, Darryl Dixon wrote: Hi Malc, No luck for me; Win98 guest 'sees' the card OK now (patch applied to latest snapshot) but no sound arrives on the host from the act of playing a sound in the guest :( Perhaps something odd on my setup? As a side note, applying the patch appears to break the compile for the ppc target in ppc-softmmu/: g++ -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/opt/src/qemu-snapshot-2004-08-12_23/target-ppc -I/opt/src/qemu-snapshot-2004-08-12_23 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/opt/src/qemu-snapshot-2004-08-12_23/slirp -c -o mixeng.o /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc In file included from /opt/src/qemu-snapshot-2004-08-12_23/vl.h:71, from /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:29: /opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h: In function `int32_t s_ext8(unsigned char)': /opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h:33: error: invalid conversion from `uint8_t*' to `int8_t*' /opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h: In function `int32_t s_ext16(short unsigned int)': /opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h:41: error: invalid conversion from `uint16_t*' to `int16_t*' In file included from /opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h:213, from /opt/src/qemu-snapshot-2004-08-12_23/vl.h:71, from /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:29: /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In function `uint64_t ldq_raw(void*)': /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:355: error: pointer of type `void *' used in arithmetic /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In function `void stq_raw(void*, long long unsigned int)': /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:392: error: pointer of type `void *' used in arithmetic /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In function `double ldfq_raw(void*)': /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:421: error: pointer of type `void *' used in arithmetic /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In function `void stfq_raw(void*, double)': /opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:430: error: pointer of type `void *' used in arithmetic /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc: In function `void* st_rate_start(int, int)': /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:224: warning: unused variable ` uint32_t incr' /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc: In function `void st_rate_flow(void*, st_sample_t*, st_sample_t*, int*, int*)': /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:261: warning: unused variable ` uint32_t tmp' make[1]: *** [mixeng.o] Error 1 make[1]: Leaving directory `/opt/src/qemu-snapshot-2004-08-12_23/ppc-softmmu' make: *** [all] Error 1 Thanks heaps for all your hard work, D On Fri, 2004-08-13 at 09:33, Joe Menola wrote: Applying this patch and manually setting Win98 DMA to 5 has my sound worrking in both 98 and XP. Thanks a heap for your efforts, Malc. -jm On Thu August 12 2004 10:43 am, malc wrote: > Hello, > > At http://www.boblycat.org/~malc/code/patches/qemu/ you will find > latest(7th) audio patch. > > If you are using Win98 guest make sure that 16bit DMA for SoundBlaster is > set to 5. > > There might be regressions since code was changed heavily to accomodate > different/multiple sound cards (none are included in this patch, hopefully > that would change soon) > > Three backends are included, they can be selected via environment > variable, i.e.: > > QEMU_AUDIO_DRV=oss|sdl|wav > > WAV driver will produce `qemu.wav' in current working directory. _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel Darryl Dixon (RHCE, MCSE, MCSA) Unix Systems Administrator Oxygen Business Solutions Phone + 64 9 633 0589 Mobile + 64 272 839 038 www.oxygenforbusiness.com _____ _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel -- Darryl Dixon < esrever_otua@pythonhacker.is-a-geek.net> _____ _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel -- Darryl Dixon < esrever_otua@pythonhacker.is-a-geek.net> ------=_NextPart_001_003D_01C4813B.9E238CC0 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable
Compile your 2.6 kernel with OSS API emulation=20 enabled.


De:=20 qemu-devel-bounces+iosglpgc=3Dteleline.es@nongnu.org=20 [mailto:qemu-devel-bounces+iosglpgc=3Dteleline.es@nongnu.org] En = nombre de=20 Darryl Dixon
Enviado el: viernes, 13 de agosto de 2004=20 10:08
Para: qemu-devel@nongnu.org
Asunto: Re: = [Qemu-devel]=20 Audio

Hi All,

    Found the problem (or at = least,=20 found the area that it's in); it's tied to the oss driver used for = this laptop=20 in the 2.6 kernel.  I went back to a 2.4 series kernel and the = sound is=20 perfect, but, of course, the emulation for qemu is now ~much~ slower = *sighs*=20 (I didn't realise just how much of a performance boost 2.6 was giving=20 me!).  Ah well, can't have everything, can we?  = :)   Alsa=20 sound works perfectly in 2.6, but myself not really understanding the = audio=20 code in qemu at all and not being particularly familiar with alsa I'm = afraid=20 that I'm not the person to try coding up an output driver for = it... =20 :-/  *looks around hopefully*  ;)


D


On = Fri,=20 2004-08-13 at 17:05, Darryl Dixon wrote:=20
Malc,

    Definitely seems = to be=20 something wrong with my setup; with QEMU_AUDIO_DRV set to either oss = or sdl=20 I get no output, but if it's set to wav the qemu.wav file is = generated=20 correctly and upon playback contains the correct=20 sounds...

Cheers,
D




On Fri, 2004-08-13 = at=20 16:53, Darryl Dixon wrote:=20
Hi Malc,

    No luck = for me;=20 Win98 guest 'sees' the card OK now (patch applied to latest = snapshot) but=20 no sound arrives on the host from the act of playing a sound in = the guest=20 :(   Perhaps something odd on my setup?  As a side = note,=20 applying the patch appears to break the compile for the ppc target = in=20 ppc-softmmu/:
g++ -Wall -O2 -g -fno-strict-aliasing=20 -fomit-frame-pointer  -I.=20 -I/opt/src/qemu-snapshot-2004-08-12_23/target-ppc=20 -I/opt/src/qemu-snapshot-2004-08-12_23 -D_GNU_SOURCE=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGEFILE_SOURCE=20 -I/opt/src/qemu-snapshot-2004-08-12_23/slirp -c -o mixeng.o=20 /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc
In file included = from=20 = /opt/src/qemu-snapshot-2004-08-12_23/vl.h:71,
    =              = from=20 = /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:29:
/opt/src/qemu-snaps= hot-2004-08-12_23/target-ppc/cpu.h:=20 In function `int32_t
   s_ext8(unsigned=20 = char)':
/opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h:33:=20 error: invalid
   conversion from `uint8_t*' to=20 = `int8_t*'
/opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h: In=20 function `int32_t
   s_ext16(short unsigned=20 = int)':
/opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h:41: = error:=20 invalid
   conversion from `uint16_t*' to = `int16_t*'
In=20 file included from=20 = /opt/src/qemu-snapshot-2004-08-12_23/target-ppc/cpu.h:213,
  = ;            =   =20 from=20 = /opt/src/qemu-snapshot-2004-08-12_23/vl.h:71,
    =              = from=20 = /opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:29:
/opt/src/qemu-snaps= hot-2004-08-12_23/cpu-all.h:=20 In function `uint64_t
  =20 = ldq_raw(void*)':
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:355:=20 error: pointer of type
   `void *' used in=20 arithmetic
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In = function=20 `void
   stq_raw(void*, long long unsigned=20 int)':
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:392: = error:=20 pointer of type
   `void *' used in=20 arithmetic
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In = function=20 `double
  =20 = ldfq_raw(void*)':
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:421: = error: pointer of type
   `void *' used in=20 arithmetic
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h: In = function=20 `void
   stfq_raw(void*,=20 double)':
/opt/src/qemu-snapshot-2004-08-12_23/cpu-all.h:430: = error:=20 pointer of type
   `void *' used in=20 arithmetic
/opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc: In = function=20 `void*
   st_rate_start(int,=20 int)':
/opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:224: = warning:=20 unused variable `
   uint32_t=20 incr'
/opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc: In = function=20 `void
   st_rate_flow(void*, st_sample_t*, = st_sample_t*,=20 int*, = int*)':
/opt/src/qemu-snapshot-2004-08-12_23/mixeng.cc:261:=20 warning: unused variable `
   uint32_t = tmp'
make[1]: ***=20 [mixeng.o] Error 1
make[1]: Leaving directory=20 `/opt/src/qemu-snapshot-2004-08-12_23/ppc-softmmu'
make: *** = [all]=20 Error 1


Thanks heaps for all your hard=20 work,

D


On Fri, 2004-08-13 at 09:33, Joe Menola = wrote:=20
Applying this patch and manually =
setting Win98 DMA to 5 has my sound worrking=20
in both 98 and XP.=20

Thanks a heap for your efforts, Malc.

-jm
On Thu August 12 2004 10:43 am, malc wrote:
> Hello,
>
> At http://www.b=
oblycat.org/~malc/code/patches/qemu/ you =
will find
> latest(7th) audio patch.
>
> If you are using Win98 guest make sure that 16bit DMA for =
SoundBlaster is
> set to 5.
>
> There might be regressions since code was changed heavily to =
accomodate
> different/multiple sound cards (none are included in this patch, =
hopefully
> that would change soon)
>
> Three backends are included, they can be selected via environment
> variable, i.e.:
>
> QEMU_AUDIO_DRV=3Doss|sdl|wav
>
> WAV driver will produce `qemu.wav' in current working directory.


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://li=
sts.nongnu.org/mailman/listinfo/qemu-devel
=




Darryl Dixon (RHCE, MCSE, MCSA) =



Unix Systems = Administrator




Oxygen Business Solutions =



Phone + 64 9 633 0589



Mobile + 64 272 = 839 038



www.oxygenforbusiness.com







3D""       3D""        3D"" =

_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://li=
sts.nongnu.org/mailman/listinfo/qemu-devel
=

--

Darryl = Dixon <esrever_otua@p= ythonhacker.is-a-geek.net>

_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://li=
sts.nongnu.org/mailman/listinfo/qemu-devel
=
--
Darryl Dixon <esrever_otua@p= ythonhacker.is-a-geek.net>
------=_NextPart_001_003D_01C4813B.9E238CC0-- ------=_NextPart_000_003C_01C4813B.9E238CC0 Content-Type: image/jpeg; name="red_hat_cert_eng_logo-clr_sig.jpg" Content-Transfer-Encoding: base64 Content-ID: <258554212@13082004-31B7> /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABdADYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+vO/ H/xe0XwS72MS/wBo6wACbWN8LFn/AJ6Nzg452jJ6ZwCDSfF/4gt4J8OJBYOo1i/3JbkjPlKMbpMe oyAM9znkAivk15JLm4aSWRpJZWLO7tksxPJJPf3oBK56bqXxO+JfiOJ7m1nksrQ9I7GIRj6hjlz+ Brn4/EvxAt5BK/iLWYCDx9r1FkU/hIwBrcePX7O9FtYR2slh5arE0xx5QVcYOOTnHv8AhWnHBcXW ntDqaxb3yHFu7BSPrwRXA8XJa6WPrKfD9Gd43kpLutL+Ttt94zRfjn4x0C4RNdjg1a1fkFgqOV6f JJGNp565DfhXvnhDxtonjfTWvNIuCWjIE1vKNssJPTcvoexGQcHng4+cNc8PWn/COSwWcCxmDM0e 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 ------=_NextPart_000_003C_01C4813B.9E238CC0 Content-Type: image/jpeg; name="MCSE-RGB_sig.jpg" Content-Transfer-Encoding: base64 Content-ID: <258554212@13082004-31BE> /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAA1AHADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCP9o3X ZotV0TSbeeWIxwvdSBGK7t7bV6emx/zrH+F/jZ/C3gHxjqc1wZLmM28dosrbiZXEgXgnkDG4j0U1 R8eEeM/j2dMVjJbm9gsOP4VXAk/I+Ya5Dw7pMut+Im0p3kh05JHur0LwI4ogxZj2yF3AZ7tjvQBJ 4Qmu9V8Z6ZFd31w8BuRPdF5mOYk/eSE8/wB1WNer+ANd8Fr4g1fxab/xBGtpG0s8mptGYg8rcBVj ySx+bA+teT+GWFvZ+JNXEYX7Pp7wxAHhXndYsD/gDSH8Kr3VndWfgfTrkhlttQvZm9mMSoqk/TzJ MfU0Ae8N+0b4eFx8ui6qbXdjzcRhv++d2P1re8RfGrwz4fj02VY7u/i1C2+0wvbKuAu4r825gQcq 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 ------=_NextPart_000_003C_01C4813B.9E238CC0 Content-Type: image/jpeg; name="MCSA-RGB_sig.jpg" Content-Transfer-Encoding: base64 Content-ID: <258554212@13082004-31C5> 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 ------=_NextPart_000_003C_01C4813B.9E238CC0--