guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Preliminary MIPS N32 port now available


From: Mark H Weaver
Subject: Re: Preliminary MIPS N32 port now available
Date: Fri, 18 Oct 2013 11:41:24 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hi Andreas,

Andreas Enge <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]