| Submitter | Paul Eggleton |
|---|---|
| Date | May 4, 2011, 2:51 p.m. |
| Message ID | <21e4929e2ef79647b16852bb6f15537939012b02.1304520272.git.paul.eggleton@linux.intel.com> |
| Download | mbox | patch |
| Permalink | /patch/3189/ |
| State | Accepted |
| Headers | show |
Comments
Hi Paul, Great work in doing this, thanks. I was just looking at it with a view to making machine support cleaner and I think there are still things we can likely to do help with this. As one example: On Wed, 2011-05-04 at 15:51 +0100, Paul Eggleton wrote: > +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend > @@ -0,0 +1,2 @@ > +QT_GLFLAGS_atom-pc = "-opengl" > + > diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend > new file mode 100644 > index 0000000..076ade2 > --- /dev/null > +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend > @@ -0,0 +1,2 @@ > +QT_GLFLAGS_atom-pc = "-opengl" could we set QT_GLFLAGS in the machine.conf file instead of using a bbappend? We could also do with finding a way to clean up clutter... Cheers, Richard
Op 5 mei 2011, om 13:38 heeft Richard Purdie het volgende geschreven: > Hi Paul, > > Great work in doing this, thanks. I was just looking at it with a view > to making machine support cleaner and I think there are still things we > can likely to do help with this. As one example: > > On Wed, 2011-05-04 at 15:51 +0100, Paul Eggleton wrote: >> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend >> @@ -0,0 +1,2 @@ >> +QT_GLFLAGS_atom-pc = "-opengl" >> + >> diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend >> new file mode 100644 >> index 0000000..076ade2 >> --- /dev/null >> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend >> @@ -0,0 +1,2 @@ >> +QT_GLFLAGS_atom-pc = "-opengl" > > could we set QT_GLFLAGS in the machine.conf file instead of using a > bbappend? Putting such USEFLAGS in machines sounds like a bad idea. In this case enabling it globally and falling back to mesa sw rendering at runtime is a better idea. The GL flag only enables extra API and libs, so it's good to have. regards, Koen
On Thu, 2011-05-05 at 13:46 +0200, Koen Kooi wrote: > Op 5 mei 2011, om 13:38 heeft Richard Purdie het volgende geschreven: > > > Hi Paul, > > > > Great work in doing this, thanks. I was just looking at it with a view > > to making machine support cleaner and I think there are still things we > > can likely to do help with this. As one example: > > > > On Wed, 2011-05-04 at 15:51 +0100, Paul Eggleton wrote: > >> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend > >> @@ -0,0 +1,2 @@ > >> +QT_GLFLAGS_atom-pc = "-opengl" > >> + > >> diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend > >> new file mode 100644 > >> index 0000000..076ade2 > >> --- /dev/null > >> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend > >> @@ -0,0 +1,2 @@ > >> +QT_GLFLAGS_atom-pc = "-opengl" > > > > could we set QT_GLFLAGS in the machine.conf file instead of using a > > bbappend? > > Putting such USEFLAGS in machines sounds like a bad idea. In this case > enabling it globally and falling back to mesa sw rendering at runtime > is a better idea. The GL flag only enables extra API and libs, so it's > good to have. Agreed, longer term I think this is going to be the better way to handle this. In this day and age, defaulting to sw rendering is probably the sane thing to do. Equally, moving this from a .bbappend to the machine file is a bit cleaner too though :) Cheers, Richard
Op 5 mei 2011, om 14:21 heeft Richard Purdie het volgende geschreven: > On Thu, 2011-05-05 at 13:46 +0200, Koen Kooi wrote: >> Op 5 mei 2011, om 13:38 heeft Richard Purdie het volgende geschreven: >> >>> Hi Paul, >>> >>> Great work in doing this, thanks. I was just looking at it with a view >>> to making machine support cleaner and I think there are still things we >>> can likely to do help with this. As one example: >>> >>> On Wed, 2011-05-04 at 15:51 +0100, Paul Eggleton wrote: >>>> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend >>>> @@ -0,0 +1,2 @@ >>>> +QT_GLFLAGS_atom-pc = "-opengl" >>>> + >>>> diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend >>>> new file mode 100644 >>>> index 0000000..076ade2 >>>> --- /dev/null >>>> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend >>>> @@ -0,0 +1,2 @@ >>>> +QT_GLFLAGS_atom-pc = "-opengl" >>> >>> could we set QT_GLFLAGS in the machine.conf file instead of using a >>> bbappend? >> >> Putting such USEFLAGS in machines sounds like a bad idea. In this case >> enabling it globally and falling back to mesa sw rendering at runtime >> is a better idea. The GL flag only enables extra API and libs, so it's >> good to have. > > Agreed, longer term I think this is going to be the better way to handle > this. In this day and age, defaulting to sw rendering is probably the > sane thing to do. Something like SOC_FAMILY would help here. > Equally, moving this from a .bbappend to the machine file is a bit > cleaner too though :) Is it? Do you really want the machine to know about all the knobs in all the different layers? The .bbappends clearly signals a change to the recipe, hiding it in the machine.conf will just confuse people. And when changing options you need to edit the machine and then use PR_INC in a different file. Using a bbappend limits that to a single file
On Thu, 2011-05-05 at 14:31 +0200, Koen Kooi wrote: > Op 5 mei 2011, om 14:21 heeft Richard Purdie het volgende geschreven: > > > On Thu, 2011-05-05 at 13:46 +0200, Koen Kooi wrote: > >> Op 5 mei 2011, om 13:38 heeft Richard Purdie het volgende geschreven: > >> > >>> Hi Paul, > >>> > >>> Great work in doing this, thanks. I was just looking at it with a view > >>> to making machine support cleaner and I think there are still things we > >>> can likely to do help with this. As one example: > >>> > >>> On Wed, 2011-05-04 at 15:51 +0100, Paul Eggleton wrote: > >>>> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend > >>>> @@ -0,0 +1,2 @@ > >>>> +QT_GLFLAGS_atom-pc = "-opengl" > >>>> + > >>>> diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend > >>>> new file mode 100644 > >>>> index 0000000..076ade2 > >>>> --- /dev/null > >>>> +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend > >>>> @@ -0,0 +1,2 @@ > >>>> +QT_GLFLAGS_atom-pc = "-opengl" > >>> > >>> could we set QT_GLFLAGS in the machine.conf file instead of using a > >>> bbappend? > >> > >> Putting such USEFLAGS in machines sounds like a bad idea. In this case > >> enabling it globally and falling back to mesa sw rendering at runtime > >> is a better idea. The GL flag only enables extra API and libs, so it's > >> good to have. > > > > Agreed, longer term I think this is going to be the better way to handle > > this. In this day and age, defaulting to sw rendering is probably the > > sane thing to do. > > Something like SOC_FAMILY would help here. In some cases. > > Equally, moving this from a .bbappend to the machine file is a bit > > cleaner too though :) > > Is it? Do you really want the machine to know about all the knobs in > all the different layers? The .bbappends clearly signals a change to > the recipe, hiding it in the machine.conf will just confuse people. > And when changing options you need to edit the machine and then use > PR_INC in a different file. Using a bbappend limits that to a single > file I'm not saying this makes sense for every bbappend option. For something like QT and which is a part of OECore, I'm leaning towards being less concerned about it though and making *every* QT machine write a bbappend seems a little extreme the other way. Cheers, Richard
Patch
diff --git a/meta-yocto/recipes-bsp/formfactor/formfactor/atom-pc/machconfig b/meta-yocto/recipes-bsp/formfactor/formfactor/atom-pc/machconfig new file mode 100644 index 0000000..bef4ce3 --- /dev/null +++ b/meta-yocto/recipes-bsp/formfactor/formfactor/atom-pc/machconfig @@ -0,0 +1,6 @@ +HAVE_TOUCHSCREEN=0 +HAVE_KEYBOARD=1 + +DISPLAY_CAN_ROTATE=0 +DISPLAY_ORIENTATION=0 +DISPLAY_DPI=133 diff --git a/meta-yocto/recipes-bsp/formfactor/formfactor/beagleboard/machconfig b/meta-yocto/recipes-bsp/formfactor/formfactor/beagleboard/machconfig new file mode 100755 index 0000000..a46859f --- /dev/null +++ b/meta-yocto/recipes-bsp/formfactor/formfactor/beagleboard/machconfig @@ -0,0 +1,3 @@ +# Assume a USB mouse and touchscreen are connected +HAVE_TOUCHSCREEN=0 +HAVE_KEYBOARD=1 diff --git a/meta-yocto/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-yocto/recipes-bsp/formfactor/formfactor_0.0.bbappend new file mode 100644 index 0000000..4b8d0e6 --- /dev/null +++ b/meta-yocto/recipes-bsp/formfactor/formfactor_0.0.bbappend @@ -0,0 +1,3 @@ +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:" + diff --git a/meta-yocto/recipes-core/tasks/task-core-tools.bbappend b/meta-yocto/recipes-core/tasks/task-core-tools.bbappend new file mode 100644 index 0000000..ad9dcf4 --- /dev/null +++ b/meta-yocto/recipes-core/tasks/task-core-tools.bbappend @@ -0,0 +1,2 @@ +RDEPENDS_task-core-tools-profile_append_atom-pc = " lttng-ust systemtap" + diff --git a/meta-yocto/recipes-core/uclibc/uclibc/atom-pc/uClibc.machine b/meta-yocto/recipes-core/uclibc/uclibc/atom-pc/uClibc.machine new file mode 100644 index 0000000..5df15f9 --- /dev/null +++ b/meta-yocto/recipes-core/uclibc/uclibc/atom-pc/uClibc.machine @@ -0,0 +1,69 @@ +# +# Automatically generated make config: don't edit +# Fri Nov 23 15:49:33 2007 +# +# TARGET_alpha is not set +# TARGET_arm is not set +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +TARGET_i386=y +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="i386" +FORCE_OPTIONS_FOR_ARCH=y +CONFIG_GENERIC_386=y +# CONFIG_386 is not set +# CONFIG_486 is not set +# CONFIG_586 is not set +# CONFIG_586MMX is not set +# CONFIG_686 is not set +# CONFIG_PENTIUMII is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_ELAN is not set +# CONFIG_CRUSOE is not set +# CONFIG_WINCHIPC6 is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_CYRIXIII is not set +# CONFIG_NEHEMIAH is not set +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_LITTLE_ENDIAN=y + +# +# Using Little Endian +# +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FPU=y +DO_C99_MATH=y +KERNEL_HEADERS="/usr/include" +HAVE_DOT_CONFIG=y + +UCLIBC_HAS_FENV=y diff --git a/meta-yocto/recipes-core/uclibc/uclibc_0.9.30.1.bbappend b/meta-yocto/recipes-core/uclibc/uclibc_0.9.30.1.bbappend new file mode 100644 index 0000000..4b8d0e6 --- /dev/null +++ b/meta-yocto/recipes-core/uclibc/uclibc_0.9.30.1.bbappend @@ -0,0 +1,3 @@ +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:" + diff --git a/meta-yocto/recipes-gnome/tasks/task-poky-sdk-gmae.bbappend b/meta-yocto/recipes-gnome/tasks/task-poky-sdk-gmae.bbappend new file mode 100644 index 0000000..0105ade --- /dev/null +++ b/meta-yocto/recipes-gnome/tasks/task-poky-sdk-gmae.bbappend @@ -0,0 +1 @@ +SDK-EXTRAS_atom-pc ?= " lttng-ust-dev" diff --git a/meta-yocto/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bbappend b/meta-yocto/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bbappend new file mode 100644 index 0000000..0105ade --- /dev/null +++ b/meta-yocto/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bbappend @@ -0,0 +1 @@ +SDK-EXTRAS_atom-pc ?= " lttng-ust-dev" diff --git a/meta-yocto/recipes-graphics/clutter/clutter-1.4_1.4.2.bbappend b/meta-yocto/recipes-graphics/clutter/clutter-1.4_1.4.2.bbappend new file mode 100644 index 0000000..c7cc683 --- /dev/null +++ b/meta-yocto/recipes-graphics/clutter/clutter-1.4_1.4.2.bbappend @@ -0,0 +1,4 @@ +DEPENDS_atom-pc = "${STDDEPENDS} virtual/xserver-xf86 virtual/libgl" +EXTRA_OECONF_atom-pc = "${BASE_CONF} --with-flavour=glx" +PACKAGE_ARCH_atom-pc = "${MACHINE_ARCH}" + diff --git a/meta-yocto/recipes-graphics/clutter/clutter-1.6_1.6.14.bbappend b/meta-yocto/recipes-graphics/clutter/clutter-1.6_1.6.14.bbappend new file mode 100644 index 0000000..c7cc683 --- /dev/null +++ b/meta-yocto/recipes-graphics/clutter/clutter-1.6_1.6.14.bbappend @@ -0,0 +1,4 @@ +DEPENDS_atom-pc = "${STDDEPENDS} virtual/xserver-xf86 virtual/libgl" +EXTRA_OECONF_atom-pc = "${BASE_CONF} --with-flavour=glx" +PACKAGE_ARCH_atom-pc = "${MACHINE_ARCH}" + diff --git a/meta-yocto/recipes-graphics/clutter/clutter_git.bbappend b/meta-yocto/recipes-graphics/clutter/clutter_git.bbappend new file mode 100644 index 0000000..c7cc683 --- /dev/null +++ b/meta-yocto/recipes-graphics/clutter/clutter_git.bbappend @@ -0,0 +1,4 @@ +DEPENDS_atom-pc = "${STDDEPENDS} virtual/xserver-xf86 virtual/libgl" +EXTRA_OECONF_atom-pc = "${BASE_CONF} --with-flavour=glx" +PACKAGE_ARCH_atom-pc = "${MACHINE_ARCH}" + diff --git a/meta-yocto/recipes-graphics/mesa/mesa-dri_7.10.2.bbappend b/meta-yocto/recipes-graphics/mesa/mesa-dri_7.10.2.bbappend new file mode 100644 index 0000000..61d3891 --- /dev/null +++ b/meta-yocto/recipes-graphics/mesa/mesa-dri_7.10.2.bbappend @@ -0,0 +1,3 @@ +# Atom PCs have DRI support so use mesa-dri by default +DEFAULT_PREFERENCE_atom-pc = "1" + diff --git a/meta-yocto/recipes-graphics/mesa/mesa-dri_git.bbappend b/meta-yocto/recipes-graphics/mesa/mesa-dri_git.bbappend new file mode 100644 index 0000000..61d3891 --- /dev/null +++ b/meta-yocto/recipes-graphics/mesa/mesa-dri_git.bbappend @@ -0,0 +1,3 @@ +# Atom PCs have DRI support so use mesa-dri by default +DEFAULT_PREFERENCE_atom-pc = "1" + diff --git a/meta-yocto/recipes-graphics/xorg-xserver/xserver-xf86-config/atom-pc/xorg.conf b/meta-yocto/recipes-graphics/xorg-xserver/xserver-xf86-config/atom-pc/xorg.conf new file mode 100644 index 0000000..e18b911 --- /dev/null +++ b/meta-yocto/recipes-graphics/xorg-xserver/xserver-xf86-config/atom-pc/xorg.conf @@ -0,0 +1,26 @@ +Section "Device" + Identifier "Intel Graphics Driver" + Driver "intel" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + Option "DPMS" +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Intel Graphics Driver" + Monitor "Generic Monitor" + DefaultDepth 24 +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" +EndSection + +Section "ServerFlags" + Option "DontZap" "0" + Option "AutoAddDevices" "False" +EndSection diff --git a/meta-yocto/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-yocto/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend new file mode 100644 index 0000000..4b8d0e6 --- /dev/null +++ b/meta-yocto/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend @@ -0,0 +1,3 @@ +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:" + diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend new file mode 100644 index 0000000..076ade2 --- /dev/null +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.6.3.bbappend @@ -0,0 +1,2 @@ +QT_GLFLAGS_atom-pc = "-opengl" + diff --git a/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend new file mode 100644 index 0000000..076ade2 --- /dev/null +++ b/meta-yocto/recipes-qt/qt4/qt4-x11-free_4.7.2.bbappend @@ -0,0 +1,2 @@ +QT_GLFLAGS_atom-pc = "-opengl" +