GitHub 上的John Davis开发出了能够在 UEFI Shell下播放声音的驱动AudioPkg。具体项目可以在 https://github.com/Goldfish64/AudioPkg 看到(从19年开始我就开始关注他的项目,但是一直没有实验成功。现在他这个项目完全 Move 到另外的项目中了)。偶然之间我发现需要将当前系统的 Audio 设置为 (非SST。区别上简单的说就是 Intel 做出来一个 HD-Audio 的标准,然后又改进出来另外一套称作 SST 的标准,在 SST中大量使用 DSP ,更节省 CPU 更节省电力。唯一的问题是相比前者外界不知道如何实现只能通过Intel 驱动来实现播放)。
AudioPkg在 EDK2 201903 下面使用 build -a X64 -p AudioPkg\AudioPkg.dsc 会遇到如下错误:
c:\buildbs\stable201903\AudioPkg\Platform\BootChimeDxe\BootChimeDxe.c(163): error C2220: warning treated as error - no 'object' file generated
c:\buildbs\stable201903\AudioPkg\Platform\BootChimeDxe\BootChimeDxe.c(163): warning C4244: 'function': conversion from 'UINTN' to 'UINT8', possible loss of data
c:\buildbs\stable201903\AudioPkg\Application\BootChimeCfg\BootChimeCfg.c(415): error C2220: warning treated as error - no 'object' file generated
c:\buildbs\stable201903\AudioPkg\Application\BootChimeCfg\BootChimeCfg.c(415): warning C4244: 'function': conversion from 'UINTN' to 'UINT8', possible loss of data
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\x86_amd64\cl.exe"' : return code '0x2'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\x86_amd64\cl.exe"' : return code '0x2'
解决方法是通过在出现问题代码对应的INF 中添加编译开关忽略之:
[BuildOptions]
MSFT:*_*_X64_CC_FLAGS = /wd4054 /wd4055 /wd4152
最终修改后的代码可以在这里下载:
编译后的 X64 EFI 可以在这里下载:
再次强调:如果你发现实体机Shell 下无法运行,很可能是因为 Setup 中选择了 Intel SST 导致的,请修改为非Intel SST 的项目。
测试的视频:
您好,Audiopkg下載有其他連結嗎?按了沒反應
可能是网站反盗链的问题,你在链接上直接新窗口打开试试看
或者直接打开下面这个
http://www.lab-z.com/wp-content/uploads/2020/06/AudioPkg.7z