Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v8 21/28] xbmc: Add X.org/OpenGL support
Date: Wed, 21 May 2014 01:16:15 +0200	[thread overview]
Message-ID: <537BE23F.602@mind.be> (raw)
In-Reply-To: <20140520164924.GA3506@free.fr>

On 20/05/14 18:49, Yann E. MORIN wrote:
> Arnout, All,
> 
> On 2014-05-20 18:33 +0200, Arnout Vandecappelle spake thusly:
>> On 18/05/14 19:29, Yann E. MORIN wrote:
>>> Bernd, All,
>>>
>>> On 2014-05-18 18:58 +0200, Bernd Kuhls spake thusly:
>>>> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in
>>>> news:20140518162900.GA3631 at free.fr: 
>>>>
>>>>> Something like:
>>>> [...]
>>>>> should do the trick.
>>>>
>>>> Hi,
>>>>
>>>> for further comments I posted my current patch here:
>>>> http://pastebin.com/zv7jueLB (expires in one week).
>>>>
>>>> Especially the last "depends on" block looks crude, but seems to work.
>>>
>>> Yep, it looks too dense. I think we can factor it into:
>>>
>>>     depends on BR2_arm || BR2_i386 || BR2_x86_64
>>>     depends on HAS_LIBEGL && HAS_LIBGLES \
>>>             || (BR2_i386 || BR2_x86_64) && HAS_LIBGL
>>
>>  I don't agree with you Yann that the () should be left out here. Not many
>> people know enough about the Kconfig logic to be able to be sure about the
>> precedence here.
> 
> Well, the precedence of the || and && operators is always the same in
> virtually all languages: C, shell, java, you-name-it. kconfig does just
> abide by the usual standards, here, and it's clearly stated in the
> kconfig grammar.

 In shell, || and && have equal precedence. So I disagree here.

> 
> Furthermore, leaving the () would falsely imply that || would have
> precedence over &&, which is not the case.
> 
>>> So, it first ensures that it is only visible for ARM or x86 (the only
>>> archs we currently support SBMC on.)
>>>
>>> Then, it is available only for EGL+GLES or x86+GL, since EGL+GLES is
>>> posible on ARM and x86 alike, but full GL is only possible on x86.
>>
>>  I think there's something more fundamentally inappropriate about the approach
>> taken here. I think the way out could be to add auxiliary symbols to identify
>> which provider is used. Something like:
>>
>> config BR2_PACKAGE_XBMC_EGL_GLES
>> 	bool
>> 	default y
>> 	depends on BR2_PACKAGE_HAS_LIBEGL
>> 	depends on BR2_PACKAGE_HAS_LIBGLES
>> 	depends on !BR2_PACKAGE_XBMC_GL # prefer GL if available
>>
>> config BR2_PACKAGE_XBMC_GL
>> 	bool
> 
> Missing 'default y' here too, I guess. ;-)
> 
>> 	depends on BR2_PACKAGE_XORG7
>> 	depends on BR2_PACKAGE_HAS_LIBGL
> 
> And as Bernd said, full openGL support in XBMC is not possible on ARM,
> so it is missing a dependency on !BR2_arm. But the basis are here,
> granted.

 Agreed if there is a specific ARM dependency in XBMC itself. I don't agree if
this is just because only mesa3d on x86 implements libgl.

>> comment "xbmc requires an OpenGL-capable backend"
> 
> I think we want to differentiate the full-openGL vs. openGL EGL/GLES
> cases, here, since ARM can only work with EGL/GLES, while x86 can use
> either. So we'd need a comment for ARM (or any arch that requires
> GL/GLES), and another comment for x86 (or any arch that supports both.)

 Other packages use "requires an OpenGL-capable backend" even if they need
EGL/GLES. But admittedly these others are all qt5.

> 
>> 	depends on BR2_USE_MMU
>> 	depends on BR2_arm || BR2_i386 || BR2_x86_64
>> 	depends on !BR2_PACKAGE_XBMC_EGL_GLES
>> 	depends on !BR2_PACKAGE_XBMC_GL
>>
>> config BR2_PACKAGE_XBMC
>> 	...
>> 	depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL
> 
> Yes, this seems more sound, indeed. I tried to come up with something
> like that, but I failed to properly abstract the situation. Your
> solution is pretty good, I like it. ;-)
> 
>>  That also allows you to use these new symbols in the .mk file instead of the
>> _HAS_LIBGL which IMHO is not sufficiently accurate and future-safe.
> 
> I disagree. _HAS_LIBGL is just that: we do have a libGL implementation
> available.

 Well, if we get another libgl provider that doesn't require X, then the
