Bug 8643

Summary: GTK+3 depends on libepoxy which depends on egl
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Jussi Kukkonen <jku>
Component: graphicsAssignee: Jussi Kukkonen <jku>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher
Version: 2.1   
Target Milestone: 2.2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Jussi Kukkonen 2015-11-04 14:53:33 UTC
GTK+3 applications can run without OpenGL, but building libepoxy requires egl.

Should look at how to remove this dependency: I guess options include 
A) patching GTK even more and 
B) making epoxy build not rely on egl

I think the latter _might_ just require including some generated epoxy-egl headers in the source ... but should consult Anholt on that: I'm guessing there's a reason he doesn't ship them.

This fork has at least some of that work done already: https://github.com/yaronct/libepoxy
Comment 1 Ross Burton 2015-11-05 15:56:48 UTC
Reassigning to Jussi.
Comment 2 Jussi Kukkonen 2016-04-05 12:12:46 UTC
Moving to 2.2, did not get to this in time.
Comment 3 Jussi Kukkonen 2016-09-09 08:35:20 UTC
Oh, forgot to close this. Back in June I picked option A: patch GTK+ to not depend on libepoxy.

The patch is ugly, modifies the API and is probably hard to maintain. It will only take us through the next stable release (3.22) as the one after that (4.0) will use GSK and depend on opengl heavily. Luckily 4.0 is only expected to appear in 2018.


commit 4799e1e89fd9b0f8b606e3c502fe89f32d45fe76
commit 4799e1e89fd9b0f8b606e3c502fe89f32d45fe76
Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date:   Fri Jun 17 10:51:28 2016 +0300

    gtk+3: Add patch for --disable-opengl
    
    Patch is a bit nasty and not maintainer friendly, but it does
    make Gtk+3 compile without libepoxy (which means without OpenGL
    dev files).
    
    (From OE-Core rev: 82bedec89a86902456e924a3ac2f233b6a069dea)