All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
@ 2013-06-05 17:36 Charles Krinke
  2013-06-05 18:05 ` Wojciech Sleńska
  0 siblings, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-05 17:36 UTC (permalink / raw)
  To: buildroot

This is probably a question for Prabu and Spenser as I undestand a
buildroot patch is on the near horizon for Qt5 and OpenGL.

I have downloaded last nights nightly build of buildroot and built Qt5
for ARM for the TI AM3517 as we try to move from Qt-4.8.2 to Qt-5.0.2
and am looking at three features that are currently disabled.

These are support for Neon, OpenGL & EGLFS.

I was able to add QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 &
QMAKE_LIBS_OPENGL_ES2 to the mkspec patch this week using last weeks
buildroot-20130529 and get OpenGL to compile pointing to my external
TI Graphics_SDK, but then get into trouble with EGLFS and later on
with VERSION in qt_module.prf. So, I think there is a bit more to the
problem then just adding constants to the mkspecs patch.

Can someone possibly describe more of what needs to be done in a
dialect of techno-babble that I understand to get these three features
supported for the AM3517, please?

-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-05 17:36 [Buildroot] AM3517 Neon, OpenGL & EGLFS support Charles Krinke
@ 2013-06-05 18:05 ` Wojciech Sleńska
  2013-06-05 18:17   ` Charles Krinke
  0 siblings, 1 reply; 32+ messages in thread
From: Wojciech Sleńska @ 2013-06-05 18:05 UTC (permalink / raw)
  To: buildroot

Hello Charles,

I already have full OpenGL ES support on my TI AM3517 in QT5 using eglfs plugin.

I use following half-manual procedure to made this:
1. I build kernel modules using TI Graphics_SDK_4_09_00_01 package,
downloaded from TI page
2. I made some changes in qt5 build scripts (check attachment) in
buildroot and add path to ti libs

As compiler I use arago-2011.09 with following flags -march=armv7-a
-mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

3. When build is finished. I copy some files from
Graphics_SDK_4_09_00_01/gfx_rel_es3.x/ directory to target rootfs.
4. Now I can run ./hellogl_es2 -platform eglfs

I hope that this solution will help You.

Best Regards
Wojciech Slenska

2013/6/5 Charles Krinke <charles.krinke@gmail.com>:
> This is probably a question for Prabu and Spenser as I undestand a
> buildroot patch is on the near horizon for Qt5 and OpenGL.
>
> I have downloaded last nights nightly build of buildroot and built Qt5
> for ARM for the TI AM3517 as we try to move from Qt-4.8.2 to Qt-5.0.2
> and am looking at three features that are currently disabled.
>
> These are support for Neon, OpenGL & EGLFS.
>
> I was able to add QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 &
> QMAKE_LIBS_OPENGL_ES2 to the mkspec patch this week using last weeks
> buildroot-20130529 and get OpenGL to compile pointing to my external
> TI Graphics_SDK, but then get into trouble with EGLFS and later on
> with VERSION in qt_module.prf. So, I think there is a bit more to the
> problem then just adding constants to the mkspecs patch.
>
> Can someone possibly describe more of what needs to be done in a
> dialect of techno-babble that I understand to get these three features
> supported for the AM3517, please?
>
> --
> Charles Krinke
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-qt5-OMAP-EGLFS-enable-dirty-fix.patch
Type: application/octet-stream
Size: 7723 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130605/3e72b324/attachment.obj>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-05 18:05 ` Wojciech Sleńska
@ 2013-06-05 18:17   ` Charles Krinke
  2013-06-05 22:16     ` Charles Krinke
  0 siblings, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-05 18:17 UTC (permalink / raw)
  To: buildroot

Dear Wojciech:

Thank you very much.

I look at your patch and it is addressing the things I have been
struggling with and then some. I need to test and understand what it
is doing, but I think it is certainly going in the right direction.

I also am using a seperate tree for the Graphics_SDK, so this recipe
is consistent. I am using the CodeSourcery 2011.09 that is part of
buildroot with similar flags, but will double check the flags.

You give me hope that the light at the end of the tunnel I am
currently in is daylight and not an approaching express train.

Charles

On 6/5/13, Wojciech Sle?ska <wojciech.slenska@gmail.com> wrote:
> Hello Charles,
>
> I already have full OpenGL ES support on my TI AM3517 in QT5 using eglfs
> plugin.
>
> I use following half-manual procedure to made this:
> 1. I build kernel modules using TI Graphics_SDK_4_09_00_01 package,
> downloaded from TI page
> 2. I made some changes in qt5 build scripts (check attachment) in
> buildroot and add path to ti libs
>
> As compiler I use arago-2011.09 with following flags -march=armv7-a
> -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
>
> 3. When build is finished. I copy some files from
> Graphics_SDK_4_09_00_01/gfx_rel_es3.x/ directory to target rootfs.
> 4. Now I can run ./hellogl_es2 -platform eglfs
>
> I hope that this solution will help You.
>
> Best Regards
> Wojciech Slenska
>
> 2013/6/5 Charles Krinke <charles.krinke@gmail.com>:
>> This is probably a question for Prabu and Spenser as I undestand a
>> buildroot patch is on the near horizon for Qt5 and OpenGL.
>>
>> I have downloaded last nights nightly build of buildroot and built Qt5
>> for ARM for the TI AM3517 as we try to move from Qt-4.8.2 to Qt-5.0.2
>> and am looking at three features that are currently disabled.
>>
>> These are support for Neon, OpenGL & EGLFS.
>>
>> I was able to add QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 &
>> QMAKE_LIBS_OPENGL_ES2 to the mkspec patch this week using last weeks
>> buildroot-20130529 and get OpenGL to compile pointing to my external
>> TI Graphics_SDK, but then get into trouble with EGLFS and later on
>> with VERSION in qt_module.prf. So, I think there is a bit more to the
>> problem then just adding constants to the mkspecs patch.
>>
>> Can someone possibly describe more of what needs to be done in a
>> dialect of techno-babble that I understand to get these three features
>> supported for the AM3517, please?
>>
>> --
>> Charles Krinke
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-05 18:17   ` Charles Krinke
@ 2013-06-05 22:16     ` Charles Krinke
  2013-06-06 17:16       ` Wojciech Sleńska
  0 siblings, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-05 22:16 UTC (permalink / raw)
  To: buildroot

Dear Wojciech:

I have been working with your patch but seem to have gotten myself
into another "pickle" in that when I compile, I get the sequence
below. I will start again fresh in the morning with the original patch
and the nightly build from buildroot, which will be
buildroot-20130606.tgz.

Question, I presume the patch should apply against tonights buildroot?
If not, is there a nightly build you would recommend for applying to
patch to?

If you have a suggestion on the errors, that would be appreciated.

Hopefully you, Spenser or Prabu can get this and any remaining logic
into buildroot so Neon, OpenGl and EGLFS support becomes part of the
buildroot trunk, soon.

>>> qt5base 5.0.2 Extracting
xzcat /home/ckrinke/buildroot-20130605/dl/qtbase-opensource-src-5.0.2.tar.xz
| tar --strip-components=1 -C
/home/ckrinke/buildroot-20130605/output/build/qt5base-5.0.2  -xf -
>>> qt5base 5.0.2 Patching package/qt5//qt5base

Applying qt5base-mkspecs-files.patch using patch:
patching file mkspecs/devices/linux-buildroot-g++/qmake.conf
patching file mkspecs/devices/linux-buildroot-g++/qplatformdefs.h

Applying qt5base-uclibc-no-lfs.patch using patch:
patching file mkspecs/common/posix/qplatformdefs.h
>>> libgles undefined Configuring
>>> libgles undefined Building
>>> libgles undefined Installing to target
>>> libegl undefined Extracting
>>> libegl undefined Patching package/opengl//libegl
>>> libegl undefined Configuring
echo "No libEGL implementation selected. Configuration error."
No libEGL implementation selected. Configuration error.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-05 22:16     ` Charles Krinke
@ 2013-06-06 17:16       ` Wojciech Sleńska
  2013-06-06 18:20         ` Charles Krinke
  0 siblings, 1 reply; 32+ messages in thread
From: Wojciech Sleńska @ 2013-06-06 17:16 UTC (permalink / raw)
  To: buildroot

Hello Charles,

I didn't check this patch for current version of buildroot. It was
created some time before 2013.05. Sorry for that.

I noticed that there was some changes in libgles configuration in new
versions of buildroot.
In attachment you can find patch for buildroot 2013.05 and my .config file.

In config I used arago compiler, because I had some problems in past
with others compilers ? maybe just for sure use arago. You can find it
here: http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/index_FDS.html

Few minutes ago I made build and test this solution on my TI AM3517
and it is working.

Best Regards
Wojciech Slenska


2013/6/6 Charles Krinke <charles.krinke@gmail.com>:
> Dear Wojciech:
>
> I have been working with your patch but seem to have gotten myself
> into another "pickle" in that when I compile, I get the sequence
> below. I will start again fresh in the morning with the original patch
> and the nightly build from buildroot, which will be
> buildroot-20130606.tgz.
>
> Question, I presume the patch should apply against tonights buildroot?
> If not, is there a nightly build you would recommend for applying to
> patch to?
>
> If you have a suggestion on the errors, that would be appreciated.
>
> Hopefully you, Spenser or Prabu can get this and any remaining logic
> into buildroot so Neon, OpenGl and EGLFS support becomes part of the
> buildroot trunk, soon.
>
>>>> qt5base 5.0.2 Extracting
> xzcat /home/ckrinke/buildroot-20130605/dl/qtbase-opensource-src-5.0.2.tar.xz
> | tar --strip-components=1 -C
> /home/ckrinke/buildroot-20130605/output/build/qt5base-5.0.2  -xf -
>>>> qt5base 5.0.2 Patching package/qt5//qt5base
>
> Applying qt5base-mkspecs-files.patch using patch:
> patching file mkspecs/devices/linux-buildroot-g++/qmake.conf
> patching file mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
>
> Applying qt5base-uclibc-no-lfs.patch using patch:
> patching file mkspecs/common/posix/qplatformdefs.h
>>>> libgles undefined Configuring
>>>> libgles undefined Building
>>>> libgles undefined Installing to target
>>>> libegl undefined Extracting
>>>> libegl undefined Patching package/opengl//libegl
>>>> libegl undefined Configuring
> echo "No libEGL implementation selected. Configuration error."
> No libEGL implementation selected. Configuration error.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/octet-stream
Size: 29255 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130606/13941175/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Qt5-EGL-for-OMAP-dirty-patch-for-builroot-2013.05.patch
Type: application/octet-stream
Size: 8785 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130606/13941175/attachment-0003.obj>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-06 17:16       ` Wojciech Sleńska
@ 2013-06-06 18:20         ` Charles Krinke
  2013-06-06 18:26           ` Charles Krinke
  2013-06-07  8:08           ` Thomas Petazzoni
  0 siblings, 2 replies; 32+ messages in thread
From: Charles Krinke @ 2013-06-06 18:20 UTC (permalink / raw)
  To: buildroot

Dear Wojceich:

Your new patch looks like the only difference is the line changing
package/opengl/libgles/libgles.mk from

-ifeq ($(LIBGLES_DEPENDENCIES),)
+ifeq ($(LIBGLES_DEPENDENCIES),y)

I still get the same error when compiling Qt and that is:

patching file mkspecs/common/posix/qplatformdefs.h
>>> libgles undefined Configuring
>>> libgles undefined Building
>>> libgles undefined Installing to target
>>> libegl undefined Extracting
>>> libegl undefined Patching package/opengl//libegl
>>> libegl undefined Configuring
echo "No libEGL implementation selected. Configuration error."

So, from this, I am assuming there is some mis-configuration on my end
that is causing buildroot to go into the package/opengl/libgles
directory when perhaps it should be going to either somewhere in Qt
(QtOpenGl perhaps) or somewhere in Graphics_SDK_XXX. I am searching
more into that.

Perhaps one way to converge this would be to get your patch committed
to the buildroot repository. The only parts that appear to be missing
are the QMAKE_LIBS_INCDIR_OPENGL* ^ BR2_PACKAGE_QT_OMAP_LIB_PATH from
night before last build on the buildroot server.

If we could get the logic that pertains to the external TI
Graphics_SDK committed into buildroot then those folks that wish to
use QtDeclarative or another option that needs the Graphics_SDK, then
we could be a bit further along for all.

Charles


On 6/6/13, Wojciech Sle?ska <wojciech.slenska@gmail.com> wrote:
> Hello Charles,
>
> I didn't check this patch for current version of buildroot. It was
> created some time before 2013.05. Sorry for that.
>
> I noticed that there was some changes in libgles configuration in new
> versions of buildroot.
> In attachment you can find patch for buildroot 2013.05 and my .config file.
>
> In config I used arago compiler, because I had some problems in past
> with others compilers ? maybe just for sure use arago. You can find it
> here:
> http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/index_FDS.html
>
> Few minutes ago I made build and test this solution on my TI AM3517
> and it is working.
>
> Best Regards
> Wojciech Slenska
>
>
> 2013/6/6 Charles Krinke <charles.krinke@gmail.com>:
>> Dear Wojciech:
>>
>> I have been working with your patch but seem to have gotten myself
>> into another "pickle" in that when I compile, I get the sequence
>> below. I will start again fresh in the morning with the original patch
>> and the nightly build from buildroot, which will be
>> buildroot-20130606.tgz.
>>
>> Question, I presume the patch should apply against tonights buildroot?
>> If not, is there a nightly build you would recommend for applying to
>> patch to?
>>
>> If you have a suggestion on the errors, that would be appreciated.
>>
>> Hopefully you, Spenser or Prabu can get this and any remaining logic
>> into buildroot so Neon, OpenGl and EGLFS support becomes part of the
>> buildroot trunk, soon.
>>
>>>>> qt5base 5.0.2 Extracting
>> xzcat
>> /home/ckrinke/buildroot-20130605/dl/qtbase-opensource-src-5.0.2.tar.xz
>> | tar --strip-components=1 -C
>> /home/ckrinke/buildroot-20130605/output/build/qt5base-5.0.2  -xf -
>>>>> qt5base 5.0.2 Patching package/qt5//qt5base
>>
>> Applying qt5base-mkspecs-files.patch using patch:
>> patching file mkspecs/devices/linux-buildroot-g++/qmake.conf
>> patching file mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
>>
>> Applying qt5base-uclibc-no-lfs.patch using patch:
>> patching file mkspecs/common/posix/qplatformdefs.h
>>>>> libgles undefined Configuring
>>>>> libgles undefined Building
>>>>> libgles undefined Installing to target
>>>>> libegl undefined Extracting
>>>>> libegl undefined Patching package/opengl//libegl
>>>>> libegl undefined Configuring
>> echo "No libEGL implementation selected. Configuration error."
>> No libEGL implementation selected. Configuration error.
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-06 18:20         ` Charles Krinke
@ 2013-06-06 18:26           ` Charles Krinke
  2013-06-06 19:26             ` Wojciech Sleńska
  2013-06-07  8:08           ` Thomas Petazzoni
  1 sibling, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-06 18:26 UTC (permalink / raw)
  To: buildroot

Ahh, I think I see what is happening.

When I use your .config, Wojciech, I see that QtDeclarative is not checked.

Try checking QtDeclarative and I suspect you will get to a similar
place I am at with your patch.

I originally started with QtDeclarative unchecked and buildroot built
lots of Qt libraries that loaded onto the AM3517 target and life was
good. But, .... then one of the Qt engineers said "Hey, we need
QtDeclarative" and once I checked that, I have been in a world of
"dunt work"

Charles

