[edk2-devel] VirtIO Sound Driver (GSoC 2021)

Andrew Fish via groups.io afish=apple.com at groups.io
Mon Apr 5 05:10:02 UTC 2021


CPPFLAGS might be your issue. Assuming VFR is failing. It is one of the only C++ tools.

See the end of:
https://github.com/tianocore/edk2/blob/master/BaseTools/Source/C/Makefiles/ms.common

It would be good to attach this failure to the BZ too
> On Apr 4, 2021, at 9:43 PM, Ethin Probst <harlydavidsen at gmail.com> wrote:
> 
> I can't run edksetup.bat rebuild. The system is set to treat warnings
> as errors, and the build tools have warnings within them, and so MSVC
> bails out.
> 
>> On 4/4/21, Andrew Fish via groups.io <afish=apple.com at groups.io> wrote:
>> 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 <harlydavidsen at gmail.com>
>>> 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 <nathaniel.l.desimone at intel.com> 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: <devel at edk2.groups.io> on behalf of "Andrew Fish via groups.io"
>>>> <afish=apple.com at groups.io>
>>>> Reply-To: "devel at edk2.groups.io" <devel at edk2.groups.io>,
>>>> "afish at apple.com"
>>>> <afish at apple.com>
>>>> Date: Tuesday, March 30, 2021 at 10:54 PM
>>>> To: edk2-devel-groups-io <devel at edk2.groups.io>,
>>>> "harlydavidsen at gmail.com"
>>>> <harlydavidsen at gmail.com>
>>>> Cc: Rafael Rodrigues Machado <rafaelrodrigues.machado at gmail.com>
>>>> Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021)
>>>> 
>>>> 
>>>> 
>>>> On Mar 30, 2021, at 5:01 PM, Ethin Probst
>>>> <harlydavidsen at gmail.com<mailto:harlydavidsen at gmail.com>> 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<http://groups.io/>
>>>> <harlydavidsen=gmail.com at groups.io<mailto:harlydavidsen=gmail.com at 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
>>>> <rafaelrodrigues.machado at gmail.com<mailto:rafaelrodrigues.machado at gmail.com>>
>>>> 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 <harlydavidsen at gmail.com>
>>>> 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
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 
> -- 
> Signed,
> Ethin D. Probst


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#73692): https://edk2.groups.io/g/devel/message/73692
Mute This Topic: https://groups.io/mt/81710286/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20210404/d46f234b/attachment.htm>


More information about the edk2-devel-archive mailing list