mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Subject: Re: libhybris and musl?
Date: Wed, 3 Sep 2014 18:59:17 -0400	[thread overview]
Message-ID: <20140903225917.GO12888@brightrain.aerifal.cx> (raw)
In-Reply-To: <20140901210823.GF12888@brightrain.aerifal.cx>

On Mon, Sep 01, 2014 at 05:08:23PM -0400, Rich Felker wrote:
> On Mon, Sep 01, 2014 at 10:55:26AM +0200, Jens Staal wrote:
> > Hi
> > 
> > Has anyone tried if libhybris will emulate the bionic libc properly on top of 
> > musl libc? Alternatively, are there plans for bionic binary/source 
> > compatibility in musl like the glibc compatibility (or would this contribute 
> > to bloat?).
> > 
> > I was mostly curious to look into the possiblility of building AOSP (or Mer) 
> > with musl instead of bionic (or glibc in the case of Mer), but for Android app 
> > (those built with NDK) compatibility, one would then need libhybris.
> > 
> > right now just thinking aloud - no real plans at the moment :)
> 
> While I haven't look at the details for how it works, I'm fairly
> doubtful that using libhybris would be practical. My guess is that

After writing this, I had some more ideas based on recent discussions
on #musl that were not particularly related to Bionic drivers, but
rather the problems with existing FOSS and binary-ware drivers for
non-mobile hardware, such as the nvidia drivers, which some users are
presently working on using with musl's glibc-ABI-compatibility.

Basically, my view, as expressed many times on #musl, is that all of
the existing GL drivers, but especially the non-free ones, are full of
way too much bad code to be safe to load into your program's address
space. Any process that's loaded them should be treated as potentially
crashing or aborting at any time, and possibly also has serious
namespace pollution from random libs getting pulled in.

The way I'd like to see this solved for our "new platform vision" is
to move the actual GL implementation out of the address space of the
application using it, and instead provide a universal libGL for
applications to link (even statically, if desired) that marshals all
GL operations over shared-memory-based IPC to a separate process which
has loaded the actual driver for the target hardware you want to
render to. As long as the IPC tools used don't depend on a particular
libc's ABI at all, this should make it trivial to solve the problem
libhybris aimed to solve at the same time: you simply use Bionic in
the GL driver process, and your preferred libc with the application
side libGL.


Rich


  parent reply	other threads:[~2014-09-03 22:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-01  8:55 Jens Staal
2014-09-01 21:08 ` Rich Felker
2014-09-02  7:11   ` Wermut
2014-09-02  8:34     ` Rich Felker
2014-09-02  9:25       ` Wermut
2014-09-03 22:35         ` Rich Felker
2014-09-03 22:59   ` Rich Felker [this message]
2014-09-04 15:17     ` Isaac Dunham
2014-09-04 15:55       ` Rich Felker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140903225917.GO12888@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).