diff --git a/config/options b/config/options index 56fb587d18..67763b257d 100644 --- a/config/options +++ b/config/options @@ -117,7 +117,7 @@ WPA_SUPPLICANT=yes # X.org drivers to use (all/ati/geode/glint/i740/intel/mga/nv/openchrome/ # radeonhd/s3/s3virge/savage/sis/tdfx/trident/vesa/vmware) # Space separated list is supported, e.g. XORG_DRIVERS="ati s3" -XORG_DRIVERS="ati nouveau nv vesa openchrome intel" +# XORG_DRIVERS="ati nouveau nv vesa openchrome intel" # LCD display support (yes/no) LCD4LINUX=yes diff --git a/packages/graphics/Mesa-master/build b/packages/graphics/Mesa-master/build index 1256481656..212efb1b56 100755 --- a/packages/graphics/Mesa-master/build +++ b/packages/graphics/Mesa-master/build @@ -12,6 +12,8 @@ $SCRIPTS/build libXfixes $SCRIPTS/build libXxf86vm $SCRIPTS/build libX11 +get_graphicdrivers + cd $PKG_BUILD HOST_CC=$HOST_CC \ OPT_FLAGS="$CFLAGS -D_GNU_SOURCE" \ @@ -38,15 +40,13 @@ DRI_DRIVER_SEARCH_DIR="$XORG_PATH_DRI" \ --disable-glw \ --disable-motif \ --with-driver=dri \ - --with-dri-drivers=$DRIDRIVERS \ + --with-dri-drivers=$MESA_DRIVERS \ --with-dri-driverdir="$XORG_PATH_DRI" \ --with-xorg-driver-dir="$XORG_PATH_DRIVERS" \ --with-x \ --without-demos \ --enable-gallium \ - --enable-gallium-intel \ - --disable-gallium-radeon \ - --disable-gallium-nouveau \ + $MESA_CONFIG \ make diff --git a/packages/graphics/libdrm/build b/packages/graphics/libdrm/build index 480881942f..c5d8a31e8c 100755 --- a/packages/graphics/libdrm/build +++ b/packages/graphics/libdrm/build @@ -6,6 +6,16 @@ $SCRIPTS/build toolchain $SCRIPTS/build libpthread-stubs $SCRIPTS/build udev +get_graphicdrivers + +for drv in $DRM_DRIVERS; do + [ $drv = radeon ] && \ + DRM_CONFIG="$DRM_CONFIG --enable-radeon-experimental-api" + + [ $drv = nouveau ] && \ + DRM_CONFIG="$DRM_CONFIG --enable-nouveau-experimental-api" +done + export LIBUDEV_CFLAGS="-I`ls -d $ROOT/$BUILD/udev*`" export LIBUDEV_LIBS="-I`ls -d $ROOT/$BUILD/udev*`" @@ -18,6 +28,7 @@ cd $PKG_BUILD --enable-shared \ --enable-udev \ --enable-largefile \ + $DRM_CONFIG \ $MAKE diff --git a/packages/graphics/libdrm/install b/packages/graphics/libdrm/install index 3e3ab80c7f..f2a864c521 100755 --- a/packages/graphics/libdrm/install +++ b/packages/graphics/libdrm/install @@ -2,14 +2,12 @@ . config/options +get_graphicdrivers + mkdir -p $INSTALL/usr/lib cp -PR $PKG_BUILD/libdrm/.libs/libdrm.so* $INSTALL/usr/lib -cp -PR $PKG_BUILD/libdrm/intel/.libs/libdrm_intel*.so* $INSTALL/usr/lib -rm -rf $INSTALL/usr/lib/libdrm_intel*.so*T - -#cp -PR $PKG_BUILD/libdrm/nouveau/.libs/libdrm_nouveau*.so* $INSTALL/usr/lib -#rm -rf $INSTALL/usr/lib/libdrm_nouveau*.so*T - -#cp -PR $PKG_BUILD/libdrm/radeon/.libs/libdrm_radeon*.so* $INSTALL/usr/lib -##rm -rf $INSTALL/usr/lib/libdrm_radeon*.so*T +for drv in $DRM_DRIVERS; do + cp -PR $PKG_BUILD/libdrm/$drv/.libs/libdrm_$drv*.so* $INSTALL/usr/lib + rm -rf $INSTALL/usr/lib/libdrm_$drv*.so*T +done diff --git a/packages/x11/xserver/xorg-server/install b/packages/x11/xserver/xorg-server/install index 96d31688e8..d6ce9993a6 100755 --- a/packages/x11/xserver/xorg-server/install +++ b/packages/x11/xserver/xorg-server/install @@ -75,10 +75,11 @@ cp $PKG_BUILD/config/x11-input.fdi $INSTALL/usr/share/hal/fdi/policy/10osvendor/ $SCRIPTS/install xf86-input-evdev $SCRIPTS/install xf86-input-synaptics -[ "$XORG_DRIVERS" = all ] && XORG_DRIVERS="`find $ROOT/$PACKAGES/ -name "xf86-video-*" | sed s/.*xf86-video-//`" -for drv in $XORG_DRIVERS; do - $SCRIPTS/install xf86-video-$drv -done +get_graphicdrivers + + for drv in $XORG_DRIVERS; do + $SCRIPTS/install xf86-video-$drv + done #Tools $SCRIPTS/install xinit diff --git a/projects/intel-ati/options b/projects/intel-ati/options index 4160db7e81..cf01f39dea 100644 --- a/projects/intel-ati/options +++ b/projects/intel-ati/options @@ -1,7 +1,7 @@ # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="#######################################################" GREATING1="# Welcome to OpenELEC - the powerfull Mediacenter4you #" - GREATING2="# visit http://www.openelec.tv #" + GREATING2="# .......... visit http://www.openelec.tv .......... #" GREATING3="#######################################################" GREATING4="" @@ -17,13 +17,9 @@ # Displayserver to use (wayland / xorg-server / no) DISPLAYSERVER=xorg-server -# X.org drivers to use (all / ati,intel) -# Space separated list is supported, e.g. XORG_DRIVERS="ati intel" - XORG_DRIVERS="ati" - -# DRI drivers to use (i915, i965, radeon) -# Comma separated list is supported, e.g. DRIDRIVERS="i915,i965,radeon,swrast" - DRIDRIVERS="radeon" +# Graphic drivers to use (all / i915,i965,r200,r300,r600,radeon,nouveau) +# Space separated list is supported, e.g. GRAPHIC_DRIVERS="i915 i965 radeon nouveau" + GRAPHIC_DRIVERS="radeon r600" # MESA to use (Mesa / Mesa-master) MESA=Mesa-master @@ -49,3 +45,37 @@ if [ "$DISPLAYSERVER" = xorg-server ]; then elif [ "$DISPLAYSERVER" = wayland ]; then CAIRO=cairo-drm fi + +get_graphicdrivers() { + if [ "$GRAPHIC_DRIVERS" = all ]; then + GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nouveau" + fi + + for drv in $GRAPHIC_DRIVERS; do + [ $drv = i915 ] && MESA_DRIVERS="$MESA_DRIVERS,i915" + [ $drv = i965 ] && MESA_DRIVERS="$MESA_DRIVERS,i965" + [ $drv = r200 ] && MESA_DRIVERS="$MESA_DRIVERS,r200" + [ $drv = r300 ] && MESA_DRIVERS="$MESA_DRIVERS,r300" + [ $drv = r600 ] && MESA_DRIVERS="$MESA_DRIVERS,r600" + [ $drv = radeon ] && MESA_DRIVERS="$MESA_DRIVERS,radeon" + + if [ $drv = i915 -o $drv = i965 ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-intel" + XORG_DRIVERS="$XORG_DRIVERS intel" + DRM_DRIVERS="$DRM_DRIVERS intel" + fi + + if [ $drv = r200 -o $drv = r300 -o $drv = r600 -o $drv = radeon ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-radeon" + XORG_DRIVERS="$XORG_DRIVERS ati" + DRM_DRIVERS="$DRM_DRIVERS radeon" + fi + + if [ $drv = nouveau ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-nouveau" + XORG_DRIVERS="$XORG_DRIVERS nouveau" + DRM_DRIVERS="$DRM_DRIVERS nouveau" + fi + + done +} \ No newline at end of file diff --git a/projects/intel/options b/projects/intel/options index 5498cc765d..139ef8b816 100644 --- a/projects/intel/options +++ b/projects/intel/options @@ -1,7 +1,7 @@ # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="#######################################################" GREATING1="# Welcome to OpenELEC - the powerfull Mediacenter4you #" - GREATING2="# visit http://www.openelec.tv #" + GREATING2="# .......... visit http://www.openelec.tv .......... #" GREATING3="#######################################################" GREATING4="" @@ -17,13 +17,9 @@ # Displayserver to use (wayland / xorg-server / no) DISPLAYSERVER=xorg-server -# X.org drivers to use (all / ati,intel) -# Space separated list is supported, e.g. XORG_DRIVERS="ati intel" - XORG_DRIVERS="intel" - -# DRI drivers to use (i915, i965, radeon) -# Comma separated list is supported, e.g. DRIDRIVERS="i915,i965,radeon,swrast" - DRIDRIVERS="i965" +# Graphic drivers to use (all / i915,i965,r200,r300,r600,radeon,nouveau) +# Space separated list is supported, e.g. GRAPHIC_DRIVERS="i915 i965 radeon nouveau" + GRAPHIC_DRIVERS="i965" # MESA to use (Mesa / Mesa-master) MESA=Mesa-master @@ -49,3 +45,37 @@ if [ "$DISPLAYSERVER" = xorg-server ]; then elif [ "$DISPLAYSERVER" = wayland ]; then CAIRO=cairo-drm fi + +get_graphicdrivers() { + if [ "$GRAPHIC_DRIVERS" = all ]; then + GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nouveau" + fi + + for drv in $GRAPHIC_DRIVERS; do + [ $drv = i915 ] && MESA_DRIVERS="$MESA_DRIVERS,i915" + [ $drv = i965 ] && MESA_DRIVERS="$MESA_DRIVERS,i965" + [ $drv = r200 ] && MESA_DRIVERS="$MESA_DRIVERS,r200" + [ $drv = r300 ] && MESA_DRIVERS="$MESA_DRIVERS,r300" + [ $drv = r600 ] && MESA_DRIVERS="$MESA_DRIVERS,r600" + [ $drv = radeon ] && MESA_DRIVERS="$MESA_DRIVERS,radeon" + + if [ $drv = i915 -o $drv = i965 ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-intel" + XORG_DRIVERS="$XORG_DRIVERS intel" + DRM_DRIVERS="$DRM_DRIVERS intel" + fi + + if [ $drv = r200 -o $drv = r300 -o $drv = r600 -o $drv = radeon ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-radeon" + XORG_DRIVERS="$XORG_DRIVERS ati" + DRM_DRIVERS="$DRM_DRIVERS radeon" + fi + + if [ $drv = nouveau ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-nouveau" + XORG_DRIVERS="$XORG_DRIVERS nouveau" + DRM_DRIVERS="$DRM_DRIVERS nouveau" + fi + + done +} \ No newline at end of file diff --git a/projects/wayland/options b/projects/wayland/options index c972beedee..e107c4cb92 100644 --- a/projects/wayland/options +++ b/projects/wayland/options @@ -1,7 +1,7 @@ # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="#######################################################" GREATING1="# Welcome to OpenELEC - the powerfull Mediacenter4you #" - GREATING2="# visit http://www.openelec.tv #" + GREATING2="# .......... visit http://www.openelec.tv .......... #" GREATING3="#######################################################" GREATING4="" @@ -9,21 +9,17 @@ ROOT_PASSWORD="openelec" # Mediacenter to use (moovida / mythtv / no) - MEDIACENTER=no + MEDIACENTER=moovida # build with network support (yes / no) NETWORK=yes # Displayserver to use (wayland / xorg-server / no) - DISPLAYSERVER=wayland + DISPLAYSERVER=xorg-server -# X.org drivers to use (all / ati,intel) -# Space separated list is supported, e.g. XORG_DRIVERS="ati intel" - XORG_DRIVERS="intel" - -# DRI drivers to use (i915, i965, radeon) -# Comma separated list is supported, e.g. DRIDRIVERS="i915,i965,radeon,swrast" - DRIDRIVERS="radeon,i965" +# Graphic drivers to use (all / i915,i965,r200,r300,r600,radeon,nouveau) +# Space separated list is supported, e.g. GRAPHIC_DRIVERS="i915 i965 radeon nouveau" + GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon" # MESA to use (Mesa / Mesa-master) MESA=Mesa-master @@ -32,10 +28,10 @@ LIBDRM=libdrm # build with games support (yes / no) - GAMES=no + GAMES=yes # build with emulator support (yes / no) - EMULATORS=no + EMULATORS=yes # Coreboot support (yes / no) COREBOOT=no @@ -49,3 +45,37 @@ if [ "$DISPLAYSERVER" = xorg-server ]; then elif [ "$DISPLAYSERVER" = wayland ]; then CAIRO=cairo-drm fi + +get_graphicdrivers() { + if [ "$GRAPHIC_DRIVERS" = all ]; then + GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nouveau" + fi + + for drv in $GRAPHIC_DRIVERS; do + [ $drv = i915 ] && MESA_DRIVERS="$MESA_DRIVERS,i915" + [ $drv = i965 ] && MESA_DRIVERS="$MESA_DRIVERS,i965" + [ $drv = r200 ] && MESA_DRIVERS="$MESA_DRIVERS,r200" + [ $drv = r300 ] && MESA_DRIVERS="$MESA_DRIVERS,r300" + [ $drv = r600 ] && MESA_DRIVERS="$MESA_DRIVERS,r600" + [ $drv = radeon ] && MESA_DRIVERS="$MESA_DRIVERS,radeon" + + if [ $drv = i915 -o $drv = i965 ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-intel" + XORG_DRIVERS="$XORG_DRIVERS intel" + DRM_DRIVERS="$DRM_DRIVERS intel" + fi + + if [ $drv = r200 -o $drv = r300 -o $drv = r600 -o $drv = radeon ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-radeon" + XORG_DRIVERS="$XORG_DRIVERS ati" + DRM_DRIVERS="$DRM_DRIVERS radeon" + fi + + if [ $drv = nouveau ]; then + MESA_CONFIG="$MESA_CONFIG --enable-gallium-nouveau" + XORG_DRIVERS="$XORG_DRIVERS nouveau" + DRM_DRIVERS="$DRM_DRIVERS nouveau" + fi + + done +} \ No newline at end of file