On 6/6/13, Charles Krinke <charles.krinke@gmail.com> wrote:
> Dear Wojceich:
>
> Your new patch looks like the only difference is the line changing
> package/opengl/libgles/libgles.mk from
>
> -ifeq ($(LIBGLES_DEPENDENCIES),)
> +ifeq ($(LIBGLES_DEPENDENCIES),y)
>
> I still get the same error when compiling Qt and that is:
>
> patching file mkspecs/common/posix/qplatformdefs.h
>>>> libgles undefined Configuring
>>>> libgles undefined Building
>>>> libgles undefined Installing to target
>>>> libegl undefined Extracting
>>>> libegl undefined Patching package/opengl//libegl
>>>> libegl undefined Configuring
> echo "No libEGL implementation selected. Configuration error."
>
> So, from this, I am assuming there is some mis-configuration on my end
> that is causing buildroot to go into the package/opengl/libgles
> directory when perhaps it should be going to either somewhere in Qt
> (QtOpenGl perhaps) or somewhere in Graphics_SDK_XXX. I am searching
> more into that.
>
> Perhaps one way to converge this would be to get your patch committed
> to the buildroot repository. The only parts that appear to be missing
> are the QMAKE_LIBS_INCDIR_OPENGL* ^ BR2_PACKAGE_QT_OMAP_LIB_PATH from
> night before last build on the buildroot server.
>
> If we could get the logic that pertains to the external TI
> Graphics_SDK committed into buildroot then those folks that wish to
> use QtDeclarative or another option that needs the Graphics_SDK, then
> we could be a bit further along for all.
>
> Charles
>
>
> On 6/6/13, Wojciech Sle?ska <wojciech.slenska@gmail.com> wrote:
>> Hello Charles,
>>
>> I didn't check this patch for current version of buildroot. It was
>> created some time before 2013.05. Sorry for that.
>>
>> I noticed that there was some changes in libgles configuration in new
>> versions of buildroot.
>> In attachment you can find patch for buildroot 2013.05 and my .config
>> file.
>>
>> In config I used arago compiler, because I had some problems in past
>> with others compilers ? maybe just for sure use arago. You can find it
>> here:
>> http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/index_FDS.html
>>
>> Few minutes ago I made build and test this solution on my TI AM3517
>> and it is working.
>>
>> Best Regards
>> Wojciech Slenska
>>
>>
>> 2013/6/6 Charles Krinke <charles.krinke@gmail.com>:
>>> Dear Wojciech:
>>>
>>> I have been working with your patch but seem to have gotten myself
>>> into another "pickle" in that when I compile, I get the sequence
>>> below. I will start again fresh in the morning with the original patch
>>> and the nightly build from buildroot, which will be
>>> buildroot-20130606.tgz.
>>>
>>> Question, I presume the patch should apply against tonights buildroot?
>>> If not, is there a nightly build you would recommend for applying to
>>> patch to?
>>>
>>> If you have a suggestion on the errors, that would be appreciated.
>>>
>>> Hopefully you, Spenser or Prabu can get this and any remaining logic
>>> into buildroot so Neon, OpenGl and EGLFS support becomes part of the
>>> buildroot trunk, soon.
>>>
>>>>>> qt5base 5.0.2 Extracting
>>> xzcat
>>> /home/ckrinke/buildroot-20130605/dl/qtbase-opensource-src-5.0.2.tar.xz
>>> | tar --strip-components=1 -C
>>> /home/ckrinke/buildroot-20130605/output/build/qt5base-5.0.2  -xf -
>>>>>> qt5base 5.0.2 Patching package/qt5//qt5base
>>>
>>> Applying qt5base-mkspecs-files.patch using patch:
>>> patching file mkspecs/devices/linux-buildroot-g++/qmake.conf
>>> patching file mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
>>>
>>> Applying qt5base-uclibc-no-lfs.patch using patch:
>>> patching file mkspecs/common/posix/qplatformdefs.h
>>>>>> libgles undefined Configuring
>>>>>> libgles undefined Building
>>>>>> libgles undefined Installing to target
>>>>>> libegl undefined Extracting
>>>>>> libegl undefined Patching package/opengl//libegl
>>>>>> libegl undefined Configuring
>>> echo "No libEGL implementation selected. Configuration error."
>>> No libEGL implementation selected. Configuration error.
>>
>
>
> --
> Charles Krinke
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-06 18:26           ` Charles Krinke
@ 2013-06-06 19:26             ` Wojciech Sleńska
  0 siblings, 0 replies; 32+ messages in thread
From: Wojciech Sleńska @ 2013-06-06 19:26 UTC (permalink / raw)
  To: buildroot

Hello,

I checked qt5declarative in my .config and everything is working ok. I
can run qml application on my target.

After build I have in output/target/usr/lib following files

wojtek at wojtek-laptop:~/arm/buildroot-2013.05/output/target/usr/lib$ ls
fonts                  libQt5Concurrent.so.5.0    libQt5Qml.so.5
          libQt5V8.so.5.0.2
libpcre16.so           libQt5Concurrent.so.5.0.2  libQt5Qml.so.5.0
          libQt5Widgets.so.5
libpcre16.so.0         libQt5Core.so.5            libQt5Qml.so.5.0.2
          libQt5Widgets.so.5.0
libpcre16.so.0.2.0     libQt5Core.so.5.0
libQt5QuickParticles.so.5      libQt5Widgets.so.5.0.2
libpcrecpp.so          libQt5Core.so.5.0.2
libQt5QuickParticles.so.5.0    libQt5XmlPatterns.so.5
libpcrecpp.so.0        libQt5Gui.so.5
libQt5QuickParticles.so.5.0.2  libQt5XmlPatterns.so.5.0
libpcrecpp.so.0.0.0    libQt5Gui.so.5.0           libQt5Quick.so.5
          libQt5XmlPatterns.so.5.0.2
libpcreposix.so        libQt5Gui.so.5.0.2         libQt5Quick.so.5.0
          libstdc++.so.6
libpcreposix.so.0      libQt5Network.so.5         libQt5Quick.so.5.0.2
          libstdc++.so.6.0.14
libpcreposix.so.0.0.1  libQt5Network.so.5.0       libQt5QuickTest.so.5
          libstdc++.so.6.0.14-gdb.py
libpcre.so             libQt5Network.so.5.0.2
libQt5QuickTest.so.5.0         libz.so
libpcre.so.1           libQt5OpenGL.so.5
libQt5QuickTest.so.5.0.2       libz.so.1
libpcre.so.1.2.0       libQt5OpenGL.so.5.0        libQt5V8.so.5
          libz.so.1.2.7
libQt5Concurrent.so.5  libQt5OpenGL.so.5.0.2      libQt5V8.so.5.0

I don't have idea what is wrong in your configuration.

I made test using buildroot-2013.05.tar.bz2 downloaded from buildroot
page. I applied my patch, run make menuconfig and make.

BR
Wojciech Slenska

2013/6/6 Charles Krinke <charles.krinke@gmail.com>:
> Ahh, I think I see what is happening.
>
> When I use your .config, Wojciech, I see that QtDeclarative is not checked.
>
> Try checking QtDeclarative and I suspect you will get to a similar
> place I am at with your patch.
>
> I originally started with QtDeclarative unchecked and buildroot built
> lots of Qt libraries that loaded onto the AM3517 target and life was
> good. But, .... then one of the Qt engineers said "Hey, we need
> QtDeclarative" and once I checked that, I have been in a world of
> "dunt work"
>
> Charles
>
> On 6/6/13, Charles Krinke <charles.krinke@gmail.com> wrote:
>> Dear Wojceich:
>>
>> Your new patch looks like the only difference is the line changing
>> package/opengl/libgles/libgles.mk from
>>
>> -ifeq ($(LIBGLES_DEPENDENCIES),)
>> +ifeq ($(LIBGLES_DEPENDENCIES),y)
>>
>> I still get the same error when compiling Qt and that is:
>>
>> patching file mkspecs/common/posix/qplatformdefs.h
>>>>> libgles undefined Configuring
>>>>> libgles undefined Building
>>>>> libgles undefined Installing to target
>>>>> libegl undefined Extracting
>>>>> libegl undefined Patching package/opengl//libegl
>>>>> libegl undefined Configuring
>> echo "No libEGL implementation selected. Configuration error."
>>
>> So, from this, I am assuming there is some mis-configuration on my end
>> that is causing buildroot to go into the package/opengl/libgles
>> directory when perhaps it should be going to either somewhere in Qt
>> (QtOpenGl perhaps) or somewhere in Graphics_SDK_XXX. I am searching
>> more into that.
>>
>> Perhaps one way to converge this would be to get your patch committed
>> to the buildroot repository. The only parts that appear to be missing
>> are the QMAKE_LIBS_INCDIR_OPENGL* ^ BR2_PACKAGE_QT_OMAP_LIB_PATH from
>> night before last build on the buildroot server.
>>
>> If we could get the logic that pertains to the external TI
>> Graphics_SDK committed into buildroot then those folks that wish to
>> use QtDeclarative or another option that needs the Graphics_SDK, then
>> we could be a bit further along for all.
>>
>> Charles
>>
>>
>> On 6/6/13, Wojciech Sle?ska <wojciech.slenska@gmail.com> wrote:
>>> Hello Charles,
>>>
>>> I didn't check this patch for current version of buildroot. It was
>>> created some time before 2013.05. Sorry for that.
>>>
>>> I noticed that there was some changes in libgles configuration in new
>>> versions of buildroot.
>>> In attachment you can find patch for buildroot 2013.05 and my .config
>>> file.
>>>
>>> In config I used arago compiler, because I had some problems in past
>>> with others compilers - maybe just for sure use arago. You can find it
>>> here:
>>> http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/index_FDS.html
>>>
>>> Few minutes ago I made build and test this solution on my TI AM3517
>>> and it is working.
>>>
>>> Best Regards
>>> Wojciech Slenska
>>>
>>>
>>> 2013/6/6 Charles Krinke <charles.krinke@gmail.com>:
>>>> Dear Wojciech:
>>>>
>>>> I have been working with your patch but seem to have gotten myself
>>>> into another "pickle" in that when I compile, I get the sequence
>>>> below. I will start again fresh in the morning with the original patch
>>>> and the nightly build from buildroot, which will be
>>>> buildroot-20130606.tgz.
>>>>
>>>> Question, I presume the patch should apply against tonights buildroot?
>>>> If not, is there a nightly build you would recommend for applying to
>>>> patch to?
>>>>
>>>> If you have a suggestion on the errors, that would be appreciated.
>>>>
>>>> Hopefully you, Spenser or Prabu can get this and any remaining logic
>>>> into buildroot so Neon, OpenGl and EGLFS support becomes part of the
>>>> buildroot trunk, soon.
>>>>
>>>>>>> qt5base 5.0.2 Extracting
>>>> xzcat
>>>> /home/ckrinke/buildroot-20130605/dl/qtbase-opensource-src-5.0.2.tar.xz
>>>> | tar --strip-components=1 -C
>>>> /home/ckrinke/buildroot-20130605/output/build/qt5base-5.0.2  -xf -
>>>>>>> qt5base 5.0.2 Patching package/qt5//qt5base
>>>>
>>>> Applying qt5base-mkspecs-files.patch using patch:
>>>> patching file mkspecs/devices/linux-buildroot-g++/qmake.conf
>>>> patching file mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
>>>>
>>>> Applying qt5base-uclibc-no-lfs.patch using patch:
>>>> patching file mkspecs/common/posix/qplatformdefs.h
>>>>>>> libgles undefined Configuring
>>>>>>> libgles undefined Building
>>>>>>> libgles undefined Installing to target
>>>>>>> libegl undefined Extracting
>>>>>>> libegl undefined Patching package/opengl//libegl
>>>>>>> libegl undefined Configuring
>>>> echo "No libEGL implementation selected. Configuration error."
>>>> No libEGL implementation selected. Configuration error.
>>>
>>
>>
>> --
>> Charles Krinke
>>
>
>
> --
> Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-06 18:20         ` Charles Krinke
  2013-06-06 18:26           ` Charles Krinke
@ 2013-06-07  8:08           ` Thomas Petazzoni
  2013-06-07 14:44             ` Charles Krinke
  1 sibling, 1 reply; 32+ messages in thread
From: Thomas Petazzoni @ 2013-06-07  8:08 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Thu, 6 Jun 2013 11:20:05 -0700, Charles Krinke wrote:

> Your new patch looks like the only difference is the line changing
> package/opengl/libgles/libgles.mk from
> 
> -ifeq ($(LIBGLES_DEPENDENCIES),)
> +ifeq ($(LIBGLES_DEPENDENCIES),y)

The first line is the correct one. The second line was the one
originally introduced, but it was a bug. The idea here is that if
LIBGLES has no dependencies, then it means that no OpenGL
implementation was selected.

> I still get the same error when compiling Qt and that is:
> 
> patching file mkspecs/common/posix/qplatformdefs.h
> >>> libgles undefined Configuring
> >>> libgles undefined Building
> >>> libgles undefined Installing to target
> >>> libegl undefined Extracting
> >>> libegl undefined Patching package/opengl//libegl
> >>> libegl undefined Configuring
> echo "No libEGL implementation selected. Configuration error."

This happens when no package provides a libEGL implementation, i.e
LIBEGL_DEPENDENCIES is empty.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-07  8:08           ` Thomas Petazzoni
@ 2013-06-07 14:44             ` Charles Krinke
  2013-06-07 15:23               ` Thomas Petazzoni
  0 siblings, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-07 14:44 UTC (permalink / raw)
  To: buildroot

Thank you both Thomas and Wojciech:

I can seem to get past this error by enabling "rpi-userland" which
does define LIBGLES_DEPENDENCIES, but this seems like the wrong answer
to me. Perhaps there is a different configuration setting somewhere
else that defines sufficient configuration for the AM3517 that I have
missed?

I just did a make clean && make after defining "rpi-userland" and the
compilation completed with a libQt5OpenGL.so.5.0.2 about 300KBytes in
size, so something seems to have worked.

Would it be correct that LIBGLES_DEPENDENCIES may just have to be
defined to "anything" so we could put into qt5base/qt5.mk a line that
says

LIBGLES_DEPENDENCIES += any_string_will_do

and expect success?

On 6/7/13, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:
> Dear Charles Krinke,
>
> On Thu, 6 Jun 2013 11:20:05 -0700, Charles Krinke wrote:
>
>> Your new patch looks like the only difference is the line changing
>> package/opengl/libgles/libgles.mk from
>>
>> -ifeq ($(LIBGLES_DEPENDENCIES),)
>> +ifeq ($(LIBGLES_DEPENDENCIES),y)
>
> The first line is the correct one. The second line was the one
> originally introduced, but it was a bug. The idea here is that if
> LIBGLES has no dependencies, then it means that no OpenGL
> implementation was selected.
>
>> I still get the same error when compiling Qt and that is:
>>
>> patching file mkspecs/common/posix/qplatformdefs.h
>> >>> libgles undefined Configuring
>> >>> libgles undefined Building
>> >>> libgles undefined Installing to target
>> >>> libegl undefined Extracting
>> >>> libegl undefined Patching package/opengl//libegl
>> >>> libegl undefined Configuring
>> echo "No libEGL implementation selected. Configuration error."
>
> This happens when no package provides a libEGL implementation, i.e
> LIBEGL_DEPENDENCIES is empty.
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-07 14:44             ` Charles Krinke
@ 2013-06-07 15:23               ` Thomas Petazzoni
  2013-06-07 15:40                 ` Charles Krinke
  0 siblings, 1 reply; 32+ messages in thread
From: Thomas Petazzoni @ 2013-06-07 15:23 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Fri, 7 Jun 2013 07:44:09 -0700, Charles Krinke wrote:

> I can seem to get past this error by enabling "rpi-userland" which
> does define LIBGLES_DEPENDENCIES, but this seems like the wrong answer
> to me.

Enabling rpi-userland provides an EGL implementation that works on the
RasberryPi, so obviously, this isn't going to work for you.

> Perhaps there is a different configuration setting somewhere
> else that defines sufficient configuration for the AM3517 that I have
> missed?

Spenser is creating a Buildroot package that properly packages the
OpenGL/EGL implementation for OMAP/AM3xxx. I hope he can post that soon.

> I just did a make clean && make after defining "rpi-userland" and the
> compilation completed with a libQt5OpenGL.so.5.0.2 about 300KBytes in
> size, so something seems to have worked.
> 
> Would it be correct that LIBGLES_DEPENDENCIES may just have to be
> defined to "anything" so we could put into qt5base/qt5.mk a line that
> says
> 
> LIBGLES_DEPENDENCIES += any_string_will_do
> 
> and expect success?

Well, if you install manually your OpenGL and EGL libraries, maybe. But
that's ugly. The libegl and libopengl packages are virtual packages,
and one package is supposed to provide one EGL and one OpenGL
implementation for your specific SoC.

