From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Preliminary MIPS N32 port now available Date: Fri, 18 Oct 2013 11:41:24 -0400 Message-ID: <87wqlalh7f.fsf@netris.org> References: <871u3jmfkp.fsf@netris.org> <20131018082616.GA4815@debian.eduroam.u-bordeaux.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VXCC9-0000qv-KE for guix-devel@gnu.org; Fri, 18 Oct 2013 11:42:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VXCC2-00042T-5C for guix-devel@gnu.org; Fri, 18 Oct 2013 11:42:33 -0400 Received: from world.peace.net ([96.39.62.75]:46177) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VXCC2-00041N-1P for guix-devel@gnu.org; Fri, 18 Oct 2013 11:42:26 -0400 In-Reply-To: <20131018082616.GA4815@debian.eduroam.u-bordeaux.fr> (Andreas Enge's message of "Fri, 18 Oct 2013 10:26:16 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Andreas Enge Cc: guix-devel@gnu.org Hi Andreas, Andreas Enge writes: > On Thu, Oct 17, 2013 at 11:19:02PM -0400, Mark H Weaver wrote: >> If you own a 64-bit MIPS system (including Loongson 2F), are willing to >> build everything on your own machine, and would like to try out the >> preliminary port of Guix to MIPS N32, the "loongson" branch of the Guix >> git repo is ready for your early testing. > > these are very good news indeed, congratulations! > > It looks like the branch is based on master; if it is supposed to be merged > into core-updates, had it not better be based on core-updates? I considered this, but since it takes so long to compile things on the Loongson 2F, I wanted to start on a more stable branch. Also, several important fixes that I need are on master but not yet in core-updates. More importantly, because there are so many patches for Loongson 2F that are not yet ready to be applied upstream -- either because they are not sufficiently clean, or because they choose a compile-time configuration that uses Loongson-specific features or works around Loongson 2F bugs -- I expect that we'll want to maintain a separate "loongson" branch for the foreseeable future, even if some of the patches are applied to core-updates. For example, 'pixman', used by both the X server and Cairo for low-level rendering operations, optionally includes code to use Loongson-specific SIMD vector instructions, but the choice of whether to use this code must be made at compile time. The Loongson-specific code makes a dramatic improvement in rendering performance, but won't work at all on other MIPS processors. Because of this, we will need different 'pixman' packages for Loongson and other MIPS processors. Furthermore, because of the way Guix/Nix works, it means that we need separate builds of everything that depends on 'pixman' (which includes Cairo and Gtk and everything that uses Gtk). Ideally, 'pixman' would be modified to detect the processor type at run time, and then dynamically choose which code to use based on that. If someone would like to do that, it would be a most welcome development :) However, 'pixman' is only one of many such examples. Actually, it's one of the better examples, because at least in that case, the Loongson support is in the upstream version. In many other cases, the Loongson patches have not been accepted upstream (or were never submitted), usually because they are not of sufficient quality. For these reasons, I think we will need the 'loongson' branch for some time to come. What do you think? Mark