[GSoC 2024] Virtio Sound: Final Report

Blog post by diegoroux on Thu, 2024-08-22 18:39

Gerrit Submission. Check out my final Pull Request here: 8141 Overview During this GSoC period, I focused on developing the virtio sound driver for Haiku, aiming to enhance its performance as a guest OS in virtualized environments. This journey began with some challenges, for example, initially, I missed a small detail in the driver module path, which prevented the driver from loading. One of the significant setbacks, I had, was understanding hmulti_audio.

[GSoC 2024] Virtio Sound: Playback showcase

Blog post by diegoroux on Fri, 2024-08-09 22:48

intro Hello, once again! vid? We made it! I previously stated that we had achieved playback, but I never got to show it. So here it is, a short video showing you that playback actually works. So you don’t have to go and compile it, just to see it on action. outro Main functionality is here! So, I believe that it may be time to maybe push into the main branch.

[GSoC 2024] Virtio Sound: Recording Achieved and more

Blog post by diegoroux on Sat, 2024-07-27 00:41

intro Hello, once again! It’s been weeks since the last update, so here we go. Good news, there is active development of the virtio sound driver for Haiku. Key progress includes recording on the device and improvements. buffer exchange redesign As per the last blog post: We still specify 2 playback buffers, but incremented to 16,384 frames per buffer, to handle audio streams. struct multi_buffer_info { // [...] bigtime_t played_real_time; bigtime_t played_frames_count; // [.

[GSoC 2024] Virtio Sound: Playback achieved.

Blog post by diegoroux on Wed, 2024-07-10 16:02

intro Hello, once again! It’s been three weeks since the last update, so here we go. Good news, there is active development of the virtio sound driver for Haiku. Key progress includes achieving playback on the device. Getting the buffers ready. We need to tell hmulti_audio where it should expect to write and read the audio frames, to do that we need to fill out a structure called multi_buffer_list: struct multi_buffer_list { // [.

[GSoC 2024] Sound virtio: Community Update

Blog post by diegoroux on Wed, 2024-06-19 01:07

intro Hello, once again! It’s been a month since the last update, so here we go. Good news, there is active development of the virtio sound driver for Haiku. Key progress includes assigning channel maps to their respective streams and integrating PCM stream scanning. Additionally, efforts have focused on modularizing the driver, ensuring compliance with Haiku’s coding standards, and laying the groundwork for further enhancements to functionality. While progress has been substantial, there are still areas requiring refinement as we continue to expand the driver’s capabilities.

[GSoC 2024] Sound VirtIO: Improving Haiku's virtualization as a guest OS

Blog post by diegoroux on Thu, 2024-05-16 22:11

short whoami Hello! I’m Diego Roux, an undergraduate engineering student at Universidad Iberoamericana (Mexico). Passionate about low-level stuff, OS/kernel dev, embed libs, and more! I’m grateful to be working under Haiku for this GSoC! So, I’ll be working to add support for sound virtio, enhancing virtualization by working with the VM. I’ll be under the guidance of @Korli. Thanks! :D brief intro + my plans Whenever we boot a VM with Haiku in it, it needs to ensure we have a proper environment, emulating all physical devices we require (e.