Hi, On Mon, 08 Dec 2025 12:27:03 +0100 Cayetano Santos <[email protected]> wrote:
> I’ve been recently thinking about how Guix relates to sobriety, its > ecological impact, and more specially, on how Guix envisions to > afford possible limitations on available resources in the times to > come. I’m thinking here mainly about bandwidth, storage resources and > energy consumption, but not only. I agree that spending time to make storage smaller is useful. But about the energy consumption I don't think we are on the right track, quite the opposite. I've a completely different option in mind: Guix enables to conduct testing and bisecting more easily. And my idea would be to use Guix as a shared/distributed resource to make sure old hardware continue working, so we do need good testing, at least for the hardware related parts. And here we probably need more storage not less in the builders to be able to keep more substitutes to make bisecting faster, or more builders that are distributed and enabled to enable people to still have substitute for older revisions and through that be able to bisect issues. Why? ---- Changing computer is extremely wasteful and at least with personal computers almost most the environmental cost is related to hardware manufacturing. This is even recognized by governments like the French government. Making new hardware also requires mining, and right now there is way too much demand on minerals. This pressure create wars like in Congo. In turn this increases violence up to the point where communities living in the zones devastated by mining can't bear the cost anymore (the number of death is order of magnitude higher than what it used to be, so it's really catastrophic). When computers stop working, people are forced to change, and this means making new hardware and somehow being trap in a cycle where we have to renew again and again the hardware. So more testing would be good, but this also goes hand in hand with making the use of old hardware desirable and boot software distributions like Canoeboot, GNU Boot, etc do help to achieve that. In addition, recently also Tanguy found that armv7h was still working in Guix[1]. This affect *a lot* of devices, so we could simply add as much armv7h devices as we can upstream to facilitate testing and fixing. But all that also requires to spend time to actually report and fix issues upstream. For instance right now, the graphical stack is a mess for older computers: - On a ThinkPad X200, dual screen is broken with GDM and Xorg (and probably wayland too). - Nvidia kepler GPUs used to work stopped being reliable. They make Xorg and/or wayland crash. Personally I've some NV40 and NV50 and that stopped working fine since ages. And we badly need help to fix all that mess, but I'm unsure if they are people that really care about that. So here it would be good to at least not have more problems to care about, like testing being worse because on the surface it would appear that it would be ecologically bad, because there were no consideration of the bigger picture. So maybe some notoriously long tests (NSS?) that don't have any impact on hardware support could be made less long, because if we can't store the substitutes, that could actually help with bisecting issues as bisects would be faster, but I think that in general we do need good testing, especially for hardware related parts. Note that we also need time to fix things, especially to reserve time to make sure old hardware keeps working, so not wasting too much time with other issues also helps here, and testing help in that regard. An example of issue is that armv7h was broken probably for years in Guix but it got repaired at some point. And note that while stable distributions like Trisquel are not affected yet by some of these issues (like the mesa issues described above), relying on it is not a solution at all here because we need to catch issues as soon as possible, bisect them and fix them. Parabola also can't help much even if it is rolloing release, as it is not possible to bisect anything with Parabola because we can't go back. Since doing all that work takes resources and that resources do not magically appear out of the blue, I'm also thinking of creating a business to do exactly that: to make sure specific old hardware continue working, and we'd try to do that based on donations. So it'll be a bit like Linaro but for people, not companies. And here the problem is also that we are probably very few that really care about that and we can't alone bear the increasing cost of being left aside. For instance, I kept using i686 for years after everyone stopped just to make sure we could continue supporting old hardware but I had to stop because it became too much to bear alone. So here if the same thing happens for ThinkPad X200 and so on, because testing isn't sufficient anymore, I've no clue whatsoever on what to do (stop using computers?) because I also depend on these old computers in many different ways. My only excuse for new buying computers is precisely to make sure things work upstream to make sure people can continue using a specific computers for as long as possible. For ARM devices it's probably worth the cost of buying one more computer, as otherwise all the other people that bought them are going to throw them away as soon as the vendor images stop working because the vendor don't update them forever. References: ----------- [1]https://codeberg.org/guix/guix/pulls/4960 Denis.
pgpZwE5CD9_MM.pgp
Description: OpenPGP digital signature
