On Fri, 13 Sep 2024 at 02:07:25 +0800, Bo YU wrote: > On Thu, Sep 12, 2024 at 11:48:21AM +0100, Simon McVittie wrote: > If I understand correctly, the gtk4 can be built[0] on riscv64 once llvm-18 > got upload to riscv64[1].
I believe the current gtk4 in experimental can be built successfully on riscv64 anyway, because it forces GALLIUM_DRIVER=softpipe (it worked for me on the porterbox, we're waiting for a result from the buildd). The most likely thing to break it would be if this bug is not actually about the difference between release and -ports architectures, but more like the difference between buildds that run on stable and buildds that run on testing/unstable. We'll see. > I would like to suggest we can enable llvmpipe on riscv64 In future, yes we probably can, but we can only try that after ORCJIT *works* on riscv64, which requires llvm-toolchain-18 to build successfully. That has taken more than 3 days of compiling so far, and is still not finished. We want to upload GTK 4 to unstable soon because it's blocking many GNOME 47 apps and libraries, and riscv64 is a release architecture candidate, so my understanding is that failure to compile on riscv64 would be a migration blocker. Letting a multi-day compile on riscv64 delay the upload of GNOME 47 on desktop architectures like x86 seems like it would be harming our users. *After* gtk4 (>= 4.16) is in unstable and preferably testing, *then* we can try removing riscv64 from the list of softpipe architectures - at that point I hope it will work reliably, like e.g. amd64 and arm64 do. If that's successful, we can remove some workarounds. And, when someone has solved this bug, providing a build environment where gtk4 can run all of its tests on -ports architectures, we can make each -ports architecture use either llvmpipe (like ppc64) or softpipe (like powerpc), whichever one the architecture's porters tell us works better for that architecture. We would prefer llvmpipe if possible, because softpipe seems to mis-render some of the test cases. smcv