Spenser, can you update us on your patches? Even if there's not fully
ready, posting them with a RFC tag would allow Charles and Wojchiech to
experiment with them.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-07 15:23               ` Thomas Petazzoni
@ 2013-06-07 15:40                 ` Charles Krinke
  2013-06-07 16:48                   ` Thomas Petazzoni
  0 siblings, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-07 15:40 UTC (permalink / raw)
  To: buildroot

Dear Thomas:

You touch on the key piece of understanding I am seeking.
Unfortunately some of this understanding is obfuscated by similar
terms used by different groups.

In the AM3517, there is a source tree called the "Graphics_SDK". And
it contains, I believe, EGL and OpenGL implementations for the AM3517
and other SoC from TI. Wojciech patch does define several variables
which include headers and libraries for Qt.

I *think* we are 99% there and the missing part is this library
constant from Raspberry Pi, but, ... because all the alphabet soup is
different between Ti, Qt, and the rest of the opensource community, we
get to deal with ambiguity a bit.



On 6/7/13, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:
> Dear Charles Krinke,
>
> On Fri, 7 Jun 2013 07:44:09 -0700, Charles Krinke wrote:
>
>> I can seem to get past this error by enabling "rpi-userland" which
>> does define LIBGLES_DEPENDENCIES, but this seems like the wrong answer
>> to me.
>
> Enabling rpi-userland provides an EGL implementation that works on the
> RasberryPi, so obviously, this isn't going to work for you.
>
>> Perhaps there is a different configuration setting somewhere
>> else that defines sufficient configuration for the AM3517 that I have
>> missed?
>
> Spenser is creating a Buildroot package that properly packages the
> OpenGL/EGL implementation for OMAP/AM3xxx. I hope he can post that soon.
>
>> I just did a make clean && make after defining "rpi-userland" and the
>> compilation completed with a libQt5OpenGL.so.5.0.2 about 300KBytes in
>> size, so something seems to have worked.
>>
>> Would it be correct that LIBGLES_DEPENDENCIES may just have to be
>> defined to "anything" so we could put into qt5base/qt5.mk a line that
>> says
>>
>> LIBGLES_DEPENDENCIES += any_string_will_do
>>
>> and expect success?
>
> Well, if you install manually your OpenGL and EGL libraries, maybe. But
> that's ugly. The libegl and libopengl packages are virtual packages,
> and one package is supposed to provide one EGL and one OpenGL
> implementation for your specific SoC.
>
> Spenser, can you update us on your patches? Even if there's not fully
> ready, posting them with a RFC tag would allow Charles and Wojchiech to
> experiment with them.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-07 15:40                 ` Charles Krinke
@ 2013-06-07 16:48                   ` Thomas Petazzoni
  2013-06-07 17:06                     ` Charles Krinke
  0 siblings, 1 reply; 32+ messages in thread
From: Thomas Petazzoni @ 2013-06-07 16:48 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Fri, 7 Jun 2013 08:40:40 -0700, Charles Krinke wrote:

> You touch on the key piece of understanding I am seeking.
> Unfortunately some of this understanding is obfuscated by similar
> terms used by different groups.
> 
> In the AM3517, there is a source tree called the "Graphics_SDK". And
> it contains, I believe, EGL and OpenGL implementations for the AM3517
> and other SoC from TI. Wojciech patch does define several variables
> which include headers and libraries for Qt.
> 
> I *think* we are 99% there and the missing part is this library
> constant from Raspberry Pi, but, ... because all the alphabet soup is
> different between Ti, Qt, and the rest of the opensource community, we
> get to deal with ambiguity a bit.

I am not sure what is confusing you here. OpenGL, EGL, OpenVG and so on
are APIs. Those APIs are provided by different implementations,
depending on which SoC you're using. Those implementations are
generally provided by libraries given by the SoC vendor. So in
Buildroot, a package that needs OpenGL doesn't depend directly on a
specific OpenGL implementation. Instead, it depends on 'libgles',
which is a virtual package that guarantees that *one* OpenGLES
implementation has been selected in the system.

The rpi-userland is currently the only OpenGL implementation that we
support in Buildroot (but more are coming!). So what the rpi-userland
package does in its Config.in is:

        select BR2_PACKAGE_HAS_OPENGL_EGL
        select BR2_PACKAGE_HAS_OPENGL_ES
        select BR2_PACKAGE_HAS_OPENVG
        select BR2_PACKAGE_HAS_OPENMAX

This "announces" to packages like Qt that an OpenGLES, an EGL, an
OpenVG and an OpenMAX implementation is available. Therefore, packages
like Qt are allowed to depend on virtual packages libgles, libegl,
libopenvg and libopenmax.

In turn, those virtual packages do the following:

ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
LIBGLES_DEPENDENCIES += rpi-userland
endif

ifeq ($(LIBGLES_DEPENDENCIES),)
define LIBGLES_CONFIGURE_CMDS
        echo "No libGLES implementation selected. Configuration error."
        exit 1
endef
endif

This allows to make the virtual package 'libgles' depend on
'rpi-userland' is this package is selected. However, if no dependency
exists of libgles, it means that no OpenGL implementation was selected,
which is an error: some packages (Qt for example) uses the libgles
dependency, but no OpenGLES implementation has been enabled in the
Buildroot configuration.

