mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
xbmc (Gotham): update to xbmc-57f529b, update XVBA/VDPAU patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
0d438c5a43
commit
d883923eb2
@ -21,7 +21,7 @@
|
||||
PKG_NAME="xbmc-theme-Confluence"
|
||||
PKG_VERSION="12.2.0"
|
||||
if [ "$XBMC" = "master" ]; then
|
||||
PKG_VERSION="31f386c"
|
||||
PKG_VERSION="57f529b"
|
||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||
PKG_VERSION="aml-frodo-d9119f2"
|
||||
fi
|
||||
|
@ -21,7 +21,7 @@
|
||||
PKG_NAME="xbmc"
|
||||
PKG_VERSION="12.2.0"
|
||||
if [ "$XBMC" = "master" ]; then
|
||||
PKG_VERSION="31f386c"
|
||||
PKG_VERSION="57f529b"
|
||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||
PKG_VERSION="aml-frodo-d9119f2"
|
||||
fi
|
||||
|
@ -1,60 +0,0 @@
|
||||
From d4c34400b9bdebbb1a943603a54fdf207034ddd1 Mon Sep 17 00:00:00 2001
|
||||
From: Dag Wieers <dag@wieers.com>
|
||||
Date: Sat, 20 Apr 2013 02:59:47 +0200
|
||||
Subject: [PATCH] Increase USB and CEC rescan interval to 5 seconds
|
||||
|
||||
In one of my investigations to see why XBMC performance is so bad (even when idle) I found one of the threads (in my case PeripheralBusCEC) scan a big sysfs tree recursively. On the 1Ghz AppleTV 1 device this would be about 2% of the CPU *every* second. For the USB thread we luckily have Udev events, but for CEC it is using sysfs polling which is quite expensive. It would be better to make use of Udev as well for CEC (where available) however 5 seconds should be fine for everyone.
|
||||
|
||||
In my own builds I even brought it down to 30 seconds. Which means 29 seconds of reduced CPU usage.
|
||||
|
||||
The CEC polling probably should be more restricted to specific sysfs sections, or preferably use Udev as well, when available.
|
||||
|
||||
PS XBMC needs a special idle-state where it can turn down these expensive threads to make sure hardware can go into deeper sleep states. Especially for devices that doesn't do suspend for various reasons this is a requirement. (The ATV1 device for instance gets warm even when idle) If we can combine display-sleep with low-power states and a less expensive main-loop, that would be already quite an improvement without needing a complete refactoring of the code.
|
||||
---
|
||||
xbmc/peripherals/bus/PeripheralBus.cpp | 2 +-
|
||||
xbmc/peripherals/bus/PeripheralBus.h | 2 +-
|
||||
xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/xbmc/peripherals/bus/PeripheralBus.cpp b/xbmc/peripherals/bus/PeripheralBus.cpp
|
||||
index 0e673ee..f0219f1 100644
|
||||
--- a/xbmc/peripherals/bus/PeripheralBus.cpp
|
||||
+++ b/xbmc/peripherals/bus/PeripheralBus.cpp
|
||||
@@ -27,7 +27,7 @@
|
||||
using namespace std;
|
||||
using namespace PERIPHERALS;
|
||||
|
||||
-#define PERIPHERAL_DEFAULT_RESCAN_INTERVAL 1000
|
||||
+#define PERIPHERAL_DEFAULT_RESCAN_INTERVAL 5000
|
||||
|
||||
CPeripheralBus::CPeripheralBus(CPeripherals *manager, PeripheralBusType type) :
|
||||
CThread("PeripheralBus"),
|
||||
diff --git a/xbmc/peripherals/bus/PeripheralBus.h b/xbmc/peripherals/bus/PeripheralBus.h
|
||||
index cc368ac..24e1524 100644
|
||||
--- a/xbmc/peripherals/bus/PeripheralBus.h
|
||||
+++ b/xbmc/peripherals/bus/PeripheralBus.h
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
/*!
|
||||
* @class CPeripheralBus
|
||||
- * This represents a bus on the system. By default, this bus instance will scan for changes every second.
|
||||
+ * This represents a bus on the system. By default, this bus instance will scan for changes every 5 seconds.
|
||||
* If this bus only has to be updated after a notification sent by the system, set m_bNeedsPolling to false
|
||||
* in the constructor, and implement the OnDeviceAdded(), OnDeviceChanged() and OnDeviceRemoved() methods.
|
||||
*
|
||||
diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
|
||||
index da169c1..0db7423 100644
|
||||
--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
|
||||
+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
|
||||
@@ -57,7 +57,7 @@ class PERIPHERALS::DllLibCEC : public DllDynamic, DllLibCECInterface
|
||||
m_dll(new DllLibCEC),
|
||||
m_cecAdapter(NULL)
|
||||
{
|
||||
- m_iRescanTime = 1000;
|
||||
+ m_iRescanTime = 5000;
|
||||
if (!m_dll->Load() || !m_dll->IsLoaded())
|
||||
{
|
||||
delete m_dll;
|
||||
--
|
||||
1.8.1.6
|
||||
|
@ -0,0 +1,169 @@
|
||||
diff -Naur xbmc-frodo-0ff0d2e/configure.in xbmc-frodo-0ff0d2e.patch/configure.in
|
||||
--- xbmc-frodo-0ff0d2e/configure.in 2012-10-11 15:45:44.000000000 +0200
|
||||
+++ xbmc-frodo-0ff0d2e.patch/configure.in 2012-10-11 16:49:08.872850880 +0200
|
||||
@@ -452,6 +452,12 @@
|
||||
[use_texturepacker=$enableval],
|
||||
[use_texturepacker=auto])
|
||||
|
||||
+AC_ARG_WITH([texturepacker-root],
|
||||
+ [AS_HELP_STRING([--with-texturepacker-root],
|
||||
+ [root dir to search for librarys and includes if building native TexturePacker (default is \$prefix)])],
|
||||
+ [use_texturepacker_root=$withval],
|
||||
+ [use_texturepacker_root=$prefix])
|
||||
+
|
||||
AC_ARG_WITH([lirc-device],
|
||||
[AS_HELP_STRING([--with-lirc-device=file],
|
||||
[specify the default LIRC device (default is /dev/lircd)])],
|
||||
@@ -2000,13 +2006,13 @@
|
||||
|
||||
USE_TEXTUREPACKER_NATIVE=0
|
||||
if test "x$use_texturepacker" != "xno"; then
|
||||
- final_message="$final_message\n TexturePacker:Yes"
|
||||
USE_TEXTUREPACKER=1
|
||||
- if test "x$use_texturepacker_native" = "xyes"; then
|
||||
+ if test "x$cross_compiling" = "xyes"; then
|
||||
USE_TEXTUREPACKER_NATIVE=1
|
||||
- if [[ ! -d "$USE_TEXTUREPACKER_NATIVE_ROOT" ]]; then
|
||||
- USE_TEXTUREPACKER_NATIVE_ROOT=
|
||||
- fi
|
||||
+ USE_TEXTUREPACKER_NATIVE_ROOT="$use_texturepacker_root"
|
||||
+ final_message="$final_message\n TexturePacker:Native ($USE_TEXTUREPACKER_NATIVE_ROOT)"
|
||||
+ else
|
||||
+ final_message="$final_message\n TexturePacker:Yes"
|
||||
fi
|
||||
else
|
||||
final_message="$final_message\n TexturePacker:No"
|
||||
diff -Naur xbmc-frodo-0ff0d2e/lib/libsquish/Makefile.in xbmc-frodo-0ff0d2e.patch/lib/libsquish/Makefile.in
|
||||
--- xbmc-frodo-0ff0d2e/lib/libsquish/Makefile.in 2012-10-11 15:47:26.000000000 +0200
|
||||
+++ xbmc-frodo-0ff0d2e.patch/lib/libsquish/Makefile.in 2012-10-11 16:49:08.873850900 +0200
|
||||
@@ -11,26 +11,25 @@
|
||||
singlecolourfit.cpp \
|
||||
squish.cpp
|
||||
|
||||
-CXXFLAGS+=-I.
|
||||
-
|
||||
-LIB=libsquish.a
|
||||
-
|
||||
-ifeq (@USE_TEXTUREPACKER_NATIVE@,1)
|
||||
-NATIVE_LIB=libsquish-native.so
|
||||
-CLEAN_FILES+=$(NATIVE_LIB)
|
||||
+LIB = libsquish.a
|
||||
+NATIVE_LIB = libsquish-native.so
|
||||
+CLEAN_FILES += $(NATIVE_LIB)
|
||||
+
|
||||
+HOST_CXX ?= g++
|
||||
+CXXFLAGS += -I.
|
||||
+HOST_CXXFLAGS += -I.
|
||||
|
||||
ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
|
||||
-NATIVE_ARCH=@DARWIN_NATIVE_ARCH@
|
||||
+ HOST_CXXFLAGS += @DARWIN_NATIVE_ARCH@
|
||||
endif
|
||||
|
||||
-all: $(LIB) $(NATIVE_LIB)
|
||||
+$(LIB): $(SRCS)
|
||||
# TexturePacker links to libsquish and needs to run on build system, so make a native flavor.
|
||||
$(NATIVE_LIB): $(SRCS)
|
||||
ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
|
||||
- g++ $(NATIVE_ARCH) -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
|
||||
+ $(HOST_CXX) $(HOST_CXXFLAGS) $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
|
||||
else
|
||||
- g++ -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
|
||||
-endif
|
||||
+ $(HOST_CXX) $(HOST_CXXFLAGS) $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
|
||||
endif
|
||||
|
||||
include ../../Makefile.include
|
||||
diff -Naur xbmc-frodo-0ff0d2e/tools/TexturePacker/Makefile.in xbmc-frodo-0ff0d2e.patch/tools/TexturePacker/Makefile.in
|
||||
--- xbmc-frodo-0ff0d2e/tools/TexturePacker/Makefile.in 2012-10-11 15:47:05.000000000 +0200
|
||||
+++ xbmc-frodo-0ff0d2e.patch/tools/TexturePacker/Makefile.in 2012-10-11 16:49:08.874850920 +0200
|
||||
@@ -1,56 +1,54 @@
|
||||
-DEFINES += -DTARGET_POSIX -DUSE_LZO_PACKING
|
||||
+DEFINES += -DTARGET_POSIX -DUSE_LZO_PACKING
|
||||
ifneq ($(or $(findstring powerpc,@ARCH@),$(findstring ppc, @ARCH@)),)
|
||||
-DEFINES += -DHOST_BIGENDIAN
|
||||
+DEFINES += -DHOST_BIGENDIAN
|
||||
endif
|
||||
|
||||
-CXXFLAGS+= \
|
||||
+SRCS = \
|
||||
+ md5.cpp \
|
||||
+ SDL_anigif.cpp \
|
||||
+ XBTFWriter.cpp \
|
||||
+ XBMCTex.cpp \
|
||||
+ @abs_top_srcdir@/xbmc/guilib/XBTF.cpp
|
||||
+
|
||||
+TARGET = TexturePacker
|
||||
+CLEAN_FILES = $(TARGET)
|
||||
+
|
||||
+all: $(TARGET)
|
||||
+
|
||||
+HOST_CXX ?= g++
|
||||
+HOST_ROOT_PATH = @USE_TEXTUREPACKER_NATIVE_ROOT@
|
||||
+
|
||||
+LIBS += -lSDL_image -lSDL -llzo2
|
||||
+LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish
|
||||
+HOST_LIBS += -L$(HOST_ROOT_PATH)/lib -lSDL_image -lSDL -llzo2
|
||||
+HOST_LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native
|
||||
+
|
||||
+CXXFLAGS += \
|
||||
-I. \
|
||||
-I@abs_top_srcdir@/lib \
|
||||
-I@abs_top_srcdir@/xbmc \
|
||||
-I@abs_top_srcdir@/xbmc/linux
|
||||
|
||||
-RPATH=-Wl,-rpath=$(NATIVE_ROOT_PATH)/lib
|
||||
+HOST_CXXFLAGS += \
|
||||
+ -I. \
|
||||
+ -I@abs_top_srcdir@/lib \
|
||||
+ -I@abs_top_srcdir@/xbmc \
|
||||
+ -I@abs_top_srcdir@/xbmc/linux \
|
||||
+ -I$(HOST_ROOT_PATH)/include
|
||||
+
|
||||
+RPATH=-Wl,-rpath=$(HOST_ROOT_PATH)/lib
|
||||
|
||||
-ifeq (@USE_TEXTUREPACKER_NATIVE@,1)
|
||||
-NATIVE_ROOT_PATH=@USE_TEXTUREPACKER_NATIVE_ROOT@
|
||||
-ifdef NATIVE_ROOT_PATH
|
||||
ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
|
||||
DEFINES += -DTARGET_DARWIN
|
||||
NATIVE_ARCH=@DARWIN_NATIVE_ARCH@
|
||||
RPATH=
|
||||
endif
|
||||
-NATIVE_CXXFLAGS+= -I. \
|
||||
- -I$(NATIVE_ROOT_PATH)/include \
|
||||
- -I@abs_top_srcdir@/lib \
|
||||
- -I@abs_top_srcdir@/xbmc \
|
||||
- -I@abs_top_srcdir@/xbmc/linux
|
||||
-NATIVE_LIBS += -L$(NATIVE_ROOT_PATH)/lib
|
||||
-endif
|
||||
-NATIVE_LIBS += -lSDL_image -lSDL -llzo2
|
||||
-NATIVE_LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native
|
||||
-else
|
||||
-LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish
|
||||
-endif
|
||||
-
|
||||
-LIBS += -lSDL_image -lSDL -llzo2
|
||||
-
|
||||
-SRCS = \
|
||||
- md5.cpp \
|
||||
- SDL_anigif.cpp \
|
||||
- XBTFWriter.cpp \
|
||||
- XBMCTex.cpp \
|
||||
- @abs_top_srcdir@/xbmc/guilib/XBTF.cpp
|
||||
-
|
||||
-
|
||||
-TARGET = TexturePacker
|
||||
-CLEAN_FILES=$(TARGET)
|
||||
-
|
||||
-all: $(TARGET)
|
||||
|
||||
ifeq (@USE_TEXTUREPACKER_NATIVE@,1)
|
||||
# TexturePacker run native on build system, build it with native tools
|
||||
$(TARGET): $(SRCS) @abs_top_srcdir@/xbmc/guilib/XBTF.h
|
||||
- g++ $(DEFINES) $(NATIVE_ARCH) $(NATIVE_CXXFLAGS) $(SRCS) $(NATIVE_LIBS) $(RPATH) -o $(TARGET)
|
||||
+ make -C @abs_top_srcdir@/lib/libsquish libsquish-native.so
|
||||
+ $(HOST_CXX) $(DEFINES) $(NATIVE_ARCH) $(HOST_CXXFLAGS) $(SRCS) $(HOST_LIBS) $(RPATH) -o $(TARGET)
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
else
|
@ -0,0 +1,19 @@
|
||||
diff -Naur xbmc-frodo-5ea1d22/xbmc/interfaces/python/XBPython.cpp xbmc-frodo-5ea1d22.patch/xbmc/interfaces/python/XBPython.cpp
|
||||
--- xbmc-frodo-5ea1d22/xbmc/interfaces/python/XBPython.cpp 2012-09-05 13:28:20.000000000 +0200
|
||||
+++ xbmc-frodo-5ea1d22.patch/xbmc/interfaces/python/XBPython.cpp 2012-09-05 15:50:42.642317031 +0200
|
||||
@@ -525,11 +525,10 @@
|
||||
// at http://docs.python.org/using/cmdline.html#environment-variables
|
||||
|
||||
#if !defined(TARGET_WINDOWS) && !defined(TARGET_ANDROID)
|
||||
- /* PYTHONOPTIMIZE is set off intentionally when using external Python.
|
||||
- Reason for this is because we cannot be sure what version of Python
|
||||
- was used to compile the various Python object files (i.e. .pyo,
|
||||
- .pyc, etc.). */
|
||||
- // check if we are running as real xbmc.app or just binary
|
||||
+ // Required for python to find optimized code (pyo) files
|
||||
+ setenv("PYTHONOPTIMIZE", "1", 1);
|
||||
+
|
||||
+ // check if we are running as real xbmc.app or just binary
|
||||
if (!CUtil::GetFrameworksPath(true).IsEmpty())
|
||||
{
|
||||
// using external python, it's build looking for xxx/lib/python2.6
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user