初级会员
- 积分
- 118
- 金钱
- 118
- 注册时间
- 2017-7-24
- 在线时间
- 26 小时
|
楼主 |
发表于 2021-7-21 11:59:13
|
显示全部楼层
重新编译buildroot的输出信息,发现驱动已经被修改为dummy,vulkan这两个驱动方式了
因此从两个方向下手:
第一个方向是脚本,重点关注config.status,Makefile,sdl2-config,sdl2-config.cmake,SDL2.spec,sdl2.pc这几个文件
第二个方向查源码,参考网上链接:《https://blog.csdn.net/huixingshao/article/details/46561535》
编译源码包在<buildroot/output/sdl2>通过vscode打开追踪
追踪起点:sdl.c文件的 SDL_Init函数 ---> SDL_VideoInit函数(video文件夹)---> SDL_video.c 文件【driver_name = SDL_getenv("SDL_VIDEODRIVER");】
是的 主角就是 《 SDL_VIDEODRIVER 》这是一个环境变量,然后根据后面的 bootstrap 这个静态数组内容可以得到 <export SDL_VIDEODRIVER=xxx>
就能使得SDL2的video模块工作,video模块使用平台较多要根据 bootstrap 数组选配,配置哪个就用哪个,当然我这里上面的截图中编译时也显示出来了,
<export SDL_VIDEODRIVER=dummy>,当然我这个是不正常的,因为我选择的是Kms/dri 这个应该是<export SDL_VIDEODRIVER=KMSDRM>才对,所以
肯定是脚本哪里配置时缺东西,给我修改为dummy。
上图是分析得到结果,所以说明,这里的思路是没错,剩下的就是脚本问题
同样 audio 模块使用亦是如此 《export SDL_AUDIODRIVER=alsa》
|
|