Again, just wait for Spenser to post his patches, it should make OpenGL
work out-of-the-box for AM3xxx.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] AM3517 Neon, OpenGL & EGLFS support
  2013-06-07 16:48                   ` Thomas Petazzoni
@ 2013-06-07 17:06                     ` Charles Krinke
  2013-06-07 20:18                       ` [Buildroot] [RFC] ti-gfx: add new package Spenser Gilliland
  0 siblings, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-07 17:06 UTC (permalink / raw)
  To: buildroot

Thank you kindly, Thomas for your kind explanation.

I can move forward for now and test the libraries that the Qt5 does
generate, including libQtOpenGL and see if I can get the helloworld or
other example to display somethine while waiting for Spenser to do his
thing.

Charles

On 6/7/13, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:
> Dear Charles Krinke,
>
> On Fri, 7 Jun 2013 08:40:40 -0700, Charles Krinke wrote:
>
>> You touch on the key piece of understanding I am seeking.
>> Unfortunately some of this understanding is obfuscated by similar
>> terms used by different groups.
>>
>> In the AM3517, there is a source tree called the "Graphics_SDK". And
>> it contains, I believe, EGL and OpenGL implementations for the AM3517
>> and other SoC from TI. Wojciech patch does define several variables
>> which include headers and libraries for Qt.
>>
>> I *think* we are 99% there and the missing part is this library
>> constant from Raspberry Pi, but, ... because all the alphabet soup is
>> different between Ti, Qt, and the rest of the opensource community, we
>> get to deal with ambiguity a bit.
>
> I am not sure what is confusing you here. OpenGL, EGL, OpenVG and so on
> are APIs. Those APIs are provided by different implementations,
> depending on which SoC you're using. Those implementations are
> generally provided by libraries given by the SoC vendor. So in
> Buildroot, a package that needs OpenGL doesn't depend directly on a
> specific OpenGL implementation. Instead, it depends on 'libgles',
> which is a virtual package that guarantees that *one* OpenGLES
> implementation has been selected in the system.
>
> The rpi-userland is currently the only OpenGL implementation that we
> support in Buildroot (but more are coming!). So what the rpi-userland
> package does in its Config.in is:
>
>         select BR2_PACKAGE_HAS_OPENGL_EGL
>         select BR2_PACKAGE_HAS_OPENGL_ES
>         select BR2_PACKAGE_HAS_OPENVG
>         select BR2_PACKAGE_HAS_OPENMAX
>
> This "announces" to packages like Qt that an OpenGLES, an EGL, an
> OpenVG and an OpenMAX implementation is available. Therefore, packages
> like Qt are allowed to depend on virtual packages libgles, libegl,
> libopenvg and libopenmax.
>
> In turn, those virtual packages do the following:
>
> ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
> LIBGLES_DEPENDENCIES += rpi-userland
> endif
>
> ifeq ($(LIBGLES_DEPENDENCIES),)
> define LIBGLES_CONFIGURE_CMDS
>         echo "No libGLES implementation selected. Configuration error."
>         exit 1
> endef
> endif
>
> This allows to make the virtual package 'libgles' depend on
> 'rpi-userland' is this package is selected. However, if no dependency
> exists of libgles, it means that no OpenGL implementation was selected,
> which is an error: some packages (Qt for example) uses the libgles
> dependency, but no OpenGLES implementation has been enabled in the
> Buildroot configuration.
>
> Again, just wait for Spenser to post his patches, it should make OpenGL
> work out-of-the-box for AM3xxx.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-07 17:06                     ` Charles Krinke
@ 2013-06-07 20:18                       ` Spenser Gilliland
  2013-06-11 17:58                         ` Charles Krinke
  2013-06-13 16:49                         ` Arnout Vandecappelle
  0 siblings, 2 replies; 32+ messages in thread
From: Spenser Gilliland @ 2013-06-07 20:18 UTC (permalink / raw)
  To: buildroot

This is WIP of adding the TI Graphics SDK to buildroot.

TODO:
   Install startup files for sgx core.
   Install khronos gles/egl/vg libraries.
   Create .pc files to simplfy additional packaging.
   Testing, lots of testing.

---
 package/Config.in                              |    1 +
 package/opengl/libegl/libegl.mk                |    4 +
 package/opengl/libgles/libgles.mk              |    4 +
 package/opengl/libopenvg/libopenvg.mk          |    4 +
 package/ti-gfx/Config.in                       |   54 ++++++++++++++++++
 package/ti-gfx/ti-gfx-km_install_modules.patch |   14 +++++
 package/ti-gfx/ti-gfx-newclkapi.patch          |   55 ++++++++++++++++++
 package/ti-gfx/ti-gfx.mk                       |   71 ++++++++++++++++++++++++
 8 files changed, 207 insertions(+), 0 deletions(-)
 create mode 100644 package/ti-gfx/Config.in
 create mode 100644 package/ti-gfx/ti-gfx-km_install_modules.patch
 create mode 100644 package/ti-gfx/ti-gfx-newclkapi.patch
 create mode 100644 package/ti-gfx/ti-gfx.mk

diff --git a/package/Config.in b/package/Config.in
index ce82e99..8c40b56 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -290,6 +290,7 @@ source "package/snowball-hdmiservice/Config.in"
 source "package/sredird/Config.in"
 source "package/statserial/Config.in"
 source "package/sysstat/Config.in"
+source "package/ti-gfx/Config.in"
 source "package/ti-utils/Config.in"
 source "package/uboot-tools/Config.in"
 source "package/udev/Config.in"
diff --git a/package/opengl/libegl/libegl.mk b/package/opengl/libegl/libegl.mk
index bd8040d..00e1f19 100644
--- a/package/opengl/libegl/libegl.mk
+++ b/package/opengl/libegl/libegl.mk
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
 LIBEGL_DEPENDENCIES += rpi-userland
 endif
 
+ifeq ($(BR2_PACKAGE_TI_GFX),y)
+LIBEGL_DEPENDENCIES += ti-gfx
+endif
+
 ifeq ($(LIBEGL_DEPENDENCIES),)
 define LIBEGL_CONFIGURE_CMDS
 	echo "No libEGL implementation selected. Configuration error."
diff --git a/package/opengl/libgles/libgles.mk b/package/opengl/libgles/libgles.mk
index a0048a7..d2fe11b 100644
--- a/package/opengl/libgles/libgles.mk
+++ b/package/opengl/libgles/libgles.mk
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
 LIBGLES_DEPENDENCIES += rpi-userland
 endif
 
+ifeq ($(BR2_PACKAGE_TI_GFX),y)
+LIBGLES_DEPENDENCIES += ti-gfx
+endif
+
 ifeq ($(LIBGLES_DEPENDENCIES),)
 define LIBGLES_CONFIGURE_CMDS
 	echo "No libGLES implementation selected. Configuration error."
diff --git a/package/opengl/libopenvg/libopenvg.mk b/package/opengl/libopenvg/libopenvg.mk
index 03f59ba..118ae7f 100644
--- a/package/opengl/libopenvg/libopenvg.mk
+++ b/package/opengl/libopenvg/libopenvg.mk
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
 LIBOPENVG_DEPENDENCIES += rpi-userland
 endif
 
+ifeq ($(BR2_PACKAGE_TI_GFX),y)
+LIBOPENVG_DEPENDENCIES += ti-gfx
+endif
+
 ifeq ($(LIBOPENVG_DEPENDENCIES),)
 define LIBOPENVG_CONFIGURE_CMDS
 	echo "No libOpenVG implementation selected. Configuration error."
diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in
new file mode 100644
index 0000000..c3ac984
--- /dev/null
+++ b/package/ti-gfx/Config.in
@@ -0,0 +1,54 @@
+config BR2_PACKAGE_TI_GFX
+	bool "ti-gfx"
+	select BR2_LINUX_KERNEL
+	select BR2_PACKAGE_DEVMEM2
+	select BR2_PACKAGE_HAS_OPENGL_EGL
+	select BR2_PACKAGE_HAS_OPENGL_ES
+	depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
+	help
+	  Graphics libraries for TI boards.
+
+	  http://downloads.ti.com/dsps/dsps_public_sw/gfxsdk/
+
+if BR2_PACKAGE_TI_GFX
+
+config BR2_PACKAGE_TI_GFX_DEBUG
+	bool "enable debug support"
+	help
+	  Turn on debugging in kernel module and install libraries built with
+	  debugging enabled
+
+choice
+	prompt "Target"
+	default BR2_PACKAGE_TI_GFX_OMAP3
+	help
+	  Select the SOC for which you would like to install drivers. Please 
+	  use the chart at
+	  http://processors.wiki.ti.com/index.php/OMAP35x_Graphics_SDK_Getting_Started_Guide
+
+config BR2_PACKAGE_TI_GFX_ES3
+	bool "es3.x"
+	help
+	 OMAP35xx, AM35xx Rev 3.1+ 
+
+config BR2_PACKAGE_TI_GFX_ES5
+	bool "es5.x"
+	help
+	  AM37xx, DM37xx
+
+config BR2_PACKAGE_TI_GFX_ES6
+	bool "es6.x"
+	help
+	  AM387x, C6A814x, AM389x, C6A816x
+
+config BR2_PACKAGE_TI_GFX_ES8
+	bool "es8.x"
+	help
+	  AM335x
+
+endchoice
+
+endif
+
+comment "requires an external eglibc/glibc based toolchain"
+	depends on !(BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc)
diff --git a/package/ti-gfx/ti-gfx-km_install_modules.patch b/package/ti-gfx/ti-gfx-km_install_modules.patch
new file mode 100644
index 0000000..63bfd19
--- /dev/null
+++ b/package/ti-gfx/ti-gfx-km_install_modules.patch
@@ -0,0 +1,14 @@
+Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile
+===================================================================
+--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile	2013-03-07 11:00:11.000000000 -0600
++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile	2013-05-23 01:36:29.356676281 -0500
+@@ -479,6 +479,9 @@
+ all:
+ 	$(MAKE) -C $(KERNELDIR) M=`pwd` $*
+ 
++install:
++	$(MAKE) -C $(KERNELDIR) M=`pwd` modules_install
++
+ clean:
+ 	@find . -name "*.o" -exec rm -r {} \;
+ 	@find . -name "*.ko" -exec rm -r {} \;
diff --git a/package/ti-gfx/ti-gfx-newclkapi.patch b/package/ti-gfx/ti-gfx-newclkapi.patch
new file mode 100644
index 0000000..b35ac31
--- /dev/null
+++ b/package/ti-gfx/ti-gfx-newclkapi.patch
@@ -0,0 +1,55 @@
+Index: ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c
+===================================================================
+--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-03-04 08:41:35.000000000 -0600
++++ ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-06-05 12:00:08.778605221 -0500
+@@ -166,11 +166,27 @@
+ 	}
+ 
+ 	PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks"));
+-	
++   res=clk_prepare(psSysSpecData->psSGX_FCK);
++	if (res < 0)
++        {
++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
++                clk_unprepare(psSysSpecData->psSGX_FCK);
++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
++        }
++
+ 	res=clk_enable(psSysSpecData->psSGX_FCK);
+ 	if (res < 0)
+         {
+                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
++                clk_unprepare(psSysSpecData->psSGX_FCK);
++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
++        }
++
++	res=clk_prepare(psSysSpecData->psSGX_ICK);
++	if(res < 0)
++        {
++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
++                clk_unprepare(psSysSpecData->psSGX_FCK);
+                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
+         }
+ 
+@@ -178,8 +194,9 @@
+         if (res < 0)
+         {
+                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX interface clock (%d)", res));
+-
++                clk_unprepare(psSysSpecData->psSGX_ICK);
+                 clk_disable(psSysSpecData->psSGX_FCK);
++                clk_unprepare(psSysSpecData->psSGX_FCK);
+                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
+         }
+ 
+@@ -247,8 +264,9 @@
+ 	PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX Clocks"));
+ 	
+ 	clk_disable(psSysSpecData->psSGX_FCK);
+-
++	clk_unprepare(psSysSpecData->psSGX_FCK);
+ 	clk_disable(psSysSpecData->psSGX_ICK);
++	clk_unprepare(psSysSpecData->psSGX_ICK);
+ 
+ //	SysDisableSGXInterrupts(psSysData);
+ 
diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk
new file mode 100644
index 0000000..154c792
--- /dev/null
+++ b/package/ti-gfx/ti-gfx.mk
@@ -0,0 +1,71 @@
+###############################################################################
+#
+# ti-gfx 
+#
+###############################################################################
+
+TI_GFX_VERSION = 4_09_00_01
+TI_GFX_SOURCE = Graphics_SDK_setuplinux_$(TI_GFX_VERSION)_minimal_demos.bin
+TI_GFX_SITE = http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/$(TI_GFX_VERSION)/exports/
+TI_GFX_LICENSE = TSPA
+TI_GFX_LICENSE_FILES = TSPA.txt
+TI_GFX_INSTALL_STAGING = YES
+
+TI_GFX_DEPENDENCIES = linux
+
+ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y)
+TI_GFX_OMAPES = 3.x
+TI_GFX_PLATFORM = omap3
+endif
+ifeq ($(BR2_PACKAGE_TI_GFX_ES5),y)
+TI_GFX_OMAPES = 5.x
+TI_GFX_PLATFORM = omap3630 
+endif
+ifeq ($(BR2_PACKAGE_TI_GFX_ES6),y)
+TI_GFX_OMPAES = 6.x
+TI_GFX_PLATFORM = ti81xx 
+endif
+ifeq ($(BR2_PACKAGE_TI_GFX_ES8),y)
+TI_GFX_OMAPES = 8.x
+TI_GFX_PLATFORM = ti335x
+endif
+
+define TI_GFX_EXTRACT_CMDS 
+	$(RM) -rf $(TI_GFX_DIR)
+	chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
+	printf "Y\nY\n qY\n\n" | $(DL_DIR)/$(TI_GFX_SOURCE) \
+		--prefix $(TI_GFX_DIR) \
+		--mode console
+endef
+
+define TI_GFX_CONFIGURE_CMDS
+	echo "no configure required binary only package"
+endef
+
+TI_GFX_MAKE_CMD = cd $(TI_GFX_SRCDIR)/GFX_Linux_KM && \
+		$(MAKE) $(LINUX_MAKE_FLAGS) \
+			BUILD=$(BR2_PACKAGE_TI_GFX_DEBUG) \
+			TI_PLATFORM=$(TI_GFX_PLATFORM) \
+			OMAPES=$(TI_GFX_OMAPES) \
+			SUPPORT_XORG=0 \
+			KERNELDIR=$(LINUX_DIR)
+
+define TI_GFX_BUILD_CMDS
+	( $(TI_GFX_MAKE_CMD) clean && \
+	  $(TI_GFX_MAKE_CMD) all )
+endef
+
+define TI_GFX_INSTALL_STAGING_CMDS
+	
+endef
+
+define TI_GFX_INSTALL_TARGET_CMDS
+	( $(TI_GFX_MAKE_CMD) install ) || \
+		echo "Your kernel configuration must include FB_DA8XX"
+endef
+
+define TI_GFX_CLEAN_CMDS
+	( $(TI_GFX_MAKE_CMD) clean )
+endef
+
+$(eval $(generic-package))
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-07 20:18                       ` [Buildroot] [RFC] ti-gfx: add new package Spenser Gilliland
@ 2013-06-11 17:58                         ` Charles Krinke
  2013-06-12 17:33                           ` Spenser Gilliland
  2013-06-13 16:49                         ` Arnout Vandecappelle
  1 sibling, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-11 17:58 UTC (permalink / raw)
  To: buildroot

Dear Spenser:

I believe including a kernel compile with this patch is a problem for
several reasons.

The first is that the TI defconfig for AM3517_evm never made it into
the Linux kernel along with all the supporting changes, so the build
fails.

The second is that folks are using various versions of Graphics_SDK
from 4_05_xx through 4_09_xx. These same folks generally build the
Graphics_SDK once externally to buildroot to avoid carrying a 135MB
file in the dl/ directory. This doesnt make sense for buildroot for
two kernel .ko modules where 135MByte is larger then any other
package.

Perhaps you can consider making Graphics_SDK an external reference in
your patch to make things go more smoothly?

On 6/7/13, Spenser Gilliland <spenser@gillilanding.com> wrote:
> This is WIP of adding the TI Graphics SDK to buildroot.
>
> TODO:
>    Install startup files for sgx core.
>    Install khronos gles/egl/vg libraries.
>    Create .pc files to simplfy additional packaging.
>    Testing, lots of testing.
>
> ---
>  package/Config.in                              |    1 +
>  package/opengl/libegl/libegl.mk                |    4 +
>  package/opengl/libgles/libgles.mk              |    4 +
>  package/opengl/libopenvg/libopenvg.mk          |    4 +
>  package/ti-gfx/Config.in                       |   54 ++++++++++++++++++
>  package/ti-gfx/ti-gfx-km_install_modules.patch |   14 +++++
>  package/ti-gfx/ti-gfx-newclkapi.patch          |   55 ++++++++++++++++++
>  package/ti-gfx/ti-gfx.mk                       |   71
> ++++++++++++++++++++++++
>  8 files changed, 207 insertions(+), 0 deletions(-)
>  create mode 100644 package/ti-gfx/Config.in
>  create mode 100644 package/ti-gfx/ti-gfx-km_install_modules.patch
>  create mode 100644 package/ti-gfx/ti-gfx-newclkapi.patch
>  create mode 100644 package/ti-gfx/ti-gfx.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index ce82e99..8c40b56 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -290,6 +290,7 @@ source "package/snowball-hdmiservice/Config.in"
>  source "package/sredird/Config.in"
>  source "package/statserial/Config.in"
>  source "package/sysstat/Config.in"
> +source "package/ti-gfx/Config.in"
>  source "package/ti-utils/Config.in"
>  source "package/uboot-tools/Config.in"
>  source "package/udev/Config.in"
> diff --git a/package/opengl/libegl/libegl.mk
> b/package/opengl/libegl/libegl.mk
> index bd8040d..00e1f19 100644
> --- a/package/opengl/libegl/libegl.mk
> +++ b/package/opengl/libegl/libegl.mk
> @@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
>  LIBEGL_DEPENDENCIES += rpi-userland
>  endif
>
> +ifeq ($(BR2_PACKAGE_TI_GFX),y)
> +LIBEGL_DEPENDENCIES += ti-gfx
> +endif
> +
>  ifeq ($(LIBEGL_DEPENDENCIES),)
>  define LIBEGL_CONFIGURE_CMDS
>  	echo "No libEGL implementation selected. Configuration error."
> diff --git a/package/opengl/libgles/libgles.mk
> b/package/opengl/libgles/libgles.mk
> index a0048a7..d2fe11b 100644
> --- a/package/opengl/libgles/libgles.mk
> +++ b/package/opengl/libgles/libgles.mk
> @@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
>  LIBGLES_DEPENDENCIES += rpi-userland
>  endif
>
> +ifeq ($(BR2_PACKAGE_TI_GFX),y)
> +LIBGLES_DEPENDENCIES += ti-gfx
> +endif
> +
>  ifeq ($(LIBGLES_DEPENDENCIES),)
>  define LIBGLES_CONFIGURE_CMDS
>  	echo "No libGLES implementation selected. Configuration error."
> diff --git a/package/opengl/libopenvg/libopenvg.mk
> b/package/opengl/libopenvg/libopenvg.mk
> index 03f59ba..118ae7f 100644
> --- a/package/opengl/libopenvg/libopenvg.mk
> +++ b/package/opengl/libopenvg/libopenvg.mk
> @@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
>  LIBOPENVG_DEPENDENCIES += rpi-userland
>  endif
>
> +ifeq ($(BR2_PACKAGE_TI_GFX),y)
> +LIBOPENVG_DEPENDENCIES += ti-gfx
> +endif
> +
>  ifeq ($(LIBOPENVG_DEPENDENCIES),)
>  define LIBOPENVG_CONFIGURE_CMDS
>  	echo "No libOpenVG implementation selected. Configuration error."
> diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in
> new file mode 100644
> index 0000000..c3ac984
> --- /dev/null
> +++ b/package/ti-gfx/Config.in
> @@ -0,0 +1,54 @@
> +config BR2_PACKAGE_TI_GFX
> +	bool "ti-gfx"
> +	select BR2_LINUX_KERNEL
> +	select BR2_PACKAGE_DEVMEM2
> +	select BR2_PACKAGE_HAS_OPENGL_EGL
> +	select BR2_PACKAGE_HAS_OPENGL_ES
> +	depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc ||
> BR2_TOOLCHAIN_CTNG_glibc
> +	help
> +	  Graphics libraries for TI boards.
> +
> +	  http://downloads.ti.com/dsps/dsps_public_sw/gfxsdk/
> +
> +if BR2_PACKAGE_TI_GFX
> +
> +config BR2_PACKAGE_TI_GFX_DEBUG
> +	bool "enable debug support"
> +	help
> +	  Turn on debugging in kernel module and install libraries built with
> +	  debugging enabled
> +
> +choice
> +	prompt "Target"
> +	default BR2_PACKAGE_TI_GFX_OMAP3
> +	help
> +	  Select the SOC for which you would like to install drivers. Please
> +	  use the chart at
> +	
> http://processors.wiki.ti.com/index.php/OMAP35x_Graphics_SDK_Getting_Started_Guide
> +
> +config BR2_PACKAGE_TI_GFX_ES3
> +	bool "es3.x"
> +	help
> +	 OMAP35xx, AM35xx Rev 3.1+
> +
> +config BR2_PACKAGE_TI_GFX_ES5
> +	bool "es5.x"
> +	help
> +	  AM37xx, DM37xx
> +
> +config BR2_PACKAGE_TI_GFX_ES6
> +	bool "es6.x"
> +	help
> +	  AM387x, C6A814x, AM389x, C6A816x
> +
> +config BR2_PACKAGE_TI_GFX_ES8
> +	bool "es8.x"
> +	help
> +	  AM335x
> +
> +endchoice
> +
> +endif
> +
> +comment "requires an external eglibc/glibc based toolchain"
> +	depends on !(BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc ||
> BR2_TOOLCHAIN_CTNG_glibc)
> diff --git a/package/ti-gfx/ti-gfx-km_install_modules.patch
> b/package/ti-gfx/ti-gfx-km_install_modules.patch
> new file mode 100644
> index 0000000..63bfd19
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx-km_install_modules.patch
> @@ -0,0 +1,14 @@
> +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile
> +===================================================================
> +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile	2013-03-07
> 11:00:11.000000000 -0600
> ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile	2013-05-23 01:36:29.356676281
> -0500
> +@@ -479,6 +479,9 @@
> + all:
> + 	$(MAKE) -C $(KERNELDIR) M=`pwd` $*
> +
> ++install:
> ++	$(MAKE) -C $(KERNELDIR) M=`pwd` modules_install
> ++
> + clean:
> + 	@find . -name "*.o" -exec rm -r {} \;
> + 	@find . -name "*.ko" -exec rm -r {} \;
> diff --git a/package/ti-gfx/ti-gfx-newclkapi.patch
> b/package/ti-gfx/ti-gfx-newclkapi.patch
> new file mode 100644
> index 0000000..b35ac31
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx-newclkapi.patch
> @@ -0,0 +1,55 @@
> +Index:
> ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c
> +===================================================================
> +---
> ti-gfx-4_09_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-03-04
> 08:41:35.000000000 -0600
> ++++
> ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-06-05
> 12:00:08.778605221 -0500
> +@@ -166,11 +166,27 @@
> + 	}
> +
> + 	PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks"));
> +-	
> ++   res=clk_prepare(psSysSpecData->psSGX_FCK);
> ++	if (res < 0)
> ++        {
> ++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable
> SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> ++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> ++        }
> ++
> + 	res=clk_enable(psSysSpecData->psSGX_FCK);
> + 	if (res < 0)
> +         {
> +                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable
> SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> ++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> ++        }
> ++
> ++	res=clk_prepare(psSysSpecData->psSGX_ICK);
> ++	if(res < 0)
> ++        {
> ++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable
> SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> +                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> +         }
> +
> +@@ -178,8 +194,9 @@
> +         if (res < 0)
> +         {
> +                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable
> SGX interface clock (%d)", res));
> +-
> ++                clk_unprepare(psSysSpecData->psSGX_ICK);
> +                 clk_disable(psSysSpecData->psSGX_FCK);
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> +                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> +         }
> +
> +@@ -247,8 +264,9 @@
> + 	PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX Clocks"));
> + 	
> + 	clk_disable(psSysSpecData->psSGX_FCK);
> +-
> ++	clk_unprepare(psSysSpecData->psSGX_FCK);
> + 	clk_disable(psSysSpecData->psSGX_ICK);
> ++	clk_unprepare(psSysSpecData->psSGX_ICK);
> +
> + //	SysDisableSGXInterrupts(psSysData);
> +
> diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk
> new file mode 100644
> index 0000000..154c792
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx.mk
> @@ -0,0 +1,71 @@
> +###############################################################################
> +#
> +# ti-gfx
> +#
> +###############################################################################
> +
> +TI_GFX_VERSION = 4_09_00_01
> +TI_GFX_SOURCE =
> Graphics_SDK_setuplinux_$(TI_GFX_VERSION)_minimal_demos.bin
> +TI_GFX_SITE =
> http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/$(TI_GFX_VERSION)/exports/
> +TI_GFX_LICENSE = TSPA
> +TI_GFX_LICENSE_FILES = TSPA.txt
> +TI_GFX_INSTALL_STAGING = YES
> +
> +TI_GFX_DEPENDENCIES = linux
> +
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y)
> +TI_GFX_OMAPES = 3.x
> +TI_GFX_PLATFORM = omap3
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES5),y)
> +TI_GFX_OMAPES = 5.x
> +TI_GFX_PLATFORM = omap3630
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES6),y)
> +TI_GFX_OMPAES = 6.x
> +TI_GFX_PLATFORM = ti81xx
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES8),y)
> +TI_GFX_OMAPES = 8.x
> +TI_GFX_PLATFORM = ti335x
> +endif
> +
> +define TI_GFX_EXTRACT_CMDS
> +	$(RM) -rf $(TI_GFX_DIR)
> +	chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
> +	printf "Y\nY\n qY\n\n" | $(DL_DIR)/$(TI_GFX_SOURCE) \
> +		--prefix $(TI_GFX_DIR) \
> +		--mode console
> +endef
> +
> +define TI_GFX_CONFIGURE_CMDS
> +	echo "no configure required binary only package"
> +endef
> +
> +TI_GFX_MAKE_CMD = cd $(TI_GFX_SRCDIR)/GFX_Linux_KM && \
> +		$(MAKE) $(LINUX_MAKE_FLAGS) \
> +			BUILD=$(BR2_PACKAGE_TI_GFX_DEBUG) \
> +			TI_PLATFORM=$(TI_GFX_PLATFORM) \
> +			OMAPES=$(TI_GFX_OMAPES) \
> +			SUPPORT_XORG=0 \
> +			KERNELDIR=$(LINUX_DIR)
> +
> +define TI_GFX_BUILD_CMDS
> +	( $(TI_GFX_MAKE_CMD) clean && \
> +	  $(TI_GFX_MAKE_CMD) all )
> +endef
> +
> +define TI_GFX_INSTALL_STAGING_CMDS
> +	
> +endef
> +
> +define TI_GFX_INSTALL_TARGET_CMDS
> +	( $(TI_GFX_MAKE_CMD) install ) || \
> +		echo "Your kernel configuration must include FB_DA8XX"
> +endef
> +
> +define TI_GFX_CLEAN_CMDS
> +	( $(TI_GFX_MAKE_CMD) clean )
> +endef
> +
> +$(eval $(generic-package))
> --
> 1.7.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-11 17:58                         ` Charles Krinke
@ 2013-06-12 17:33                           ` Spenser Gilliland
  2013-06-12 17:55                             ` Charles Krinke
  2013-06-13  8:03                             ` Naumann Andreas
  0 siblings, 2 replies; 32+ messages in thread
From: Spenser Gilliland @ 2013-06-12 17:33 UTC (permalink / raw)
  To: buildroot

Charles,


> I believe including a kernel compile with this patch is a problem for
> several reasons.

There is no kernel compile in this patch.   Only the sgx kernel modules are
built.  The make KERNELDIR=path/to/sgx/dir modules only builds the modules
in the current directory.

> The first is that the TI defconfig for AM3517_evm never made it into
> the Linux kernel along with all the supporting changes, so the build
> fails.

You can use any kernel you would like and are not bound to mainline
kernels.  If the ti kernel has the needed patches, you may use it.  The
only requirement is that the kernel is specified in the kernel
configuration section.

> The second is that folks are using various versions of Graphics_SDK
> from 4_05_xx through 4_09_xx. These same folks generally build the
> Graphics_SDK once externally to buildroot to avoid carrying a 135MB
> file in the dl/ directory. This doesnt make sense for buildroot for
> two kernel .ko modules where 135MByte is larger then any other
> package.

It has to be downloaded anyways and as long as you don't distclean often;
it will only be downloaded once.  It may make sense to provide an option to
select which version of the gfx sdk but there's no need if they maintain
backwards compatibility.

> Perhaps you can consider making Graphics_SDK an external reference in
> your patch to make things go more smoothly?

IMHO. This would complicate the process.   The method presented would allow
people with no ti-gfx experience to quickly get up and running.

Thanks,

Spenser
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130612/d2a5ab3e/attachment.html>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-12 17:33                           ` Spenser Gilliland
@ 2013-06-12 17:55                             ` Charles Krinke
  2013-06-12 18:37                               ` Spenser Gilliland
  2013-06-13  8:03                             ` Naumann Andreas
  1 sibling, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-12 17:55 UTC (permalink / raw)
  To: buildroot

Unfortunately, the patch triggers a kernel build. The current issue is
a defconfig for this kernel compile. For am AM3517, one would expect
to use AM3517_evm_defconfig which does not exist in the mainline
kernel, so the rootfs cannot be built with the patch.

Perhaps some words on *how* make it get past errors might help use
this patch, sir?


On 6/12/13, Spenser Gilliland <spenser@gillilanding.com> wrote:
> Charles,
>
>
>> I believe including a kernel compile with this patch is a problem for
>> several reasons.
>
> There is no kernel compile in this patch.   Only the sgx kernel modules are
> built.  The make KERNELDIR=path/to/sgx/dir modules only builds the modules
> in the current directory.
>
>> The first is that the TI defconfig for AM3517_evm never made it into
>> the Linux kernel along with all the supporting changes, so the build
>> fails.
>
> You can use any kernel you would like and are not bound to mainline
> kernels.  If the ti kernel has the needed patches, you may use it.  The
> only requirement is that the kernel is specified in the kernel
> configuration section.
>
>> The second is that folks are using various versions of Graphics_SDK
>> from 4_05_xx through 4_09_xx. These same folks generally build the
>> Graphics_SDK once externally to buildroot to avoid carrying a 135MB
>> file in the dl/ directory. This doesnt make sense for buildroot for
>> two kernel .ko modules where 135MByte is larger then any other
>> package.
>
> It has to be downloaded anyways and as long as you don't distclean often;
> it will only be downloaded once.  It may make sense to provide an option to
> select which version of the gfx sdk but there's no need if they maintain
> backwards compatibility.
>
>> Perhaps you can consider making Graphics_SDK an external reference in
>> your patch to make things go more smoothly?
>
> IMHO. This would complicate the process.   The method presented would allow
> people with no ti-gfx experience to quickly get up and running.
>
> Thanks,
>
> Spenser
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-12 17:55                             ` Charles Krinke
@ 2013-06-12 18:37                               ` Spenser Gilliland
  0 siblings, 0 replies; 32+ messages in thread
From: Spenser Gilliland @ 2013-06-12 18:37 UTC (permalink / raw)
  To: buildroot

On Wed, Jun 12, 2013 at 12:55 PM, Charles Krinke
<charles.krinke@gmail.com> wrote:
> Unfortunately, the patch triggers a kernel build. The current issue is
> a defconfig for this kernel compile. For am AM3517, one would expect
> to use AM3517_evm_defconfig which does not exist in the mainline
> kernel, so the rootfs cannot be built with the patch.
>
> Perhaps some words on *how* make it get past errors might help use
> this patch, sir?
>
>
> On 6/12/13, Spenser Gilliland <spenser@gillilanding.com> wrote:
>> Charles,
>>
>>
>>> I believe including a kernel compile with this patch is a problem for
>>> several reasons.
>>
>> There is no kernel compile in this patch.   Only the sgx kernel modules are
>> built.  The make KERNELDIR=path/to/sgx/dir modules only builds the modules
>> in the current directory.
>>
>>> The first is that the TI defconfig for AM3517_evm never made it into
>>> the Linux kernel along with all the supporting changes, so the build
>>> fails.
>>
>> You can use any kernel you would like and are not bound to mainline
>> kernels.  If the ti kernel has the needed patches, you may use it.  The
>> only requirement is that the kernel is specified in the kernel
>> configuration section.
>>
>>> The second is that folks are using various versions of Graphics_SDK
>>> from 4_05_xx through 4_09_xx. These same folks generally build the
>>> Graphics_SDK once externally to buildroot to avoid carrying a 135MB
>>> file in the dl/ directory. This doesnt make sense for buildroot for
>>> two kernel .ko modules where 135MByte is larger then any other
>>> package.
>>
>> It has to be downloaded anyways and as long as you don't distclean often;
>> it will only be downloaded once.  It may make sense to provide an option to
>> select which version of the gfx sdk but there's no need if they maintain
>> backwards compatibility.
>>
>>> Perhaps you can consider making Graphics_SDK an external reference in
>>> your patch to make things go more smoothly?
>>
>> IMHO. This would complicate the process.   The method presented would allow
>> people with no ti-gfx experience to quickly get up and running.
>>
>> Thanks,
>>
>> Spenser
>>
>
>
> --
> Charles Krinke

Charles,

In mainline I believe AM35xx is covered by the omap2plus defconfig but
I'm not completely certain. You can also use a custom kernel location
with
LINUX_OVERRIDE_SRCDIR=/path/to/your/kernel/tree or If you obtained it
from git or a tarball, please tell me the source of your kernel and I
can help you setup the BR2_LINUX_KERNEL sections.

Thanks,
Spenser

--
Spenser Gilliland
Computer Engineer
Doctoral Candidate

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-12 17:33                           ` Spenser Gilliland
  2013-06-12 17:55                             ` Charles Krinke
@ 2013-06-13  8:03                             ` Naumann Andreas
  2013-06-13 14:11                               ` Charles Krinke
  2013-06-13 14:58                               ` Spenser Gilliland
  1 sibling, 2 replies; 32+ messages in thread
From: Naumann Andreas @ 2013-06-13  8:03 UTC (permalink / raw)
  To: buildroot

Hi,

I'm happily jumping on integrating the egl stuff in buildroot (and qt), thanks for you start Spenser. 
As for Charles concerns, I too see the kernel build being triggered by ti-gfx, but that's natural since the modules depend on it. I have no problems with that. However, since I'm using a 3.1 kernel, the newclkapi patch broke the ti-gfx build for me. I just removed it, but maybe this can be solved better.

To go further with the qt support, I have added staging headers and libs, see patch below. I can now build qt5 with the gui module (which needs the eglfs support). However, when preparing an out of tree qt-project with buildroots qmake, the subsequent make step says it's got nothing to do. Looking into it, the SOURCES from the .pro file did not get picked up, but I have no idea why. Maybe this is another post though.

Here's my patch:


Betreff: [PATCH] ti-gfx: Install headers and libs to staging.

This enables the qt5 packages to successfully build with OpenGL / EGL support.

---
 package/ti-gfx/ti-gfx.mk | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk
index 154c792..1446fe5 100644
--- a/package/ti-gfx/ti-gfx.mk
+++ b/package/ti-gfx/ti-gfx.mk
@@ -30,6 +30,12 @@ TI_GFX_OMAPES = 8.x
 TI_GFX_PLATFORM = ti335x
 endif
 
+ifeq ($(BR2_PACKAGE_TI_GFX_DEBUG),y)
+TI_GFX_RELDBG = rel
+else
+TI_GFX_RELDBG = dbg
+endif
+
 define TI_GFX_EXTRACT_CMDS 
 	$(RM) -rf $(TI_GFX_DIR)
 	chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
@@ -50,13 +56,20 @@ TI_GFX_MAKE_CMD = cd $(TI_GFX_SRCDIR)/GFX_Linux_KM && \
 			SUPPORT_XORG=0 \
 			KERNELDIR=$(LINUX_DIR)
 
+TI_GFX_BIN_PATH = gfx_$(TI_GFX_RELDBG)_es$(TI_GFX_OMAPES)
+
 define TI_GFX_BUILD_CMDS
 	( $(TI_GFX_MAKE_CMD) clean && \
 	  $(TI_GFX_MAKE_CMD) all )
 endef
 
+SUB_FOLDER = EGL EWS GLES2 KHR
 define TI_GFX_INSTALL_STAGING_CMDS
