* [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes @ 2013-01-30 21:51 Philipp Wagner 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries Philipp Wagner ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Philipp Wagner @ 2013-01-30 21:51 UTC (permalink / raw) To: yocto Hi, I'm working on an application that needs the graphics libraries. Right now I'm still using the binary libraries (which are still default in meta-raspberrypi). Unfortunately, the current default configuration has two problems: a) It chooses the wrong ABI version (hardfp instead of softfp). To reduce the possibility for error here I changed the recipe to automatically select the right version. b) Many applications dlopen the OpenGL libraries. For that to work, they need to be listed in the RPROVIDES list. The second patch does that. I'm aware of the fact that those binary graphics libraries will be replaced with the new "userland" libraries, but until this is all ready I'd be grat if those patches could be accepted to have a working-by-default configuration in the meta-raspberrypi tree. Philipp Philipp Wagner (2): Choose correct ABI version of graphics binaries Add RPROVIDES for OpenGL libraries conf/machine/include/rpi-default-providers.inc | 10 +++++++--- recipes-bcm/vc-graphics/vc-graphics.inc | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries 2013-01-30 21:51 [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Philipp Wagner @ 2013-01-30 21:51 ` Philipp Wagner 2013-02-09 22:59 ` Andrei Gherzan 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries Philipp Wagner 2013-02-07 14:26 ` [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Andrei Gherzan 2 siblings, 1 reply; 14+ messages in thread From: Philipp Wagner @ 2013-01-30 21:51 UTC (permalink / raw) To: yocto; +Cc: Philipp Wagner From: Philipp Wagner <mail@philipp-wagner.com> Depending on the used calling convention use the hardfp or the softfp binary graphics libraries. Signed-off-by: Philipp Wagner <mail@philipp-wagner.com> --- conf/machine/include/rpi-default-providers.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/conf/machine/include/rpi-default-providers.inc b/conf/machine/include/rpi-default-providers.inc index ce963b3..83292df 100644 --- a/conf/machine/include/rpi-default-providers.inc +++ b/conf/machine/include/rpi-default-providers.inc @@ -2,7 +2,11 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi" PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" -PREFERRED_PROVIDER_virtual/egl ?= "vc-graphics-hardfp" -PREFERRED_PROVIDER_virtual/libgles2 ?= "vc-graphics-hardfp" -PREFERRED_PROVIDER_virtual/libgl ?= "vc-graphics-hardfp" PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-raspberrypi" + +# The graphics libraries are closed source and provided as binaries with either +# hardfp and softfp calling conventions. We need to choose the one that fits +# in with the rest of the system. +PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}" +PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}" +PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}" -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries Philipp Wagner @ 2013-02-09 22:59 ` Andrei Gherzan 2013-02-12 17:36 ` Philipp Wagner 0 siblings, 1 reply; 14+ messages in thread From: Andrei Gherzan @ 2013-02-09 22:59 UTC (permalink / raw) To: Philipp Wagner; +Cc: Yocto Project, Philipp Wagner [-- Attachment #1: Type: text/plain, Size: 1994 bytes --] On Wed, Jan 30, 2013 at 11:51 PM, Philipp Wagner <lists@philipp-wagner.com>wrote: > From: Philipp Wagner <mail@philipp-wagner.com> > > Depending on the used calling convention use the hardfp or > the softfp binary graphics libraries. > > Signed-off-by: Philipp Wagner <mail@philipp-wagner.com> > --- > conf/machine/include/rpi-default-providers.inc | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/conf/machine/include/rpi-default-providers.inc > b/conf/machine/include/rpi-default-providers.inc > index ce963b3..83292df 100644 > --- a/conf/machine/include/rpi-default-providers.inc > +++ b/conf/machine/include/rpi-default-providers.inc > @@ -2,7 +2,11 @@ > > PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi" > PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" > -PREFERRED_PROVIDER_virtual/egl ?= "vc-graphics-hardfp" > -PREFERRED_PROVIDER_virtual/libgles2 ?= "vc-graphics-hardfp" > -PREFERRED_PROVIDER_virtual/libgl ?= "vc-graphics-hardfp" > PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-raspberrypi" > + > +# The graphics libraries are closed source and provided as binaries with > either > +# hardfp and softfp calling conventions. We need to choose the one that > fits > +# in with the rest of the system. > +PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("TUNE_FEATURES", > "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}" > +PREFERRED_PROVIDER_virtual/libgles2 ?= > "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", > "vc-graphics-hardfp", "vc-graphics", d)}" > +PREFERRED_PROVIDER_virtual/libgl ?= > "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", > "vc-graphics-hardfp", "vc-graphics", d)}" > I like this change but I think the best way would be to switch to userland. So we can compile our own libraries. I sent some patches so please give them a try. -- *Andrei Gherzan* m: +40.744.478.414 | f: +40.31.816.28.12 [-- Attachment #2: Type: text/html, Size: 3124 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries 2013-02-09 22:59 ` Andrei Gherzan @ 2013-02-12 17:36 ` Philipp Wagner 2013-03-13 17:50 ` Andrei Gherzan 0 siblings, 1 reply; 14+ messages in thread From: Philipp Wagner @ 2013-02-12 17:36 UTC (permalink / raw) To: Andrei Gherzan; +Cc: Yocto Project Am 09.02.2013 23:59, Andrei Gherzan wrote: > I like this change but I think the best way would be to switch to > userland. So we can compile our own libraries. I sent some patches so > please give them a try. I agree that switching to userland is the best solution. I'll give it a try in the next couple days and report back. Philipp ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries 2013-02-12 17:36 ` Philipp Wagner @ 2013-03-13 17:50 ` Andrei Gherzan 0 siblings, 0 replies; 14+ messages in thread From: Andrei Gherzan @ 2013-03-13 17:50 UTC (permalink / raw) To: Philipp Wagner; +Cc: Yocto Project [-- Attachment #1: Type: text/plain, Size: 605 bytes --] I will drop this patch as we use useland now as default provider. Thank you. On Tue, Feb 12, 2013 at 7:36 PM, Philipp Wagner <lists@philipp-wagner.com>wrote: > Am 09.02.2013 23:59, Andrei Gherzan wrote: > > I like this change but I think the best way would be to switch to > > userland. So we can compile our own libraries. I sent some patches so > > please give them a try. > > I agree that switching to userland is the best solution. I'll give it a > try in the next couple days and report back. > > Philipp > -- *Andrei Gherzan* m: +40.744.478.414 | f: +40.31.816.28.12 [-- Attachment #2: Type: text/html, Size: 1456 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries 2013-01-30 21:51 [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Philipp Wagner 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries Philipp Wagner @ 2013-01-30 21:51 ` Philipp Wagner 2013-02-05 18:50 ` Tomas Frydrych 2013-02-07 14:26 ` [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Andrei Gherzan 2 siblings, 1 reply; 14+ messages in thread From: Philipp Wagner @ 2013-01-30 21:51 UTC (permalink / raw) To: yocto; +Cc: Philipp Wagner From: Philipp Wagner <mail@philipp-wagner.com> Often the OpenGL libraries are dlopen'ed rather than linked against, which makes it necessary to add OpenGL libraries to RDEPENDS of the package. This of course requires that they are RPROVIDE'd somewhere. I've seen a bug report about this at https://github.com/djwillis/meta-raspberrypi/issues/55 but I don't know enough to judge how/why virtual/libgl is required, so I'm leaving it in for now and only adding the runtime library provider. Signed-off-by: Philipp Wagner <mail@philipp-wagner.com> --- recipes-bcm/vc-graphics/vc-graphics.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-bcm/vc-graphics/vc-graphics.inc b/recipes-bcm/vc-graphics/vc-graphics.inc index 915b7c1..36cbdf9 100644 --- a/recipes-bcm/vc-graphics/vc-graphics.inc +++ b/recipes-bcm/vc-graphics/vc-graphics.inc @@ -4,6 +4,7 @@ LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780" PROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" +RPROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" COMPATIBLE_MACHINE = "raspberrypi" include ../common/firmware.inc -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries Philipp Wagner @ 2013-02-05 18:50 ` Tomas Frydrych 2013-02-05 18:54 ` Philipp Wagner 0 siblings, 1 reply; 14+ messages in thread From: Tomas Frydrych @ 2013-02-05 18:50 UTC (permalink / raw) To: yocto On 30/01/13 21:51, Philipp Wagner wrote: > https://github.com/djwillis/meta-raspberrypi/issues/55 > > PROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" > +RPROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" As I noted in the above issue, this really is wrong; there is *no* libgl provided by the RPi firmware. Tomas -- http://sleepfive.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries 2013-02-05 18:50 ` Tomas Frydrych @ 2013-02-05 18:54 ` Philipp Wagner 2013-02-09 22:58 ` Andrei Gherzan 0 siblings, 1 reply; 14+ messages in thread From: Philipp Wagner @ 2013-02-05 18:54 UTC (permalink / raw) To: yocto Am 05.02.2013 19:50, schrieb Tomas Frydrych: > On 30/01/13 21:51, Philipp Wagner wrote: >> https://github.com/djwillis/meta-raspberrypi/issues/55 >> >> PROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" >> +RPROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" > > As I noted in the above issue, this really is wrong; there is *no* libgl > provided by the RPi firmware. In the bug report, Andrei also mentions that it is required for some reason, but I don't know exactly what the reason is. Andrei, could you explain that in more detail? Philipp ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries 2013-02-05 18:54 ` Philipp Wagner @ 2013-02-09 22:58 ` Andrei Gherzan 0 siblings, 0 replies; 14+ messages in thread From: Andrei Gherzan @ 2013-02-09 22:58 UTC (permalink / raw) To: Philipp Wagner; +Cc: Yocto Project [-- Attachment #1: Type: text/plain, Size: 1299 bytes --] On Tue, Feb 5, 2013 at 8:54 PM, Philipp Wagner <lists@philipp-wagner.com>wrote: > Am 05.02.2013 19:50, schrieb Tomas Frydrych: > > On 30/01/13 21:51, Philipp Wagner wrote: > >> https://github.com/djwillis/meta-raspberrypi/issues/55 > >> > >> PROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" > >> +RPROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" > > > > As I noted in the above issue, this really is wrong; there is *no* libgl > > provided by the RPi firmware. > > In the bug report, Andrei also mentions that it is required for some > reason, but I don't know exactly what the reason is. > > Andrei, could you explain that in more detail? > Well it was a workaround. In this way opengl distro features would point to our libraries even if that is not the right thing to do. Think about libsdl. I actually did this for this case as i remember. libsdl was a dependency for omxplayer and libsdl was triggering mesa in build because of this opengl dependency taken from DISTRO FEATURES. So I made this to trick the package not to depend on mesa but on rpi graphic libraries. But I dropped this ugly thing. We need a real way to fix this now. There is a discussion on ml already about this. -- *Andrei Gherzan* m: +40.744.478.414 | f: +40.31.816.28.12 [-- Attachment #2: Type: text/html, Size: 2380 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes 2013-01-30 21:51 [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Philipp Wagner 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries Philipp Wagner 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries Philipp Wagner @ 2013-02-07 14:26 ` Andrei Gherzan 2013-02-08 10:17 ` Tomas Frydrych 2 siblings, 1 reply; 14+ messages in thread From: Andrei Gherzan @ 2013-02-07 14:26 UTC (permalink / raw) To: Philipp Wagner; +Cc: Yocto Project [-- Attachment #1: Type: text/plain, Size: 1630 bytes --] We are moving to userland repo. So we will build our libraries so this patch says on hold - sorry for delay - been ill. On Wed, Jan 30, 2013 at 11:51 PM, Philipp Wagner <lists@philipp-wagner.com>wrote: > Hi, > > I'm working on an application that needs the graphics libraries. Right now > I'm still using the binary libraries (which are still default in > meta-raspberrypi). Unfortunately, the current default configuration has > two problems: > a) It chooses the wrong ABI version (hardfp instead of softfp). To reduce > the possibility for error here I changed the recipe to automatically > select the right version. > b) Many applications dlopen the OpenGL libraries. For that to work, they > need to be listed in the RPROVIDES list. The second patch does that. > > I'm aware of the fact that those binary graphics libraries will be > replaced with the new "userland" libraries, but until this is all ready > I'd be grat if those patches could be accepted to have a working-by-default > configuration in the meta-raspberrypi tree. > > Philipp > > Philipp Wagner (2): > Choose correct ABI version of graphics binaries > Add RPROVIDES for OpenGL libraries > > conf/machine/include/rpi-default-providers.inc | 10 +++++++--- > recipes-bcm/vc-graphics/vc-graphics.inc | 1 + > 2 files changed, 8 insertions(+), 3 deletions(-) > > -- > 1.7.9.5 > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > -- *Andrei Gherzan* m: +40.744.478.414 | f: +40.31.816.28.12 [-- Attachment #2: Type: text/html, Size: 2615 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes 2013-02-07 14:26 ` [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Andrei Gherzan @ 2013-02-08 10:17 ` Tomas Frydrych 2013-02-08 13:03 ` Andrei Gherzan 0 siblings, 1 reply; 14+ messages in thread From: Tomas Frydrych @ 2013-02-08 10:17 UTC (permalink / raw) To: yocto Hi Andrei, On 07/02/13 14:26, Andrei Gherzan wrote: > We are moving to userland repo. So we will build our libraries I tried to use the userland repo about a week ago and had to revert back to using the binary firmware; the userland tree seem to miss some bcm headers, so it was impossible to build apps against the libs whose includes require those. Tomas ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes 2013-02-08 10:17 ` Tomas Frydrych @ 2013-02-08 13:03 ` Andrei Gherzan 2013-02-08 14:18 ` Tomas Frydrych 0 siblings, 1 reply; 14+ messages in thread From: Andrei Gherzan @ 2013-02-08 13:03 UTC (permalink / raw) To: Tomas Frydrych; +Cc: Yocto Project [-- Attachment #1: Type: text/plain, Size: 607 bytes --] On Fri, Feb 8, 2013 at 12:17 PM, Tomas Frydrych <tf+lists.yocto@r-finger.com > wrote: > Hi Andrei, > > On 07/02/13 14:26, Andrei Gherzan wrote: > > We are moving to userland repo. So we will build our libraries > > I tried to use the userland repo about a week ago and had to revert back > to using the binary firmware; the userland tree seem to miss some bcm > headers, so it was impossible to build apps against the libs whose > includes require those. > > I will push some patches this weekend. Would you give it a try? -- *Andrei Gherzan* m: +40.744.478.414 | f: +40.31.816.28.12 [-- Attachment #2: Type: text/html, Size: 1498 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes 2013-02-08 13:03 ` Andrei Gherzan @ 2013-02-08 14:18 ` Tomas Frydrych 2013-02-08 14:53 ` Andrei Gherzan 0 siblings, 1 reply; 14+ messages in thread From: Tomas Frydrych @ 2013-02-08 14:18 UTC (permalink / raw) To: Yocto Project On 08/02/13 13:03, Andrei Gherzan wrote: > > > > On Fri, Feb 8, 2013 at 12:17 PM, Tomas Frydrych > <tf+lists.yocto@r-finger.com <mailto:tf+lists.yocto@r-finger.com>> wrote: > > Hi Andrei, > > On 07/02/13 14:26, Andrei Gherzan wrote: > > We are moving to userland repo. So we will build our libraries > > I tried to use the userland repo about a week ago and had to revert back > to using the binary firmware; the userland tree seem to miss some bcm > headers, so it was impossible to build apps against the libs whose > includes require those. > > > I will push some patches this weekend. Would you give it a try? Time allowing, of course. But the problem was not with the meta-rpi packaging, the files were missing in the upstream userland git repository. Tomas -- http://sleepfive.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes 2013-02-08 14:18 ` Tomas Frydrych @ 2013-02-08 14:53 ` Andrei Gherzan 0 siblings, 0 replies; 14+ messages in thread From: Andrei Gherzan @ 2013-02-08 14:53 UTC (permalink / raw) To: Tomas Frydrych; +Cc: Yocto Project [-- Attachment #1: Type: text/plain, Size: 1071 bytes --] On Fri, Feb 8, 2013 at 4:18 PM, Tomas Frydrych <tf+lists.yocto@r-finger.com>wrote: > On 08/02/13 13:03, Andrei Gherzan wrote: > > > > > > > > On Fri, Feb 8, 2013 at 12:17 PM, Tomas Frydrych > > <tf+lists.yocto@r-finger.com <mailto:tf+lists.yocto@r-finger.com>> > wrote: > > > > Hi Andrei, > > > > On 07/02/13 14:26, Andrei Gherzan wrote: > > > We are moving to userland repo. So we will build our libraries > > > > I tried to use the userland repo about a week ago and had to revert > back > > to using the binary firmware; the userland tree seem to miss some bcm > > headers, so it was impossible to build apps against the libs whose > > includes require those. > > > > > > I will push some patches this weekend. Would you give it a try? > > Time allowing, of course. But the problem was not with the meta-rpi > packaging, the files were missing in the upstream userland git repository. Maybe newer updates include those. Just need to know. -- *Andrei Gherzan* m: +40.744.478.414 | f: +40.31.816.28.12 [-- Attachment #2: Type: text/html, Size: 2102 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-03-13 17:50 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-01-30 21:51 [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Philipp Wagner 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries Philipp Wagner 2013-02-09 22:59 ` Andrei Gherzan 2013-02-12 17:36 ` Philipp Wagner 2013-03-13 17:50 ` Andrei Gherzan 2013-01-30 21:51 ` [meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries Philipp Wagner 2013-02-05 18:50 ` Tomas Frydrych 2013-02-05 18:54 ` Philipp Wagner 2013-02-09 22:58 ` Andrei Gherzan 2013-02-07 14:26 ` [meta-raspberrypi][PATCH 0/2] Binary graphics library fixes Andrei Gherzan 2013-02-08 10:17 ` Tomas Frydrych 2013-02-08 13:03 ` Andrei Gherzan 2013-02-08 14:18 ` Tomas Frydrych 2013-02-08 14:53 ` Andrei Gherzan
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.