Ethin I’m not sure what issue you are hitting with VFR? When you built the C build tools it should have built the VFR compiler that matches the code? Did you run edksetup.bat Rebuild? > On Mar 31, 2021, at 10:05 PM, Ethin Probst wrote: > > Hello there, > > Some good advice, and thank you! I might add it to the other virtIO* > drivers if I can figure out a good template for that. > > One thing I'm running into right now is that my build setup is > currently unable to build MdeModulePkg (which is required to build > OVMF, according to the readme). I've reported it on the bugzilla; its > issue 3289. This doesn't appear to occur on Linux, however, which is > odd. > > Are there any suggestions that you guys have for improving my > proposal? I didn't want to write too much or go overboard, like > explaining how the sound driver would work and such, since I assumed > -- while writing it -- that anyone who wanted to know those inner > details would go read the VirtIO specification. But I'd appreciate any > extra feedback before I submit my final version; I haven't made any > changes since my initial proposal as of yet. > >> On 3/31/21, Nate DeSimone wrote: >> Another option is to put the protocol definition in MdeModulePkg and mark it >> with the EDKII_ prefix. For my last “code first” UEFI spec contribution I >> did this with the PPI that added up getting added. >> >> Thanks, >> Nate >> >> From: on behalf of "Andrew Fish via groups.io" >> >> Reply-To: "devel@edk2.groups.io" , "afish@apple.com" >> >> Date: Tuesday, March 30, 2021 at 10:54 PM >> To: edk2-devel-groups-io , "harlydavidsen@gmail.com" >> >> Cc: Rafael Rodrigues Machado >> Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) >> >> >> >> On Mar 30, 2021, at 5:01 PM, Ethin Probst >> > wrote: >> >> I'm wondering where exactly I should add the VirtIO sound protocol. I >> just familiarized myself with the build system and am about to test it >> by building OVMF if possible, but I'm wondering where I should >> actually put the protocol and all that stuff. Maybe there's >> documentation I've missed as well. >> >> Ethin, >> >> For the driver I’d match the patter of OVMF [1] and use >> OvmfPkg/VirtioSoundDxe/. Maybe even use one of the other drivers as a >> template. >> >> The protocol is more of a public thing. I think eventually we would like to >> publish the protocol in the UEFI Spec (I can help with that part) and that >> would mean we put the Protocol definition in MdePkg/Include/Protocol, but we >> don’t want to do that before it is standardized as that causes compatibility >> issues. So this is a “code first project” (code prototype and then >> contribute to the UEFI Forum for inclusion in the specification) so we need >> to follow some code first rules that I don’t remember of the top of my head? >> So why not start out the protocol definition OvmfPkg/Include/Protocol. You >> can also add a test application looks like you can just use the root [2] of >> OVMF for that. That way the project is not blocked. >> >> We can have a conversation on the mailing list about better places to put >> stuff, and it should be easy enough to move stuff around if everything else >> is working. >> >> [1] find OvmfPkg -iname '*Virtio*.inf' >> OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf >> OvmfPkg/VirtioScsiDxe/VirtioScsi.inf >> OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf >> OvmfPkg/Library/VirtioLib/VirtioLib.inf >> OvmfPkg/VirtioGpuDxe/VirtioGpu.inf >> OvmfPkg/VirtioBlkDxe/VirtioBlk.inf >> OvmfPkg/Virtio10Dxe/Virtio10.inf >> OvmfPkg/VirtioNetDxe/VirtioNet.inf >> OvmfPkg/VirtioRngDxe/VirtioRng.inf >> >> >> [2] /Volumes/Case/edk2-github/OvmfPkg>git grep APPLICATION -- *.inf | grep >> MODULE_TYPE >> EnrollDefaultKeys/EnrollDefaultKeys.inf:13: MODULE_TYPE >> = UEFI_APPLICATION >> >> Thanks, >> >> Andrew Fish >> >> >> >> >> On 3/30/21, Ethin Probst via groups.io >> > >> wrote: >> >> I agree. Plus, it gives me a chance to finally learn the EDK2 build >> system and how it works! I've been working on a hobby OS as a side >> project and, though learning from other code examples from OSes is >> fun, I have to say that learning from the firmware code like from >> SeaBIOS has been some of the most enlightening and interesting times >> thus far. >> Thanks for the link to your code, Rafael; once I get virtIO support >> in, I can work on HDA support, though I might tackle USB support >> second and HDA third. We'll see, but VirtIO definitely is coming >> first. >> >> As I said before, I look forward to working with all of you wonderful >> people! >> >> On 3/30/21, Rafael Rodrigues Machado >> > >> wrote: >> >> This would be amazing so people can continue my work related to >> accessibility at BIOS. Something desired by the blind people since the >> 90's >> Just for reference, this is what I have done: >> >> https://github.com/RafaelRMachado/Msc_UefiHda_PreOs_Accessibility >> >> Thanks >> Rafael >> >> Em seg, 29 de mar de 2021 20:24, Ethin Probst >> escreveu: >> >> >> Hello everyone, >> >> This is the first time I've ever contributed to EDK2. As part of GSoC >> 2021, I have submitted a proposal to implement a UEFI audio output >> protocol that will utilize the VirtIO sound driver. I've already >> submitted a draft proposal, and apologize if I've done things out of >> order. This is my first time doing GSoC 2021, and contributing to EDK2 >> felt like a really fun thing to do! >> >> I look forward to working with you guys on this and any future projects! >> :-) >> >> -- >> Signed, >> Ethin D. Probst >> >> >> >> >> >> >> >> >> -- >> Signed, >> Ethin D. Probst >> >> >> >> >> >> >> >> -- >> Signed, >> Ethin D. Probst >> >> >> >> >> >> >> >> >> >> >> > > > -- > Signed, > Ethin D. Probst