_HAS_LIBGL condition will be incorrect...


 Regards,
 Arnout


> Now, I never managed to grasp all those lib*GL* stuff. What about libGLX?
> 
> Regards,
> Yann E. MORIN.
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2014-05-20 23:16 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-17 15:57 [Buildroot] [PATCH v8 00/28] xbmc: bump version to 13.0-Gotham Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 01/28] xproto_dri3proto: New package Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 02/28] mesa3d: Bump version to 10.2-rc3 Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 03/28] mesa3d: Depend on xorg meta package instead of xserver_xorg-server Bernd Kuhls
2014-05-17 19:56   ` Yann E. MORIN
2014-05-17 20:50     ` Bernd Kuhls
2014-05-17 21:07       ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 04/28] mesa3d: add dependency xproto_presentproto Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 05/28] mesa3d: Remove dependency for the libxml2 module of host-python Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 06/28] mesa3d: Add dri3 support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 07/28] mesa3d: dri2 does not need udev support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 08/28] libva: new package Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 09/28] libva-intel-driver: " Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 10/28] ffmpeg: Add libva support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 11/28] libglu: new package Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 12/28] libglew: " Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 13/28] sdl: Add new dependency libglu for opengl support Bernd Kuhls
2014-05-17 20:00   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 14/28] xdriver_xf86-video-intel: Bump version to 2.99.911 Bernd Kuhls
2014-05-17 20:06   ` Yann E. MORIN
2014-05-17 20:51     ` Bernd Kuhls
2014-05-17 21:09       ` Yann E. MORIN
2014-05-17 21:17         ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 15/28] rtmpdump: Add KSV patch Bernd Kuhls
2014-05-17 20:11   ` Yann E. MORIN
2014-05-17 21:15     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 16/28] xbmc: bump version to 13.0 Bernd Kuhls
2014-05-18 16:54   ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 17/28] xbmc-pvr-addons: Version bump to xbmc Gotham-compatible addon Bernd Kuhls
2014-05-17 20:15   ` Yann E. MORIN
2014-05-17 20:51     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 18/28] xbmc-addon-xvdr: " Bernd Kuhls
2014-05-17 20:16   ` Yann E. MORIN
2014-05-17 20:52     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 19/28] xbmc: Add host-gettext dependency Bernd Kuhls
2014-05-17 20:29   ` Yann E. MORIN
2014-05-17 20:52     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 20/28] xbmc: Allow compilation with uClibc Bernd Kuhls
2014-05-17 20:40   ` Yann E. MORIN
2014-05-17 20:47     ` Bernd Kuhls
2014-05-17 20:56       ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 21/28] xbmc: Add X.org/OpenGL support Bernd Kuhls
2014-05-17 20:55   ` Yann E. MORIN
2014-05-17 21:01     ` Bernd Kuhls
2014-05-17 21:17       ` Yann E. MORIN
2014-05-18 11:58     ` Bernd Kuhls
2014-05-18 16:29       ` Yann E. MORIN
2014-05-18 16:52         ` Bernd Kuhls
2014-05-18 17:07           ` Yann E. MORIN
2014-05-18 16:58         ` Bernd Kuhls
2014-05-18 17:29           ` Yann E. MORIN
2014-05-18 17:40             ` Bernd Kuhls
2014-05-20 16:33             ` Arnout Vandecappelle
2014-05-20 16:49               ` Yann E. MORIN
2014-05-20 21:10                 ` Peter Korsgaard
2014-05-20 23:16                 ` Arnout Vandecappelle [this message]
2014-05-21  7:39                   ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 22/28] xbmc: Add VA-API support Bernd Kuhls
2014-05-17 21:01   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 23/28] xbmc: Add alsa support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 24/28] xbmc: Add lame support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 25/28] xbmc: Disable broken rsxs screensaver Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 26/28] xbmc: Add option for Goom screensaver Bernd Kuhls
2014-05-17 21:04   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 27/28] xbmc: add nasm/yasm dependency Bernd Kuhls
2014-05-17 21:06   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 28/28] xbmc: Fix TexturePacker compile Bernd Kuhls
2014-05-17 21:13   ` Yann E. MORIN

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=537BE23F.602@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox