diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-031-disable_overlay_renderer_for_MESA_older_then_7.7.1_on_linux.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-031-disable_overlay_renderer_for_MESA_older_then_7.7.1_on_linux.patch new file mode 100644 index 0000000000..81f2957450 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-031-disable_overlay_renderer_for_MESA_older_then_7.7.1_on_linux.patch @@ -0,0 +1,111 @@ +diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej +--- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej 1970-01-01 01:00:00.000000000 +0100 ++++ xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej 2011-08-22 05:09:40.801478536 +0200 +@@ -0,0 +1,38 @@ ++--- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++++ xbmc/cores/dvdplayer/DVDPlayerVideo.cpp ++@@ -20,6 +20,7 @@ ++ */ ++ ++ #include "system.h" +++#include "windowing/WindowingFactory.h" ++ #include "settings/AdvancedSettings.h" ++ #include "settings/GUISettings.h" ++ #include "settings/Settings.h" ++@@ -829,16 +830,17 @@ ++ ++ if(pSource->format == DVDVideoPicture::FMT_YUV420P) ++ { ++-#ifdef _LINUX ++- // for now use cpu for ssa overlays as it currently allocates and ++- // frees textures for each frame this causes a hugh memory leak ++- // on some mesa intel drivers ++- ++- if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU) ++- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE) ++- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) ) ++- render = OVERLAY_BUF; ++-#endif +++ if(g_Windowing.GetRenderQuirks() & RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER) +++ { +++ // for now use cpu for ssa overlays as it currently allocates and +++ // frees textures for each frame this causes a hugh memory leak +++ // on some mesa intel drivers +++ +++ if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU) +++ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE) +++ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) ) +++ render = OVERLAY_BUF; +++ } ++ ++ if(render == OVERLAY_BUF) ++ { +diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.cpp xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.cpp +--- xbmc-10.1-Dharma/xbmc/RenderSystem.cpp 2011-03-08 02:49:14.000000000 +0100 ++++ xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.cpp 2011-08-22 05:10:30.353131282 +0200 +@@ -29,6 +29,7 @@ + m_RenderVersionMajor = 0; + m_RenderVersionMinor = 0; + m_renderCaps = 0; ++ m_renderQuirks = 0; + m_minDXTPitch = 0; + } + +diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp +--- xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp 2011-03-08 02:49:14.000000000 +0100 ++++ xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp 2011-08-22 05:10:58.079496562 +0200 +@@ -65,8 +65,22 @@ + } + } + #endif +- if (m_RenderVendor.Equals("Tungsten Graphics, Inc.")) ++ if (m_RenderVendor.Equals("Tungsten Graphics, Inc.") ++ || m_RenderVendor.Equals("Tungsten Graphics, Inc")) + { ++ unsigned major, minor, micro; ++ if(sscanf(m_RenderVersion.c_str(), "%*s Mesa %u.%u.%u", &major, &minor, µ) == 3) ++ { ++ ++ if((major < 7) ++ || (major == 7 && minor < 7) ++ || (major == 7 && minor == 7 && micro < 1)) ++ m_renderQuirks |= RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER; ++ ++ } ++ else ++ CLog::Log(LOGNOTICE, "CRenderSystemGL::CheckOpenGLQuirks - unable to parse mesa version string"); ++ + if(m_RenderRenderer.Find("Poulsbo") >= 0) + m_renderCaps &= ~RENDER_CAPS_DXT_NPOT; + } +diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.h xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h +--- xbmc-10.1-Dharma/xbmc/RenderSystem.h 2011-03-08 02:49:14.000000000 +0100 ++++ xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h 2011-08-22 05:10:38.495238548 +0200 +@@ -52,6 +52,11 @@ + RENDER_CAPS_DXT_NPOT = (1 << 2) + }; + ++enum ++{ ++ RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER = 1 << 0, ++}; ++ + class CRenderSystemBase + { + public: +@@ -94,6 +99,7 @@ + bool SupportsNPOT(bool dxt) const; + unsigned int GetMaxTextureSize() const { return m_maxTextureSize; } + unsigned int GetMinDXTPitch() const { return m_minDXTPitch; } ++ unsigned int GetRenderQuirks() const { return m_renderQuirks; } + + protected: + bool m_bRenderCreated; +@@ -108,6 +114,7 @@ + int m_RenderVersionMinor; + int m_RenderVersionMajor; + unsigned int m_renderCaps; ++ unsigned int m_renderQuirks; + }; + + #endif // RENDER_SYSTEM_H diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-035-prefer_yv12_output_from_crystalhd_codec_when_running_nouveau_driver.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-035-prefer_yv12_output_from_crystalhd_codec_when_running_nouveau_driver.patch new file mode 100644 index 0000000000..e2dc06d263 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-035-prefer_yv12_output_from_crystalhd_codec_when_running_nouveau_driver.patch @@ -0,0 +1,89 @@ +diff -Naur xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp xbmc-10.1-Dharma.patch2/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp +--- xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp 2011-08-22 05:07:59.915149830 +0200 ++++ xbmc-10.1-Dharma.patch2/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp 2011-08-22 05:19:43.825427880 +0200 +@@ -39,6 +39,7 @@ + #include "utils/fastmemcpy.h" + #include "Codecs/DllSwScale.h" + #include "utils/TimeUtils.h" ++#include "xbmc/WindowingFactory.h" + + namespace BCM + { +@@ -233,6 +234,7 @@ + int m_width; + int m_height; + uint64_t m_timestamp; ++ bool m_output_YV12; + uint64_t m_PictureNumber; + uint8_t m_color_space; + unsigned int m_color_range; +@@ -335,6 +337,12 @@ + m_sw_scale_ctx = NULL; + m_dllSwScale = new DllSwScale; + m_dllSwScale->Load(); ++ ++ ++ if (g_Windowing.GetRenderQuirks() & RENDER_QUIRKS_YV12_PREFERED) ++ m_output_YV12 = true; ++ else ++ m_output_YV12 = false; + } + + CMPCOutputThread::~CMPCOutputThread() +@@ -773,15 +781,20 @@ + if (!pBuffer) + { + // No free pre-allocated buffers so make one +-#ifdef _WIN32 +- // force Windows to use YV12 until DX renderer gets NV12 or YUY2 capability. +- pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUV420P, m_width, m_height); +-#else +- if (m_color_space == BCM::MODE422_YUY2) +- pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUY2, m_width, m_height); ++ if (m_output_YV12) ++ { ++ // output YV12, nouveau driver has slow NV12, YUY2 capability. ++ pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUV420P, m_width, m_height); ++ } ++ + else +- pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_NV12, m_width, m_height); +-#endif ++ { ++ if (m_color_space == BCM::MODE422_YUY2) ++ pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUY2, m_width, m_height); ++ else ++ pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_NV12, m_width, m_height); ++ } ++ + CLog::Log(LOGDEBUG, "%s: Added a new Buffer, ReadyListCount: %d", __MODULE_NAME__, m_ReadyList.Count()); + while (!m_bStop && m_ReadyList.Count() > 10) + Sleep(1); +diff -Naur xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch2/xbmc/RenderSystemGL.cpp +--- xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp 2011-08-22 05:10:58.079496562 +0200 ++++ xbmc-10.1-Dharma.patch2/xbmc/RenderSystemGL.cpp 2011-08-22 05:20:56.265383606 +0200 +@@ -65,6 +65,9 @@ + } + } + #endif ++ if (m_RenderVendor.ToLower() == "nouveau") ++ m_renderQuirks |= RENDER_QUIRKS_YV12_PREFERED; ++ + if (m_RenderVendor.Equals("Tungsten Graphics, Inc.") + || m_RenderVendor.Equals("Tungsten Graphics, Inc")) + { +diff -Naur xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h xbmc-10.1-Dharma.patch2/xbmc/RenderSystem.h +--- xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h 2011-08-22 05:10:38.495238548 +0200 ++++ xbmc-10.1-Dharma.patch2/xbmc/RenderSystem.h 2011-08-22 05:19:43.847428169 +0200 +@@ -57,6 +57,11 @@ + RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER = 1 << 0, + }; + ++enum ++{ ++ RENDER_QUIRKS_YV12_PREFERED = 1 << 1, ++}; ++ + class CRenderSystemBase + { + public: diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-335-Python_parse_had_wrong_native_type-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-335-Python_parse_had_wrong_native_type-0.1.patch new file mode 100644 index 0000000000..27823a10ab --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-335-Python_parse_had_wrong_native_type-0.1.patch @@ -0,0 +1,12 @@ +diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp +--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp 2011-03-08 02:49:14.000000000 +0100 ++++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp 2011-08-21 17:13:13.382281536 +0200 +@@ -74,7 +74,7 @@ + if (!PyArg_ParseTupleAndKeywords( + args, + kwds, +- (char*)"iOO|bl", ++ (char*)"iOO|bi", + (char**)keywords, + &handle, + &pURL, diff --git a/packages/x11/driver/xf86-video-intel/meta b/packages/x11/driver/xf86-video-intel/meta index 97f6cb2ee8..5845324062 100644 --- a/packages/x11/driver/xf86-video-intel/meta +++ b/packages/x11/driver/xf86-video-intel/meta @@ -26,7 +26,7 @@ PKG_LICENSE="OSS" PKG_SITE="http://intellinuxgraphics.org/" PKG_URL="http://xorg.freedesktop.org/archive/individual/driver/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="udev" -PKG_BUILD_DEPENDS="toolchain util-macros util-macros fontsproto udev xorg-server" +PKG_BUILD_DEPENDS="toolchain util-macros fontsproto udev xorg-server" PKG_PRIORITY="optional" PKG_SECTION="x11/driver" PKG_SHORTDESC="xf86-video-intel: The Xorg driver for Intel video chips" diff --git a/projects/ATV/options b/projects/ATV/options index 24627e62ca..3b3c33044f 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -186,9 +186,6 @@ # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon nvidia nouveau" GRAPHIC_DRIVERS="nouveau" -# use linux-next (latest rc) instead latest released version - LINUX_NEXT="no" - # Use VDPAU video acceleration (needs nVidia driver and a supported card) VDPAU="no" diff --git a/projects/Fusion/options b/projects/Fusion/options index 40399f805a..fdcff175fc 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -75,7 +75,7 @@ OPTIMIZATIONS="speed" # Project CFLAGS - PROJECT_CFLAGS="-mfpmath=sse -msse2 -mssse3" + PROJECT_CFLAGS="-mfpmath=sse -msse2" # -mssse3 removed for Llano compatibility # LTO (Link Time Optimazion) support LTO_SUPPORT="no" @@ -186,9 +186,6 @@ # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon fglrx nvidia nouveau" GRAPHIC_DRIVERS="fglrx" -# use linux-next (latest rc) instead latest released version - LINUX_NEXT="no" - # Use VDPAU video acceleration (needs nVidia driver and a supported card) VDPAU="no" diff --git a/projects/Generic/options b/projects/Generic/options index dc334343ec..c01e60d6d1 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -186,10 +186,7 @@ # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 nvidia nouveau" GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 nvidia vmware" -# Use VDPAU video# use linux-next (latest rc) instead latest released version - LINUX_NEXT="no" - -# acceleration (needs nVidia driver and a supported card) +# Use VDPAU video acceleration (needs nVidia driver and a supported card) VDPAU="yes" # Use VAAPI video acceleration (needs intel i965 driver and a supported card) diff --git a/projects/ION/options b/projects/ION/options index f599510297..5860c36665 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -186,9 +186,6 @@ # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon nvidia nouveau" GRAPHIC_DRIVERS="nvidia" -# use linux-next (latest rc) instead latest released version - LINUX_NEXT="no" - # Use VDPAU video acceleration (needs nVidia driver and a supported card) VDPAU="yes" diff --git a/projects/Intel/options b/projects/Intel/options index 4668ece979..17df78b970 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -186,9 +186,6 @@ # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon nvidia nouveau" GRAPHIC_DRIVERS="i915 i965" -# use linux-next (latest rc) instead latest released version - LINUX_NEXT="no" - # Use VDPAU video acceleration (needs nVidia driver and a supported card) VDPAU="no" diff --git a/projects/Ultra/options b/projects/Ultra/options index 89d6656ff3..cd377a520e 100644 --- a/projects/Ultra/options +++ b/projects/Ultra/options @@ -186,9 +186,6 @@ # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon nvidia nouveau" GRAPHIC_DRIVERS="nvidia" -# use linux-next (latest rc) instead latest released version - LINUX_NEXT="no" - # Use VDPAU video acceleration (needs nVidia driver and a supported card) VDPAU="yes" diff --git a/scripts/image b/scripts/image index 03747fec92..6485ffaa63 100755 --- a/scripts/image +++ b/scripts/image @@ -139,7 +139,7 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION" # Update support [ "$UPDATE_SUPPORT" = "yes" ] && $SCRIPTS/install autoupdate -# Update support +# Installer support [ "$INSTALLER_SUPPORT" = "yes" ] && $SCRIPTS/install installer # Devtools... (not for Release)