utmapp / UTM

Virtual machines for iOS and macOS
https://getutm.app
Apache License 2.0
27.02k stars 1.35k forks source link

SB16 audio is very choppy in BeOS R5 #5512

Open Kreeblah opened 1 year ago

Kreeblah commented 1 year ago

BEFORE SUBMITTING YOUR ISSUE, PLEASE LOOK AT THE PINNED ISSUES AND USE THE SEARCH FUNCTION TO MAKE SURE IT IS NOT ALREADY REPORTED. ALWAYS COMMENT ON AN EXISTING ISSUE INSTEAD OF MAKING A NEW ONE.

Describe the issue
When running BeOS R5 Professional, the only sound device I can get working is the sb16 device, as using other audio devices that I can find drivers for causes severe performance issues. However, when using sb16 audio, it's really choppy/stuttery and doesn't play the entire sound (I think it's stopping audio output at the time when it would have completed playing the sound at normal speed rather than with frequent gaps in it).

Configuration

Crash log
N/A

Debug log
debug.log

Upload VM config.plist.zip

Notes on Installing BeOS To replicate the installation I'm using, here are the steps:

  1. Obtain an image of a BeOS R5 Professional disc. If it's below 5.0.3, you'll also need to download and install http://www.tycomsystems.com/beos/updates/BeOS5-Update3-Pro-x86.zip within BeOS, after networking has been configured.
  2. Use bchunk to separate it into its constituent data tracks: bchunk BeOS_R5.bin BeOS_R5.cue BeOS_R5_
  3. Use 7zip to extract the boot floppy image: 7z e BeOS_R5_01.iso '[BOOT]'
  4. Create a new emulated VM with an i386 architecture, a system of "Standard PC (i440FX + PIIX, 1996) (default) (pc-i440fx-8.0)", 256MB of RAM, a 10GB hard drive, a pentium3 CPU with 1 core, no EFI boot, PS/2 forced, USB disabled, ati-vga video (the specific video card probably doesn't matter much since I can't find drivers for any of the video cards available, so I'm relying on VESA graphics modes), ne2k_pci network, and sb16 sound
  5. Add the floppy image (Boot-1.44M.img) as a floppy drive and track 02 (BeOS_R5_02.iso) as a CD image (it's a BFS image, so it won't be detected as an ISO9660 image if you try to inspect it)
  6. Boot the VM, press the spacebar when the boot animation runs, and override the graphics settings to 1024x768x16
  7. When the GUI installer loads, go to the More Options and Setup Partitions
  8. Right-click on the hard drive, go to Setup > Partition > intel, and add a partition to the hard drive with a BeOS type, using the slider to expand it to fill the entire hard drive
  9. Right-click on the hard drive again and go to Setup > Initialize > BeOS, initializing it is a BeFS partition
  10. Close the Drive Setup app, go back to the Installer app, and finish the installation, making sure to install the bootloader at the end
  11. Reboot, again pressing the space bar once the boot animation runs and override the graphics settings to 1024x768x16
  12. Go to the BeOS Menu > Applications > Terminal
  13. run cp /boot/home/config/settings/kernel/drivers/sample/vesa /boot/home/config/settings/kernel/drivers/vesa
  14. run vim /boot/home/config/settings/kernel/drivers/vesa, add the following line: mode 1024 768 16, and save
  15. Go to the BeOS Menu > Settings > Network, and then click "Settings..." by the network card, switch it over to DHCP, save, and restart networking
  16. Go to the BeOS Menu > Applications > NetPositive https://pulkomandy.tk/~beosarchive/unsorted/ftp.beos.hu/ftp.beos.hu/pub/beos/mirrors/bebits.com/Drivers/Audio/sb16-1.2-x86.pkg (I had to copy this to a local HTTP-only server, since BeOS doesn't support modern HTTPS settings)
  17. Install the downloaded package (just run it) with the default settings (address 220/IRQ 5/DMA 1/high DMA 5)
  18. Go to the BeOS Menu > Restart
osy commented 1 year ago

Can you try switching Audio backend from preferences (Cmd+,)?

Kreeblah commented 1 year ago

I've tried Default, SPICE, and CoreAudio, and they all do the same thing, unfortunately.