Temporal freeze and slowdown while using emulated sb16

Bug #1295587 reported by alvarez on 2014-03-21

This bug report will be marked for expiration in 4 days if no further activity occurs. (find out why)

28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
QEMU
Undecided
Unassigned

Bug Description

I have been carrying around this bug since previous versions and on different machines: When I use the -soundhw sb16 option, while playing any sound on the virtual machine it temporally freezes the emulated machine and loops the last bit of such sound effect for 1-2 minutes, then goes back to normal speed (until a new sound is played).

Console shows:

 sb16: warning: command 0xf9,1 is not truly understood yet
 sb16: warning: command 0xf9,1 is not truly understood yet
(...)
main-loop: WARNING: I/O thread spun for 1000 iterations

-One of my emulated machines is Windows 3.11: I managed to overrun this bug by switching from the local 1.5 version of the sound blaster driver to the 1.0, although since I updated qemu it freezes that machine, so I can't test if it still works.

I am using the 1.7.90 version, but I suffered this bug for over one year (confirmed in version 2.0.0-rc0 too)

this bug happens anytime I use the -soundhw sb16 switch, but the full command I am using in this specific case is:

qemu-system-i386 -localtime -cpu pentium -m 32 -display sdl -vga cirrus -hda c.img -cdrom win95stuff.iso -net nic,model=ne2k_pci -net user -soundhw sb16

This bug appears on all my machines: Pentium III running Slackware 13.0 and freeBSD 10; Dual core T2400, both in Arch, Gentoo and Slackware 14.1 (all 32 bits), and a Dual core T4400 64 bits with Gentoo and Slackware. Same problem in all of those systems after compiling instead of using the distro packages....

alvarez (alvarezviu) on 2014-03-21
description: updated
alvarez (alvarezviu) on 2014-03-21
description: updated
alvarez (alvarezviu) on 2014-03-21
description: updated
Revision history for this message
Cole Robinson (crobinso) wrote :

sb16 isn't actively maintained in qemu these days, so it's unlikely this bug fix will be prioritized.

that said, if you help narrow down the commit where this regressed, it will increase your chances.

Finding the last working qemu version is a start. From there, consider trying a git bisect to locate the exact commit that caused failure.

Revision history for this message
alvarez (alvarezviu) wrote :

Wow, I didn't know sb16 is not mantained anymore, in fact I tough it was one of the main "features"!

I will try to do that when I have time. Maybe with a diff on both source codes will put some light on. Thank you!

Revision history for this message
dennis123123123 (dennis123321) wrote :

I have this exact same isue.

Windows 98 I had to switch to ES1370 emulation, but Windows 3.1 I can't find a driver for es1370. Thank-you for the suggestion to use the Microsoft 1.0 driver - that appears to work OK for now.

With regards to 2.0 freezing a Win3.1 machine - there is a patch, but it isn't implemented yet for some reason...
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00768.html

Revision history for this message
Torbjörn Rathsman (milasudril) wrote :

On Windows 98 SE:

 * SB16: System hangs as described in this bug report
 * ES1370: Causes system freeze with back screen at boot time
 * AC97 (as suggested here: https://smcv.pseudorandom.co.uk/2015/discworldnoir/): BSODs during the installation
 * GUS: Device is not even detected

Conclusion: At the moment, there is no way to get audio output from Windows 98 se VM.

Revision history for this message
Torbjörn Rathsman (milasudril) wrote :

Addendum: Since this report is from 2014, I should mention that I am currently on 16.04.

Revision history for this message
Blake Lee (volitank) wrote :

Is there any fix or workaround for this bug? Some old games won't use the AC97 and require SB16.

Revision history for this message
Amaro Jr (aslopes) wrote :

After banging my head in a wall for tree or four days, I got the ac97 to work on windows 98se applying something called "Auto-patcher for windows 98se" downloaded from retrosystemsrevival, then using the windows 95 "VXD_A406" driver updated manually by unpacking the executable and picking the .inf file manually. The auto-patcher is mandatory to get everything working. I followed steps from a youtube video for creating a windows 98 VM in Virtualbox, worked on qemu. The installation process was long and boring, but in the end, everything seems to be working without problems (so far). All links can be found in a youtube video by the name "Windows 98 on VirualBox Part 2. AutoPatching, AC97 Sound Drivers, Windows 98 Plus! Gamepad Install." or in the following pastebin: https://pastebin.com/hMvcMzFL

Revision history for this message
Thomas Huth (th-huth) wrote :

The QEMU project is currently considering to move its bug tracking to
another system. For this we need to know which bugs are still valid
and which could be closed already. Thus we are setting older bugs to
"Incomplete" now.

If you still think this bug report here is valid, then please switch
the state back to "New" within the next 60 days, otherwise this report
will be marked as "Expired". Or please mark it as "Fix Released" if
the problem has been solved with a newer version of QEMU already.

Thank you and sorry for the inconvenience.

Changed in qemu:
status: New → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers