openeuler-riscv / oerv-team

OERV 实习生工作中心
6 stars 35 forks source link

为 mesa 集成修复 patch,并在本地环境验证 #805

Open Jingwiw opened 1 month ago

Jingwiw commented 1 month ago

软件包信息

软件包名称: mesa

openEuler 仓库地址: src-openeuler/mesa

构建仓库地址: https://build.tarsier-infra.isrc.ac.cn/package/show/openEuler:24.03/mesa

说明

参考 https://build.opensuse.org/package/show/openSUSE:Factory:RISCV/Mesa 将补丁 0001 到 0010 以及。24300 24301 24302 十三个补丁合入,同时要进行本地环境,至少包括 x86 和 riscv 的桌面环境验证。 注意,重点是 24300 24301 24302 三个补丁的验证

同时 suse的补丁较为老旧,针对 24300 24301 24302 三个补丁应该参考 https://github.com/felixonmars/archriscv-packages/tree/master/mesa 最新版本补丁进行修正。

24300 24301 24302 所使能的 OrcJIT LLVMpipe 的支持是 mesa 的新特性,应当对比上游相关问题讨论,如果有新的进展修复,也应该同步

Jingwiw commented 1 month ago

补充资料 https://github.com/AOSC-Dev/aosc-os-abbs/tree/stable/runtime-display/mesa/autobuild/patches

Hajduk137 commented 1 month ago

换源之前,发现无法加载zink驱动 屏幕截图_20240521_220810

改用virgl,glxgears运行结果如下 屏幕截图_20240522_094730

换不支持orcjit的源并更新mesa全部包后,glxgears运行结果如下 image

Hajduk137 commented 1 month ago

换支持orcjit的源并更新mesa相关包后,glxgears运行结果如下 image image

Hajduk137 commented 1 month ago

尝试强制使用软件渲染测试,发现如下warning输出: image

无报错,但glxgears无法显示齿轮图像 image

qemu启动参数是 cmd="qemu-system-riscv64 \ -machine virt \ -smp "$vcpu" -m "$memory"G \ -device virtio-gpu -display sdl \ -audiodev pa,id=snd0 \ -bios "$fw" \ -drive file="$drive",format=qcow2,id=hd0 \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-device,rng=rng0 \ -device virtio-blk-device,drive=hd0 \ -device virtio-net-device,netdev=usernet \ -netdev user,id=usernet,hostfwd=tcp::"$ssh_port"-:22 \ -device qemu-xhci -usb -device usb-kbd -device usb-tablet -device usb-audio,audiodev=snd0"