-	
+	for folder in $(SUB_FOLDER); do \
+		$(INSTALL) -d $(STAGING_DIR)/usr/include/$$folder ; \
+		$(INSTALL) -D -m 0644 $(@D)/include/OGLES2/$$folder/*.h $(STAGING_DIR)/usr/include/$$folder ; \
+	done
+	$(INSTALL) -D -m 0644 $(@D)/$(TI_GFX_BIN_PATH)/*.so $(STAGING_DIR)/usr/lib
 endef
 
 define TI_GFX_INSTALL_TARGET_CMDS
-- 
1.8.2.3




------------------------------------------------------------------------------
Dipl.-Ing. (FH)
Andreas Naumann
Embedded Software
T +49 8105 77839-363
F +49 8105 77839-850
ANaumann at ultratronik.de
www.ultratronik.de
Dornierstra?e 9
82205 Gilching
ULTRATRONIK
L?SUNGEN F?R IHREN ERFOLG - SOLUTIONS FOR YOUR SUCCESS

------------------------------------------------------------------------------ 
Gesch?ftsf?hrer: Dipl.-Ing. Wolfgang Sorg, Dipl.-Kfm. Alexander Sorg
Sitz der Gesellschaft: Gilching
Registergericht M?nchen HRB 49567 (Ultratronik Vertriebs GmbH)
Registergericht M?nchen HRB 55584 (Ultratronik GmbH)

------------------------------------------------------------------------------ 



________________________________________

Von: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] Im Auftrag von Spenser Gilliland
Gesendet: Mittwoch, 12. Juni 2013 19:33
An: Charles Krinke
Cc: buildroot
Betreff: Re: [Buildroot] [RFC] ti-gfx: add new package

Charles,

> I believe including a kernel compile with this patch is a problem for
> several reasons.
There is no kernel compile in this patch.   Only the sgx kernel modules are built.  The make KERNELDIR=path/to/sgx/dir modules only builds the modules in the current directory.
> The first is that the TI defconfig for AM3517_evm never made it into
> the Linux kernel along with all the supporting changes, so the build
> fails.
You can use any kernel you would like and are not bound to mainline kernels.  If the ti kernel has the needed patches, you may use it.  The only requirement is that the kernel is specified in the kernel configuration section.
> The second is that folks are using various versions of Graphics_SDK
> from 4_05_xx through 4_09_xx. These same folks generally build the
> Graphics_SDK once externally to buildroot to avoid carrying a 135MB
> file in the dl/ directory. This doesnt make sense for buildroot for
> two kernel .ko modules where 135MByte is larger then any other
> package.
It has to be downloaded anyways and as long as you don't distclean often; it will only be downloaded once.  It may make sense to provide an option to select which version of the gfx sdk but there's no need if they maintain backwards compatibility. 
> Perhaps you can consider making Graphics_SDK an external reference in
> your patch to make things go more smoothly?
IMHO. This would complicate the process.   The method presented would allow people with no ti-gfx experience to quickly get up and running.
Thanks,
Spenser

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-13  8:03                             ` Naumann Andreas
@ 2013-06-13 14:11                               ` Charles Krinke
  2013-06-14 20:22                                 ` Thomas Petazzoni
  2013-06-13 14:58                               ` Spenser Gilliland
  1 sibling, 1 reply; 32+ messages in thread
From: Charles Krinke @ 2013-06-13 14:11 UTC (permalink / raw)
  To: buildroot

Dear Naumann:

If you select QtQuick, you should find that the build fails on copying
qmlview in the qt5quick package make file. In looking at this, it
looks like qmlview is not part of Qt5, so it seems commenting out that
line in the package .mk file is reasonable. Perhaps you could confirm
this when you have a chance.

On Spenser's patch, my comments to the RFC remain the same and those
are 1) Graphics_SDK should not be a part of buildroot and 2) A kernel
build should be independent of the root file system.

Charles

On 6/13/13, Naumann Andreas <ANaumann@ultratronik.de> wrote:
> Hi,
>
> I'm happily jumping on integrating the egl stuff in buildroot (and qt),
> thanks for you start Spenser.
> As for Charles concerns, I too see the kernel build being triggered by
> ti-gfx, but that's natural since the modules depend on it. I have no
> problems with that. However, since I'm using a 3.1 kernel, the newclkapi
> patch broke the ti-gfx build for me. I just removed it, but maybe this can
> be solved better.
>
> To go further with the qt support, I have added staging headers and libs,
> see patch below. I can now build qt5 with the gui module (which needs the
> eglfs support). However, when preparing an out of tree qt-project with
> buildroots qmake, the subsequent make step says it's got nothing to do.
> Looking into it, the SOURCES from the .pro file did not get picked up, but I
> have no idea why. Maybe this is another post though.
>
> Here's my patch:
>
>
> Betreff: [PATCH] ti-gfx: Install headers and libs to staging.
>
> This enables the qt5 packages to successfully build with OpenGL / EGL
> support.
>
> ---
>  package/ti-gfx/ti-gfx.mk | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk
> index 154c792..1446fe5 100644
> --- a/package/ti-gfx/ti-gfx.mk
> +++ b/package/ti-gfx/ti-gfx.mk
> @@ -30,6 +30,12 @@ TI_GFX_OMAPES = 8.x
>  TI_GFX_PLATFORM = ti335x
>  endif
>
> +ifeq ($(BR2_PACKAGE_TI_GFX_DEBUG),y)
> +TI_GFX_RELDBG = rel
> +else
> +TI_GFX_RELDBG = dbg
> +endif
> +
>  define TI_GFX_EXTRACT_CMDS
>  	$(RM) -rf $(TI_GFX_DIR)
>  	chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
> @@ -50,13 +56,20 @@ TI_GFX_MAKE_CMD = cd $(TI_GFX_SRCDIR)/GFX_Linux_KM && \
>  			SUPPORT_XORG=0 \
>  			KERNELDIR=$(LINUX_DIR)
>
> +TI_GFX_BIN_PATH = gfx_$(TI_GFX_RELDBG)_es$(TI_GFX_OMAPES)
> +
>  define TI_GFX_BUILD_CMDS
>  	( $(TI_GFX_MAKE_CMD) clean && \
>  	  $(TI_GFX_MAKE_CMD) all )
>  endef
>
> +SUB_FOLDER = EGL EWS GLES2 KHR
>  define TI_GFX_INSTALL_STAGING_CMDS
> -	
> +	for folder in $(SUB_FOLDER); do \
> +		$(INSTALL) -d $(STAGING_DIR)/usr/include/$$folder ; \
> +		$(INSTALL) -D -m 0644 $(@D)/include/OGLES2/$$folder/*.h
> $(STAGING_DIR)/usr/include/$$folder ; \
> +	done
> +	$(INSTALL) -D -m 0644 $(@D)/$(TI_GFX_BIN_PATH)/*.so
> $(STAGING_DIR)/usr/lib
>  endef
>
>  define TI_GFX_INSTALL_TARGET_CMDS
> --
> 1.8.2.3
>
>
>
>
> ------------------------------------------------------------------------------
> Dipl.-Ing. (FH)
> Andreas Naumann
> Embedded Software
> T +49 8105 77839-363
> F +49 8105 77839-850
> ANaumann at ultratronik.de
> www.ultratronik.de
> Dornierstra?e 9
> 82205 Gilching
> ULTRATRONIK
> L?SUNGEN F?R IHREN ERFOLG - SOLUTIONS FOR YOUR SUCCESS
>
> ------------------------------------------------------------------------------
>
> Gesch?ftsf?hrer: Dipl.-Ing. Wolfgang Sorg, Dipl.-Kfm. Alexander Sorg
> Sitz der Gesellschaft: Gilching
> Registergericht M?nchen HRB 49567 (Ultratronik Vertriebs GmbH)
> Registergericht M?nchen HRB 55584 (Ultratronik GmbH)
>
> ------------------------------------------------------------------------------
>
>
>
>
> ________________________________________
>
> Von: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] Im
> Auftrag von Spenser Gilliland
> Gesendet: Mittwoch, 12. Juni 2013 19:33
> An: Charles Krinke
> Cc: buildroot
> Betreff: Re: [Buildroot] [RFC] ti-gfx: add new package
>
> Charles,
>
>> I believe including a kernel compile with this patch is a problem for
>> several reasons.
> There is no kernel compile in this patch.   Only the sgx kernel modules are
> built.  The make KERNELDIR=path/to/sgx/dir modules only builds the modules
> in the current directory.
>> The first is that the TI defconfig for AM3517_evm never made it into
>> the Linux kernel along with all the supporting changes, so the build
>> fails.
> You can use any kernel you would like and are not bound to mainline kernels.
>  If the ti kernel has the needed patches, you may use it.  The only
> requirement is that the kernel is specified in the kernel configuration
> section.
>> The second is that folks are using various versions of Graphics_SDK
>> from 4_05_xx through 4_09_xx. These same folks generally build the
>> Graphics_SDK once externally to buildroot to avoid carrying a 135MB
>> file in the dl/ directory. This doesnt make sense for buildroot for
>> two kernel .ko modules where 135MByte is larger then any other
>> package.
> It has to be downloaded anyways and as long as you don't distclean often; it
> will only be downloaded once.  It may make sense to provide an option to
> select which version of the gfx sdk but there's no need if they maintain
> backwards compatibility.
>> Perhaps you can consider making Graphics_SDK an external reference in
>> your patch to make things go more smoothly?
> IMHO. This would complicate the process.   The method presented would allow
> people with no ti-gfx experience to quickly get up and running.
> Thanks,
> Spenser
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-13  8:03                             ` Naumann Andreas
  2013-06-13 14:11                               ` Charles Krinke
@ 2013-06-13 14:58                               ` Spenser Gilliland
  2013-06-17 13:35                                 ` Andreas Naumann
  1 sibling, 1 reply; 32+ messages in thread
From: Spenser Gilliland @ 2013-06-13 14:58 UTC (permalink / raw)
  To: buildroot

Hi Naumann,

Thanks for working on this patch.  Hopefully, this cleaned up and
included in the next release.

> I'm happily jumping on integrating the egl stuff in buildroot (and qt), thanks for you start Spenser.
> As for Charles concerns, I too see the kernel build being triggered by ti-gfx, but that's natural since the modules depend on it. I have no problems with that. However, since I'm using a 3.1 kernel, the newclkapi patch broke the ti-gfx build for me. I just removed it, but maybe this can be solved better.

To solve this problem, an ifdef on the kernel version should be done.
I'll try to figure out which version incorporated the clock changes
and add this to the patch.

> To go further with the qt support, I have added staging headers and libs, see patch below. I can now build qt5 with the gui module (which needs the eglfs support). However, when preparing an out of tree qt-project with buildroots qmake, the subsequent make step says it's got nothing to do. Looking into it, the SOURCES from the .pro file did not get picked up, but I have no idea why. Maybe this is another post though.

I'll leave this one for someone more experience in QT and I agree that
this issue does seem external to the inclusion of the ti-gfx package.

The patch below looks good to me.  I'm hoping to get some run time
testing on a couple of boards (Beagleboard xM/Beaglebone Black) done
by next week.  Then, this patch should be ready for inclusion or at
least moving to a proper patch review.

Thanks,

Spenser

--
Spenser Gilliland
Computer Engineer
Doctoral Candidate

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-07 20:18                       ` [Buildroot] [RFC] ti-gfx: add new package Spenser Gilliland
  2013-06-11 17:58                         ` Charles Krinke
@ 2013-06-13 16:49                         ` Arnout Vandecappelle
  2013-06-14  2:20                           ` Sundareson, Prabindh
  1 sibling, 1 reply; 32+ messages in thread
From: Arnout Vandecappelle @ 2013-06-13 16:49 UTC (permalink / raw)
  To: buildroot

  Hi Spenser,

On 07/06/13 22:18, Spenser Gilliland wrote:
> This is WIP of adding the TI Graphics SDK to buildroot.
>
> TODO:
>     Install startup files for sgx core.
>     Install khronos gles/egl/vg libraries.
>     Create .pc files to simplfy additional packaging.
>     Testing, lots of testing.
>
> ---
>   package/Config.in                              |    1 +
>   package/opengl/libegl/libegl.mk                |    4 +
>   package/opengl/libgles/libgles.mk              |    4 +
>   package/opengl/libopenvg/libopenvg.mk          |    4 +
>   package/ti-gfx/Config.in                       |   54 ++++++++++++++++++
>   package/ti-gfx/ti-gfx-km_install_modules.patch |   14 +++++
>   package/ti-gfx/ti-gfx-newclkapi.patch          |   55 ++++++++++++++++++
>   package/ti-gfx/ti-gfx.mk                       |   71 ++++++++++++++++++++++++
>   8 files changed, 207 insertions(+), 0 deletions(-)
>   create mode 100644 package/ti-gfx/Config.in
>   create mode 100644 package/ti-gfx/ti-gfx-km_install_modules.patch
>   create mode 100644 package/ti-gfx/ti-gfx-newclkapi.patch
>   create mode 100644 package/ti-gfx/ti-gfx.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index ce82e99..8c40b56 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -290,6 +290,7 @@ source "package/snowball-hdmiservice/Config.in"
>   source "package/sredird/Config.in"
>   source "package/statserial/Config.in"
>   source "package/sysstat/Config.in"
> +source "package/ti-gfx/Config.in"

  Don't we usually put this kind of stuff under Libraries / Graphics?

>   source "package/ti-utils/Config.in"
>   source "package/uboot-tools/Config.in"
>   source "package/udev/Config.in"
[snip]
> diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in
> new file mode 100644
> index 0000000..c3ac984
> --- /dev/null
> +++ b/package/ti-gfx/Config.in
> @@ -0,0 +1,54 @@
> +config BR2_PACKAGE_TI_GFX
> +	bool "ti-gfx"
> +	select BR2_LINUX_KERNEL
> +	select BR2_PACKAGE_DEVMEM2

  Why is this needed?

> +	select BR2_PACKAGE_HAS_OPENGL_EGL
> +	select BR2_PACKAGE_HAS_OPENGL_ES
> +	depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
> +	help
> +	  Graphics libraries for TI boards.
> +
> +	  http://downloads.ti.com/dsps/dsps_public_sw/gfxsdk/
> +
> +if BR2_PACKAGE_TI_GFX
> +
> +config BR2_PACKAGE_TI_GFX_DEBUG
> +	bool "enable debug support"
> +	help
> +	  Turn on debugging in kernel module and install libraries built with
> +	  debugging enabled
> +
> +choice
> +	prompt "Target"
> +	default BR2_PACKAGE_TI_GFX_OMAP3

  I guess you mean _ES3

> +	help
> +	  Select the SOC for which you would like to install drivers. Please
> +	  use the chart at
> +	  http://processors.wiki.ti.com/index.php/OMAP35x_Graphics_SDK_Getting_Started_Guide
> +
> +config BR2_PACKAGE_TI_GFX_ES3
> +	bool "es3.x"
> +	help
> +	 OMAP35xx, AM35xx Rev 3.1+
> +
> +config BR2_PACKAGE_TI_GFX_ES5
> +	bool "es5.x"
> +	help
> +	  AM37xx, DM37xx
> +
> +config BR2_PACKAGE_TI_GFX_ES6
> +	bool "es6.x"
> +	help
> +	  AM387x, C6A814x, AM389x, C6A816x
> +
> +config BR2_PACKAGE_TI_GFX_ES8
> +	bool "es8.x"
> +	help
> +	  AM335x
> +
> +endchoice
> +
> +endif
> +
> +comment "requires an external eglibc/glibc based toolchain"
  You must say that ti-gfx requires it, because the config option is not 
visible when there's no glibc.

> +	depends on !(BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc)

  We really should refactor this into a single symbol...


> diff --git a/package/ti-gfx/ti-gfx-km_install_modules.patch b/package/ti-gfx/ti-gfx-km_install_modules.patch
> new file mode 100644
> index 0000000..63bfd19
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx-km_install_modules.patch
> @@ -0,0 +1,14 @@
> +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile
> +===================================================================
> +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile	2013-03-07 11:00:11.000000000 -0600
> ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile	2013-05-23 01:36:29.356676281 -0500
> +@@ -479,6 +479,9 @@
> + all:
> + 	$(MAKE) -C $(KERNELDIR) M=`pwd` $*
> +
> ++install:
> ++	$(MAKE) -C $(KERNELDIR) M=`pwd` modules_install
> ++

  Actually, instead of patching the Makefile, you could just run the 
kernel make command directly from buildroot's .mk file. I think there are 
a few module packages that do that.

> + clean:
> + 	@find . -name "*.o" -exec rm -r {} \;
> + 	@find . -name "*.ko" -exec rm -r {} \;
> diff --git a/package/ti-gfx/ti-gfx-newclkapi.patch b/package/ti-gfx/ti-gfx-newclkapi.patch
> new file mode 100644
> index 0000000..b35ac31
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx-newclkapi.patch
> @@ -0,0 +1,55 @@

  This patch is missing an explanation and a SoB.

> +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c
> +===================================================================
> +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-03-04 08:41:35.000000000 -0600
> ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-06-05 12:00:08.778605221 -0500
> +@@ -166,11 +166,27 @@
> + 	}
> +
> + 	PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks"));
> +-	
> ++   res=clk_prepare(psSysSpecData->psSGX_FCK);
> ++	if (res < 0)
> ++        {
> ++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> ++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> ++        }
> ++
> + 	res=clk_enable(psSysSpecData->psSGX_FCK);
> + 	if (res < 0)
> +         {
> +                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> ++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> ++        }
> ++
> ++	res=clk_prepare(psSysSpecData->psSGX_ICK);
> ++	if(res < 0)
> ++        {
> ++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> +                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> +         }
> +
> +@@ -178,8 +194,9 @@
> +         if (res < 0)
> +         {
> +                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX interface clock (%d)", res));
> +-
> ++                clk_unprepare(psSysSpecData->psSGX_ICK);
> +                 clk_disable(psSysSpecData->psSGX_FCK);
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> +                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> +         }
> +
> +@@ -247,8 +264,9 @@
> + 	PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX Clocks"));
> + 	
> + 	clk_disable(psSysSpecData->psSGX_FCK);
> +-
> ++	clk_unprepare(psSysSpecData->psSGX_FCK);
> + 	clk_disable(psSysSpecData->psSGX_ICK);
> ++	clk_unprepare(psSysSpecData->psSGX_ICK);
> +
> + //	SysDisableSGXInterrupts(psSysData);
> +
> diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk
> new file mode 100644
> index 0000000..154c792
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx.mk
> @@ -0,0 +1,71 @@
> +###############################################################################
> +#
> +# ti-gfx
> +#
> +###############################################################################
> +
> +TI_GFX_VERSION = 4_09_00_01
> +TI_GFX_SOURCE = Graphics_SDK_setuplinux_$(TI_GFX_VERSION)_minimal_demos.bin
> +TI_GFX_SITE = http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/$(TI_GFX_VERSION)/exports/
> +TI_GFX_LICENSE = TSPA

  This is not one of the well-known licenses, so should be expanded to 
"Texas Instruments Software Piracy Agreement" or whatever it stands for.

> +TI_GFX_LICENSE_FILES = TSPA.txt
> +TI_GFX_INSTALL_STAGING = YES
> +
> +TI_GFX_DEPENDENCIES = linux
> +
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y)
> +TI_GFX_OMAPES = 3.x
> +TI_GFX_PLATFORM = omap3
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES5),y)
> +TI_GFX_OMAPES = 5.x
> +TI_GFX_PLATFORM = omap3630
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES6),y)
> +TI_GFX_OMPAES = 6.x
> +TI_GFX_PLATFORM = ti81xx
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES8),y)
> +TI_GFX_OMAPES = 8.x
> +TI_GFX_PLATFORM = ti335x
> +endif

  Personally I prefer to do "case statements" like this in the Config.in, 
but it's a minor thing.

> +
> +define TI_GFX_EXTRACT_CMDS
> +	$(RM) -rf $(TI_GFX_DIR)

  We normally don't do that. Is it needed (i.e. does it fail if you don't 
and the source was already extracted before)?

  Also, use $(@D) instead of $(TI_GFX_DIR).

> +	chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
> +	printf "Y\nY\n qY\n\n" | $(DL_DIR)/$(TI_GFX_SOURCE) \
> +		--prefix $(TI_GFX_DIR) \
> +		--mode console
> +endef
> +
> +define TI_GFX_CONFIGURE_CMDS
> +	echo "no configure required binary only package"

  Just don't define it then.

> +endef
> +
> +TI_GFX_MAKE_CMD = cd $(TI_GFX_SRCDIR)/GFX_Linux_KM && \
> +		$(MAKE) $(LINUX_MAKE_FLAGS) \
> +			BUILD=$(BR2_PACKAGE_TI_GFX_DEBUG) \
> +			TI_PLATFORM=$(TI_GFX_PLATFORM) \
> +			OMAPES=$(TI_GFX_OMAPES) \
> +			SUPPORT_XORG=0 \
> +			KERNELDIR=$(LINUX_DIR)

  We normally only set the make flags, e.g.

TI_GFX_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
	...

and the build commands become

	$(MAKE) -C $(@D) $(TI_GFX_MAKE_OPTS) all

> +
> +define TI_GFX_BUILD_CMDS
> +	( $(TI_GFX_MAKE_CMD) clean && \

  Is the clean really needed? We normally don't.

  Also don't connect commands with && unless they really need to be 
executed in the same sub-shell.

> +	  $(TI_GFX_MAKE_CMD) all )
> +endef
> +
> +define TI_GFX_INSTALL_STAGING_CMDS
> +	

  If you have nothing to install than you shouldn't install to staging :-)

> +endef
> +
> +define TI_GFX_INSTALL_TARGET_CMDS
> +	( $(TI_GFX_MAKE_CMD) install ) || \

  Don't you need to pass TARGET_DIR anywhere?

> +		echo "Your kernel configuration must include FB_DA8XX"

  I think that should be checked by observing the kernel's .config in the 
CONFIGURE_CMDS.

  Ideally, it would be enabled automatically but I don't think we can do 
that at the moment.

> +endef
> +
> +define TI_GFX_CLEAN_CMDS
> +	( $(TI_GFX_MAKE_CMD) clean )
> +endef

  Clean is going to be deprecated so you don't need to add it. But I 
guess you're using it a lot now...

> +
> +$(eval $(generic-package))
>


-- 
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

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-13 16:49                         ` Arnout Vandecappelle
@ 2013-06-14  2:20                           ` Sundareson, Prabindh
  2013-06-15 16:33                             ` Thomas Petazzoni
  0 siblings, 1 reply; 32+ messages in thread
From: Sundareson, Prabindh @ 2013-06-14  2:20 UTC (permalink / raw)
  To: buildroot

In case it helps the discussion,


1. TSPA stands for "Technology / Software Publicly Available"

>> > +TI_GFX_LICENSE = TSPA
>>  This is not one of the well-known licenses, so should be expanded to ...



2. devmem2 is used for querying the version of the SGX core at runtime to do the right initialization

> +	select BR2_PACKAGE_DEVMEM2
>>  Why is this needed?


regards,
Prabu



-----Original Message-----
From: buildroot-bounces@busybox.net [mailto:buildroot-bounces at busybox.net] On Behalf Of Arnout Vandecappelle
Sent: Thursday, June 13, 2013 10:20 PM
To: Spenser Gilliland
Cc: buildroot at busybox.net
Subject: Re: [Buildroot] [RFC] ti-gfx: add new package

  Hi Spenser,

On 07/06/13 22:18, Spenser Gilliland wrote:
> This is WIP of adding the TI Graphics SDK to buildroot.
>
> TODO:
>     Install startup files for sgx core.
>     Install khronos gles/egl/vg libraries.
>     Create .pc files to simplfy additional packaging.
>     Testing, lots of testing.
>
> ---
>   package/Config.in                              |    1 +
>   package/opengl/libegl/libegl.mk                |    4 +
>   package/opengl/libgles/libgles.mk              |    4 +
>   package/opengl/libopenvg/libopenvg.mk          |    4 +
>   package/ti-gfx/Config.in                       |   54 ++++++++++++++++++
>   package/ti-gfx/ti-gfx-km_install_modules.patch |   14 +++++
>   package/ti-gfx/ti-gfx-newclkapi.patch          |   55 ++++++++++++++++++
>   package/ti-gfx/ti-gfx.mk                       |   71 ++++++++++++++++++++++++
>   8 files changed, 207 insertions(+), 0 deletions(-)
>   create mode 100644 package/ti-gfx/Config.in
>   create mode 100644 package/ti-gfx/ti-gfx-km_install_modules.patch
>   create mode 100644 package/ti-gfx/ti-gfx-newclkapi.patch
>   create mode 100644 package/ti-gfx/ti-gfx.mk
>
> diff --git a/package/Config.in b/package/Config.in index 
> ce82e99..8c40b56 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -290,6 +290,7 @@ source "package/snowball-hdmiservice/Config.in"
>   source "package/sredird/Config.in"
>   source "package/statserial/Config.in"
>   source "package/sysstat/Config.in"
> +source "package/ti-gfx/Config.in"

  Don't we usually put this kind of stuff under Libraries / Graphics?

>   source "package/ti-utils/Config.in"
>   source "package/uboot-tools/Config.in"
>   source "package/udev/Config.in"
[snip]
> diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in new 
> file mode 100644 index 0000000..c3ac984
> --- /dev/null
> +++ b/package/ti-gfx/Config.in
> @@ -0,0 +1,54 @@
> +config BR2_PACKAGE_TI_GFX
> +	bool "ti-gfx"
> +	select BR2_LINUX_KERNEL
> +	select BR2_PACKAGE_DEVMEM2

  Why is this needed?

> +	select BR2_PACKAGE_HAS_OPENGL_EGL
> +	select BR2_PACKAGE_HAS_OPENGL_ES
> +	depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
> +	help
> +	  Graphics libraries for TI boards.
> +
> +	  http://downloads.ti.com/dsps/dsps_public_sw/gfxsdk/
> +
> +if BR2_PACKAGE_TI_GFX
> +
> +config BR2_PACKAGE_TI_GFX_DEBUG
> +	bool "enable debug support"
> +	help
> +	  Turn on debugging in kernel module and install libraries built with
> +	  debugging enabled
> +
> +choice
> +	prompt "Target"
> +	default BR2_PACKAGE_TI_GFX_OMAP3

  I guess you mean _ES3

> +	help
> +	  Select the SOC for which you would like to install drivers. Please
> +	  use the chart at
> +	  
> +http://processors.wiki.ti.com/index.php/OMAP35x_Graphics_SDK_Getting_
> +Started_Guide
> +
> +config BR2_PACKAGE_TI_GFX_ES3
> +	bool "es3.x"
> +	help
> +	 OMAP35xx, AM35xx Rev 3.1+
> +
> +config BR2_PACKAGE_TI_GFX_ES5
> +	bool "es5.x"
> +	help
> +	  AM37xx, DM37xx
> +
> +config BR2_PACKAGE_TI_GFX_ES6
> +	bool "es6.x"
> +	help
> +	  AM387x, C6A814x, AM389x, C6A816x
> +
> +config BR2_PACKAGE_TI_GFX_ES8
> +	bool "es8.x"
> +	help
> +	  AM335x
> +
> +endchoice
> +
> +endif
> +
> +comment "requires an external eglibc/glibc based toolchain"
  You must say that ti-gfx requires it, because the config option is not visible when there's no glibc.

> +	depends on !(BR2_TOOLCHAIN_EXTERNAL_GLIBC || 
> +BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc)

  We really should refactor this into a single symbol...


> diff --git a/package/ti-gfx/ti-gfx-km_install_modules.patch 
> b/package/ti-gfx/ti-gfx-km_install_modules.patch
> new file mode 100644
> index 0000000..63bfd19
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx-km_install_modules.patch
> @@ -0,0 +1,14 @@
> +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile
> +===================================================================
> +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile	2013-03-07 11:00:11.000000000 -0600
> ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile	2013-05-23 01:36:29.356676281 -0500
> +@@ -479,6 +479,9 @@
> + all:
> + 	$(MAKE) -C $(KERNELDIR) M=`pwd` $*
> +
> ++install:
> ++	$(MAKE) -C $(KERNELDIR) M=`pwd` modules_install
> ++

  Actually, instead of patching the Makefile, you could just run the kernel make command directly from buildroot's .mk file. I think there are a few module packages that do that.

> + clean:
> + 	@find . -name "*.o" -exec rm -r {} \;
> + 	@find . -name "*.ko" -exec rm -r {} \;
> diff --git a/package/ti-gfx/ti-gfx-newclkapi.patch 
> b/package/ti-gfx/ti-gfx-newclkapi.patch
> new file mode 100644
> index 0000000..b35ac31
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx-newclkapi.patch
> @@ -0,0 +1,55 @@

  This patch is missing an explanation and a SoB.

> +Index: 
> +ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_lin
> +ux.c 
> +===================================================================
> +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-03-04 08:41:35.000000000 -0600
> ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c	2013-06-05 12:00:08.778605221 -0500
> +@@ -166,11 +166,27 @@
> + 	}
> +
> + 	PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks"));
> +-	
> ++   res=clk_prepare(psSysSpecData->psSGX_FCK);
> ++	if (res < 0)
> ++        {
> ++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> ++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> ++        }
> ++
> + 	res=clk_enable(psSysSpecData->psSGX_FCK);
> + 	if (res < 0)
> +         {
> +                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't 
> + enable SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> ++                return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> ++        }
> ++
> ++	res=clk_prepare(psSysSpecData->psSGX_ICK);
> ++	if(res < 0)
> ++        {
> ++                PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res));
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> +                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> +         }
> +
> +@@ -178,8 +194,9 @@
> +         if (res < 0)
> +         {
> +                 PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't 
> +enable SGX interface clock (%d)", res));
> +-
> ++                clk_unprepare(psSysSpecData->psSGX_ICK);
> +                 clk_disable(psSysSpecData->psSGX_FCK);
> ++                clk_unprepare(psSysSpecData->psSGX_FCK);
> +                 return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
> +         }
> +
> +@@ -247,8 +264,9 @@
> + 	PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX 
> +Clocks"));
> + 	
> + 	clk_disable(psSysSpecData->psSGX_FCK);
> +-
> ++	clk_unprepare(psSysSpecData->psSGX_FCK);
> + 	clk_disable(psSysSpecData->psSGX_ICK);
> ++	clk_unprepare(psSysSpecData->psSGX_ICK);
> +
> + //	SysDisableSGXInterrupts(psSysData);
> +
> diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk new 
> file mode 100644 index 0000000..154c792
> --- /dev/null
> +++ b/package/ti-gfx/ti-gfx.mk
> @@ -0,0 +1,71 @@
> +#####################################################################
> +##########
> +#
> +# ti-gfx
> +#
> +#####################################################################
> +##########
> +
> +TI_GFX_VERSION = 4_09_00_01
> +TI_GFX_SOURCE = 
> +Graphics_SDK_setuplinux_$(TI_GFX_VERSION)_minimal_demos.bin
> +TI_GFX_SITE = 
> +http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gf
> +xsdk/$(TI_GFX_VERSION)/exports/
> +TI_GFX_LICENSE = TSPA

  This is not one of the well-known licenses, so should be expanded to "Texas Instruments Software Piracy Agreement" or whatever it stands for.

> +TI_GFX_LICENSE_FILES = TSPA.txt
> +TI_GFX_INSTALL_STAGING = YES
> +
> +TI_GFX_DEPENDENCIES = linux
> +
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y)
> +TI_GFX_OMAPES = 3.x
> +TI_GFX_PLATFORM = omap3
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES5),y)
> +TI_GFX_OMAPES = 5.x
> +TI_GFX_PLATFORM = omap3630
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES6),y)
> +TI_GFX_OMPAES = 6.x
> +TI_GFX_PLATFORM = ti81xx
> +endif
> +ifeq ($(BR2_PACKAGE_TI_GFX_ES8),y)
> +TI_GFX_OMAPES = 8.x
> +TI_GFX_PLATFORM = ti335x
> +endif

  Personally I prefer to do "case statements" like this in the Config.in, but it's a minor thing.

> +
> +define TI_GFX_EXTRACT_CMDS
> +	$(RM) -rf $(TI_GFX_DIR)

  We normally don't do that. Is it needed (i.e. does it fail if you don't and the source was already extracted before)?

  Also, use $(@D) instead of $(TI_GFX_DIR).

> +	chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
> +	printf "Y\nY\n qY\n\n" | $(DL_DIR)/$(TI_GFX_SOURCE) \
> +		--prefix $(TI_GFX_DIR) \
> +		--mode console
> +endef
> +
> +define TI_GFX_CONFIGURE_CMDS
> +	echo "no configure required binary only package"

  Just don't define it then.

> +endef
> +
> +TI_GFX_MAKE_CMD = cd $(TI_GFX_SRCDIR)/GFX_Linux_KM && \
> +		$(MAKE) $(LINUX_MAKE_FLAGS) \
> +			BUILD=$(BR2_PACKAGE_TI_GFX_DEBUG) \
> +			TI_PLATFORM=$(TI_GFX_PLATFORM) \
> +			OMAPES=$(TI_GFX_OMAPES) \
> +			SUPPORT_XORG=0 \
> +			KERNELDIR=$(LINUX_DIR)

  We normally only set the make flags, e.g.

TI_GFX_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
	...

and the build commands become

	$(MAKE) -C $(@D) $(TI_GFX_MAKE_OPTS) all

> +
> +define TI_GFX_BUILD_CMDS
> +	( $(TI_GFX_MAKE_CMD) clean && \

  Is the clean really needed? We normally don't.

  Also don't connect commands with && unless they really need to be executed in the same sub-shell.

> +	  $(TI_GFX_MAKE_CMD) all )
> +endef
> +
> +define TI_GFX_INSTALL_STAGING_CMDS
> +	

  If you have nothing to install than you shouldn't install to staging :-)

> +endef
> +
> +define TI_GFX_INSTALL_TARGET_CMDS
> +	( $(TI_GFX_MAKE_CMD) install ) || \

  Don't you need to pass TARGET_DIR anywhere?

> +		echo "Your kernel configuration must include FB_DA8XX"

  I think that should be checked by observing the kernel's .config in the CONFIGURE_CMDS.

  Ideally, it would be enabled automatically but I don't think we can do that at the moment.

> +endef
> +
> +define TI_GFX_CLEAN_CMDS
> +	( $(TI_GFX_MAKE_CMD) clean )
> +endef

  Clean is going to be deprecated so you don't need to add it. But I guess you're using it a lot now...

> +
> +$(eval $(generic-package))
>


-- 
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 _______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-13 14:11                               ` Charles Krinke
@ 2013-06-14 20:22                                 ` Thomas Petazzoni
  2013-06-14 20:58                                   ` Charles Krinke
  2013-06-15  9:37                                   ` Sundareson, Prabindh
  0 siblings, 2 replies; 32+ messages in thread
From: Thomas Petazzoni @ 2013-06-14 20:22 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Thu, 13 Jun 2013 07:11:18 -0700, Charles Krinke wrote:

> On Spenser's patch, my comments to the RFC remain the same and those
> are 1) Graphics_SDK should not be a part of buildroot and 2) A kernel
> build should be independent of the root file system.

Sorry, but you're wrong on both points I believe:

 (1) The whole point of the ti-gfx package that Spenser is doing, and
     the whole point of the GSoC project Spenser is working on is
     *precisely* to create Buildroot packages for many binary blobs /
     special kernel modules that are needed to enable OpenGL, EGL and
     other similar technologies on ARM SoCs. So, we definitely want
     such packages to automatically download, extract, configure, build
     and install whatever is necessary to enable the usage of such
     technologies, and this, without requiring special intervention
     from the Buildroot user. Just like all the other packages we have.

     The fact that the Graphics_SDK thing is pretty huge to download is
     just due to the poor TI practices in terms of packaging and
     releases, and there's not much we can do about it. And anyway,
     Buildroot users willing to enable complex technologies such as
     OpenGL are most likely ready to download fairly large packages.

 (2) The Graphics_SDK contains some kernel modules. They have to be
     built against a Linux kernel tree that has been configured and
     built. The only way to do that in Buildroot is to depend on the
     'linux' package, which triggers a build of the Linux kernel. This
     is completely normal, and I really don't see how it could be done
     otherwise. That's already what we do for a number of other
     packages that contain kernel modules, such as linux-fusion,
     lttng-modules or rtai.

     So the build of the root filesystem (which contains kernel
     modules) cannot be fully independent from the build of the kernel.

It would be interesting if you could expand on why (1) or (2) are
causing problems for you, in the light of the above explanations.

Best regards,

Thomas Petazzoni
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-14 20:22                                 ` Thomas Petazzoni
@ 2013-06-14 20:58                                   ` Charles Krinke
  2013-06-14 23:12                                     ` Yann E. MORIN
  2013-06-15 16:28                                     ` Thomas Petazzoni
  2013-06-15  9:37                                   ` Sundareson, Prabindh
  1 sibling, 2 replies; 32+ messages in thread
From: Charles Krinke @ 2013-06-14 20:58 UTC (permalink / raw)
  To: buildroot

Dear Thomas:

Behind my comments is the issue of TI's practices and I hope we dont
make it worse by tweaking buildroot in an unusual direction, but I
will, as usual, follow your lead.

My perspective is from working with the TI AM3517_evm for the last
year. One of the issues is the fact that TI supplies their kernel
source out-of-tree as a distribution release. As a consequence no one
cannot expect kernel.org kernels to work properly for at least this
reference design.  That is, the TI kernel modifications never made it
into the mainline kernel, so we have a non-kernel.org situation to
start with. This should cause buildroot to tread carefully unless we
also get the patches from TI that change a standard kernel into a
TI-special kernel.

On the Graphics_SDK, since this is a product that TI releases along
with their kernel from time-to-time. Since this is also not an
opensource project, I have some angst with patching the released
Graphics_SDK. This doesnt make any sense to me since this product
along with the kernel are releases from TI.

So, I guess the key issue is mixing distribution releases from a
vendor with traditional, well-known opensource projects and how
buildroot can best move forward.



On 6/14/13, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:
> Dear Charles Krinke,
>
> On Thu, 13 Jun 2013 07:11:18 -0700, Charles Krinke wrote:
>
>> On Spenser's patch, my comments to the RFC remain the same and those
>> are 1) Graphics_SDK should not be a part of buildroot and 2) A kernel
>> build should be independent of the root file system.
>
> Sorry, but you're wrong on both points I believe:
>
>  (1) The whole point of the ti-gfx package that Spenser is doing, and
>      the whole point of the GSoC project Spenser is working on is
>      *precisely* to create Buildroot packages for many binary blobs /
>      special kernel modules that are needed to enable OpenGL, EGL and
>      other similar technologies on ARM SoCs. So, we definitely want
>      such packages to automatically download, extract, configure, build
>      and install whatever is necessary to enable the usage of such
>      technologies, and this, without requiring special intervention
>      from the Buildroot user. Just like all the other packages we have.
>
>      The fact that the Graphics_SDK thing is pretty huge to download is
>      just due to the poor TI practices in terms of packaging and
>      releases, and there's not much we can do about it. And anyway,
>      Buildroot users willing to enable complex technologies such as
>      OpenGL are most likely ready to download fairly large packages.
>
>  (2) The Graphics_SDK contains some kernel modules. They have to be
>      built against a Linux kernel tree that has been configured and
>      built. The only way to do that in Buildroot is to depend on the
>      'linux' package, which triggers a build of the Linux kernel. This
>      is completely normal, and I really don't see how it could be done
>      otherwise. That's already what we do for a number of other
>      packages that contain kernel modules, such as linux-fusion,
>      lttng-modules or rtai.
>
>      So the build of the root filesystem (which contains kernel
>      modules) cannot be fully independent from the build of the kernel.
>
> It would be interesting if you could expand on why (1) or (2) are
> causing problems for you, in the light of the above explanations.
>
> Best regards,
>
> Thomas Petazzoni
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
>


-- 
Charles Krinke

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-14 20:58                                   ` Charles Krinke
@ 2013-06-14 23:12                                     ` Yann E. MORIN
  2013-06-15 16:28                                     ` Thomas Petazzoni
  1 sibling, 0 replies; 32+ messages in thread
From: Yann E. MORIN @ 2013-06-14 23:12 UTC (permalink / raw)
  To: buildroot

Charles, All,

On 2013-06-14 13:58 -0700, Charles Krinke spake thusly:
> Behind my comments is the issue of TI's practices and I hope we dont
> make it worse by tweaking buildroot in an unusual direction, but I
> will, as usual, follow your lead.

Hmm. I guess we *do* want to hear opinions like yours. That's what in
the end shapes what Buildroot is, and where it goes.

Then, any enhancement should be done in a way that follows the Buildroot
"philosophy" (which is rather not-so-well defined, although the great
lines revolves around KISS, basically, and easiness for the user).

> My perspective is from working with the TI AM3517_evm for the last
> year.

Getting input from people that have experience on the topic is very good
to have. Thank you! :-)

> One of the issues is the fact that TI supplies their kernel
> source out-of-tree as a distribution release. As a consequence no one
> cannot expect kernel.org kernels to work properly for at least this
> reference design.

There has never been such expectation expressed.

Also, we already have some defconfig for some boards where the kernel is
not retrieved from k.org, but from a third-party. For example, the
RaspberryPi defconfig points to the github clone/fork that has RPi
support, and not to k.org.

I can't see a reason not to provide such a defconfig for other boards.

Unless it is no possible to easily retrieve the kernel from that TI
packaging /mess/.

> That is, the TI kernel modifications never made it
> into the mainline kernel, so we have a non-kernel.org situation to
> start with. This should cause buildroot to tread carefully unless we
> also get the patches from TI that change a standard kernel into a
> TI-special kernel.

There is no way Buildroot carries such patches, indeed. Either the user
starts up with the defconfig, or is versed enough to point Buildroot to
use a TI-ready kernel.

> On the Graphics_SDK, since this is a product that TI releases along
> with their kernel from time-to-time. Since this is also not an
> opensource project, I have some angst with patching the released
> Graphics_SDK. This doesnt make any sense to me since this product
> along with the kernel are releases from TI.

Buildroot has a very good infrastructure for declaring licensing
information per-package, and preparing a manifest of such licensing
terms for the user to *review* (and not trust blindly), and decide
whether the licenses combination is valid for him, in his jurisdiction,
for his use-case, and so on...

The Graphics_SDK will *not* be bundled in Buildroot; it's only the user's
actions that will trigger a download/build/install of the Graphics_SDK
source code and binary blobs to his rootfs.

> So, I guess the key issue is mixing distribution releases from a
> vendor with traditional, well-known opensource projects and how
> buildroot can best move forward.

Licensing infrastrucuture, my friend! :-)

    make legal-info

Regards,
Yann E. MORIN

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-14 20:22                                 ` Thomas Petazzoni
  2013-06-14 20:58                                   ` Charles Krinke
@ 2013-06-15  9:37                                   ` Sundareson, Prabindh
  1 sibling, 0 replies; 32+ messages in thread
From: Sundareson, Prabindh @ 2013-06-15  9:37 UTC (permalink / raw)
  To: buildroot

Hello Thomas, Spenser,

You can try the installer package without any demos (I saw that the recipe is using the package with minimaldemos), and it should reduce size by another 30 MB. The reason for the larger size is due to the fact that the SDK has to support different cores that customers might have on the chipsets they use.

>>     The fact that the Graphics_SDK thing is pretty huge to download is      just due to the poor TI practices in terms of packaging and      releases, and there's not much we can do about it.

regards,
Prabu


-----Original Message-----
From: buildroot-bounces@busybox.net [mailto:buildroot-bounces at busybox.net] On Behalf Of Thomas Petazzoni
Sent: Saturday, June 15, 2013 1:53 AM
To: Charles Krinke
Cc: buildroot
Subject: Re: [Buildroot] [RFC] ti-gfx: add new package

Dear Charles Krinke,

On Thu, 13 Jun 2013 07:11:18 -0700, Charles Krinke wrote:

> On Spenser's patch, my comments to the RFC remain the same and those 
> are 1) Graphics_SDK should not be a part of buildroot and 2) A kernel 
> build should be independent of the root file system.

Sorry, but you're wrong on both points I believe:

 (1) The whole point of the ti-gfx package that Spenser is doing, and
     the whole point of the GSoC project Spenser is working on is
     *precisely* to create Buildroot packages for many binary blobs /
     special kernel modules that are needed to enable OpenGL, EGL and
     other similar technologies on ARM SoCs. So, we definitely want
     such packages to automatically download, extract, configure, build
     and install whatever is necessary to enable the usage of such
     technologies, and this, without requiring special intervention
     from the Buildroot user. Just like all the other packages we have.

     The fact that the Graphics_SDK thing is pretty huge to download is
     just due to the poor TI practices in terms of packaging and
     releases, and there's not much we can do about it. And anyway,
     Buildroot users willing to enable complex technologies such as
     OpenGL are most likely ready to download fairly large packages.

 (2) The Graphics_SDK contains some kernel modules. They have to be
     built against a Linux kernel tree that has been configured and
     built. The only way to do that in Buildroot is to depend on the
     'linux' package, which triggers a build of the Linux kernel. This
     is completely normal, and I really don't see how it could be done
     otherwise. That's already what we do for a number of other
     packages that contain kernel modules, such as linux-fusion,
     lttng-modules or rtai.

     So the build of the root filesystem (which contains kernel
     modules) cannot be fully independent from the build of the kernel.

It would be interesting if you could expand on why (1) or (2) are causing problems for you, in the light of the above explanations.

Best regards,

Thomas Petazzoni
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux development, consulting, training and support.
http://free-electrons.com
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-14 20:58                                   ` Charles Krinke
  2013-06-14 23:12                                     ` Yann E. MORIN
@ 2013-06-15 16:28                                     ` Thomas Petazzoni
  1 sibling, 0 replies; 32+ messages in thread
From: Thomas Petazzoni @ 2013-06-15 16:28 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Fri, 14 Jun 2013 13:58:57 -0700, Charles Krinke wrote:

> Behind my comments is the issue of TI's practices and I hope we dont
> make it worse by tweaking buildroot in an unusual direction, but I
> will, as usual, follow your lead.
> 
> My perspective is from working with the TI AM3517_evm for the last
> year. One of the issues is the fact that TI supplies their kernel
> source out-of-tree as a distribution release. As a consequence no one
> cannot expect kernel.org kernels to work properly for at least this
> reference design.  That is, the TI kernel modifications never made it
> into the mainline kernel, so we have a non-kernel.org situation to
> start with. This should cause buildroot to tread carefully unless we
> also get the patches from TI that change a standard kernel into a
> TI-special kernel.

As Yann already highlighted, we already have in Buildroot several cases
where we're using other kernels than the mainline one: the
rpi_defconfig, phy3250_defconfig, nitrogen6x_defconfig,
gnublin_defconfig, ea3250_defconfig, fdi3250_defconfig,
beaglebone_defconfig, arm_foundationv8_defconfig. All of these default
configurations are using special kernel trees from custom Git trees. I
believe we clearly would all prefer the support for those platforms to
be available in the mainline Linux kernel, but on the other hand, when
one has an embedded Linux project to make, one isn't necessarily given
the time required to mainline the entire kernel support for the
hardware platform.

Another example are the Freescale specific libraries packaged in
package/freescale-imx/. From package/freescale-imx/imx-lib/Config.in:

comment "imx-lib needs an imx-specific kernel to be built"
        depends on BR2_arm && !BR2_LINUX_KERNEL

config BR2_PACKAGE_IMX_LIB
        bool "imx-lib"
        depends on BR2_LINUX_KERNEL
        depends on BR2_arm # Only relevant for i.MX
        help
          Library of userspace helpers specific for the Freescale i.MX
          platform. It wraps the kernel interfaces for some i.MX platform
          specific drivers. It requires a kernel that includes the i.MX
          specific headers to be built.

          This library is provided by Freescale as-is and doesn't have
          an upstream.

The TI-specific kernel modules needed to enable graphics features fall
in exactly the same category, and I don't see why we wouldn't support
them in Buildroot.

Again, having fully open-source and mainline support for those graphics
features would be a lot better, but we also have for now to live with
what exists, and allow Buildroot users to easily enable OpenGL and
similar technologies when they do AM3xxx or OMAP3 based projects.

> On the Graphics_SDK, since this is a product that TI releases along
> with their kernel from time-to-time. Since this is also not an
> opensource project, I have some angst with patching the released
> Graphics_SDK. This doesnt make any sense to me since this product
> along with the kernel are releases from TI.

I'm still not sure to understand your concerns. Is it a licensing
concern? A Buildroot packaging complexity concern? Something else?

> So, I guess the key issue is mixing distribution releases from a
> vendor with traditional, well-known opensource projects and how
> buildroot can best move forward.

My vision is that Buildroot already has pretty good support for many of
the well-known opensource projects used in embedded systems, and the
community has been very good at maintaining and increasing a large
number of such packages. However, one area where I believe Buildroot is
lacking is in supporting the multimedia features of many ARM SoCs, and
even though today such features are generally supported through
specific kernels and binary-only libraries, having support for such
features in Buildroot is important if we want Buildroot to remain
relevant for embedded systems where those features are needed.

Of course, I'm all open to listen to your concerns, and I'm interested
in understanding in more details what your concerns are.

Best regards,

Thomas Petazzoni
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-14  2:20                           ` Sundareson, Prabindh
@ 2013-06-15 16:33                             ` Thomas Petazzoni
  0 siblings, 0 replies; 32+ messages in thread
From: Thomas Petazzoni @ 2013-06-15 16:33 UTC (permalink / raw)
  To: buildroot

Dear Sundareson, Prabindh,

On Fri, 14 Jun 2013 02:20:12 +0000, Sundareson, Prabindh wrote:

> 2. devmem2 is used for querying the version of the SGX core at runtime to do the right initialization
> 
> > +	select BR2_PACKAGE_DEVMEM2
> >>  Why is this needed?

So in this case, there should be a comment "# Runtime dependency" right
before the "select BR2_PACKAGE_DEVMEM2".

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-13 14:58                               ` Spenser Gilliland
@ 2013-06-17 13:35                                 ` Andreas Naumann
  2013-06-17 16:26                                   ` Spenser Gilliland
  0 siblings, 1 reply; 32+ messages in thread
From: Andreas Naumann @ 2013-06-17 13:35 UTC (permalink / raw)
  To: buildroot

Hi Spenser,

Am 13.06.2013 16:58, schrieb Spenser Gilliland:
> Hi Naumann,
>
> Thanks for working on this patch.  Hopefully, this cleaned up and
> included in the next release.
>
>> I'm happily jumping on integrating the egl stuff in buildroot (and qt), thanks for you start Spenser.
>> As for Charles concerns, I too see the kernel build being triggered by ti-gfx, but that's natural since the modules depend on it. I have no problems with that. However, since I'm using a 3.1 kernel, the newclkapi patch broke the ti-gfx build for me. I just removed it, but maybe this can be solved better.
>
> To solve this problem, an ifdef on the kernel version should be done.
> I'll try to figure out which version incorporated the clock changes
> and add this to the patch.

It came in in 3.2.

>
>> To go further with the qt support, I have added staging headers and libs, see patch below. I can now build qt5 with the gui module (which needs the eglfs support). However, when preparing an out of tree qt-project with buildroots qmake, the subsequent make step says it's got nothing to do. Looking into it, the SOURCES from the .pro file did not get picked up, but I have no idea why. Maybe this is another post though.
>
> I'll leave this one for someone more experience in QT and I agree that
> this issue does seem external to the inclusion of the ti-gfx package.
>
> The patch below looks good to me.  I'm hoping to get some run time
> testing on a couple of boards (Beagleboard xM/Beaglebone Black) done
> by next week.  Then, this patch should be ready for inclusion or at
> least moving to a proper patch review.

I'm a little on hold until I get further with the qmake issue, but I'm 
thinking about further integrating the target install step. How can we 
work together on this? I mean, in case you (or I) want to incorporate 
Arnouts comments and then go further?

cheers,
Andreas


>
> Thanks,
>
> Spenser
>
> --
> Spenser Gilliland
> Computer Engineer
> Doctoral Candidate
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [Buildroot] [RFC] ti-gfx: add new package
  2013-06-17 13:35                                 ` Andreas Naumann
@ 2013-06-17 16:26                                   ` Spenser Gilliland
  0 siblings, 0 replies; 32+ messages in thread
From: Spenser Gilliland @ 2013-06-17 16:26 UTC (permalink / raw)
  To: buildroot

Naumann,

>> To solve this problem, an ifdef on the kernel version should be done.
>> I'll try to figure out which version incorporated the clock changes
>> and add this to the patch.
>
>
> It came in in 3.2.

Great.  I'll add this to the patch.

>
> I'm a little on hold until I get further with the qmake issue, but I'm
> thinking about further integrating the target install step. How can we work
> together on this? I mean, in case you (or I) want to incorporate Arnouts
> comments and then go further?

I'm usually much more on top of things.  Last week I had to get a
paper done so I had to put this project on the back burner.  I'm going
to incoporate all the changes suggested and hopefully have a new patch
out by this afternoon (CST). Everything will be available from the
beaglxm branch of my github repo at
http://github.com/Spenser309/buildroot and the new patch will be sent
to the list.

Spenser

--
Spenser Gilliland
Computer Engineer
Doctoral Candidate

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2013-06-17 16:26 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-05 17:36 [Buildroot] AM3517 Neon, OpenGL & EGLFS support Charles Krinke
2013-06-05 18:05 ` Wojciech Sleńska
2013-06-05 18:17   ` Charles Krinke
2013-06-05 22:16     ` Charles Krinke
2013-06-06 17:16       ` Wojciech Sleńska
2013-06-06 18:20         ` Charles Krinke
2013-06-06 18:26           ` Charles Krinke
2013-06-06 19:26             ` Wojciech Sleńska
2013-06-07  8:08           ` Thomas Petazzoni
2013-06-07 14:44             ` Charles Krinke
2013-06-07 15:23               ` Thomas Petazzoni
2013-06-07 15:40                 ` Charles Krinke
2013-06-07 16:48                   ` Thomas Petazzoni
2013-06-07 17:06                     ` Charles Krinke
2013-06-07 20:18                       ` [Buildroot] [RFC] ti-gfx: add new package Spenser Gilliland
2013-06-11 17:58                         ` Charles Krinke
2013-06-12 17:33                           ` Spenser Gilliland
2013-06-12 17:55                             ` Charles Krinke
2013-06-12 18:37                               ` Spenser Gilliland
2013-06-13  8:03                             ` Naumann Andreas
2013-06-13 14:11                               ` Charles Krinke
2013-06-14 20:22                                 ` Thomas Petazzoni
2013-06-14 20:58                                   ` Charles Krinke
2013-06-14 23:12                                     ` Yann E. MORIN
2013-06-15 16:28                                     ` Thomas Petazzoni
2013-06-15  9:37                                   ` Sundareson, Prabindh
2013-06-13 14:58                               ` Spenser Gilliland
2013-06-17 13:35                                 ` Andreas Naumann
2013-06-17 16:26                                   ` Spenser Gilliland
2013-06-13 16:49                         ` Arnout Vandecappelle
2013-06-14  2:20                           ` Sundareson, Prabindh
2013-06-15 16:33                             ` Thomas Petazzoni

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.