+@@ -320,6 +322,7 @@
+ OSD
+ OSD
+ OSD
++
+ Info
+ ActivateWindow(VisualisationPresetList)
+ Addon.Default.OpenSettings(xbmc.player.musicviz)
+@@ -342,6 +345,7 @@
+ SkipNext
+ SkipPrevious
+ Back
++
+ Info
+ CodecInfo
+ ActivateWindow(VisualisationPresetList)
+@@ -418,6 +422,7 @@
+
+
+ Back
++
+ Back
+ Info
+ CodecInfo
+@@ -428,6 +433,7 @@
+ BigStepForward
+ BigStepBack
+ OSD
++
+ Info
+ CodecInfo
+ AspectRatio
diff --git a/packages/mediacenter/kodi/patches/kodi-999.32-KEY_ZOOM.patch b/packages/mediacenter/kodi/patches/kodi-999.32-KEY_ZOOM.patch
new file mode 100644
index 0000000000..11f72ae78d
--- /dev/null
+++ b/packages/mediacenter/kodi/patches/kodi-999.32-KEY_ZOOM.patch
@@ -0,0 +1,63 @@
+diff -Naur kodi-15.2-02e7013/system/keymaps/keyboard.xml kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml
+--- kodi-15.2-02e7013/system/keymaps/keyboard.xml 2015-10-21 23:41:22.816835383 +0200
++++ kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml 2015-10-21 23:45:30.468434393 +0200
+@@ -261,6 +261,7 @@
+ Info
+ CodecInfo
+ AspectRatio
++ AspectRatio
+ ShowSubtitles
+ SubtitleAlign
+ NextSubtitle
+@@ -428,6 +429,7 @@
+ Info
+ CodecInfo
+ AspectRatio
++ AspectRatio
+ ShowSubtitles
+ NextSubtitle
+ AudioDelay
+diff -Naur kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp
+--- kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-21 23:41:22.815835358 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-21 23:43:12.144171466 +0200
+@@ -253,6 +253,7 @@
+ { KEY_PRINT , XBMCK_PRINT },
+ { KEY_QUESTION , XBMCK_HELP },
+ { KEY_BACK , XBMCK_BACKSPACE },
++ { KEY_ZOOM , XBMCK_ZOOM },
+ // The Little Black Box Remote Additions
+ { 384 , XBMCK_LEFT }, // Red
+ { 378 , XBMCK_RIGHT }, // Green
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h 2015-10-20 23:51:46.000000000 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h 2015-10-22 10:28:02.144619319 +0200
+@@ -224,6 +224,7 @@
+ XBMCK_GREEN = 0x148,
+ XBMCK_YELLOW = 0x149,
+ XBMCK_BLUE = 0x14a,
++ XBMCK_ZOOM = 0x14b,
+
+ // Add any other keys here
+
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp 2015-10-20 23:51:46.000000000 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp 2015-10-22 10:32:56.784811569 +0200
+@@ -238,6 +238,7 @@
+ , { XBMCK_GREEN, 0, 0, XBMCVK_GREEN, "green" }
+ , { XBMCK_YELLOW, 0, 0, XBMCVK_YELLOW, "yellow" }
+ , { XBMCK_BLUE, 0, 0, XBMCVK_BLUE, "blue" }
++, { XBMCK_ZOOM, 0, 0, XBMCVK_ZOOM, "zoom" }
+ };
+
+ static int XBMCKeyTableSize = sizeof(XBMCKeyTable)/sizeof(XBMCKEYTABLE);
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h 2015-10-20 23:51:46.000000000 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h 2015-10-22 10:33:50.039123956 +0200
+@@ -216,6 +216,7 @@
+ XBMCVK_GREEN = 0xE4,
+ XBMCVK_YELLOW = 0xE5,
+ XBMCVK_BLUE = 0xE6,
++ XBMCVK_ZOOM = 0xE7,
+
+ XBMCVK_LAST = 0xFF
+ } XBMCVKey;
diff --git a/packages/mediacenter/kodi/patches/kodi-999.33-KEY_TEXT.patch b/packages/mediacenter/kodi/patches/kodi-999.33-KEY_TEXT.patch
new file mode 100644
index 0000000000..59007a46c6
--- /dev/null
+++ b/packages/mediacenter/kodi/patches/kodi-999.33-KEY_TEXT.patch
@@ -0,0 +1,95 @@
+diff -Naur kodi-15.2-02e7013/system/keymaps/keyboard.xml kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml
+--- kodi-15.2-02e7013/system/keymaps/keyboard.xml 2015-10-22 12:34:25.400782034 +0200
++++ kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml 2015-10-22 12:41:46.849456385 +0200
+@@ -273,6 +273,7 @@
+ Fullscreen
+ Playlist
+ ActivateWindow(Teletext)
++ ActivateWindow(Teletext)
+ SubtitleShiftUp
+ SubtitleShiftDown
+ SkipNext
+@@ -318,6 +319,7 @@
+ Info
+ ActivateWindow(VisualisationPresetList)
+ Addon.Default.OpenSettings(xbmc.player.musicviz)
++ Addon.Default.OpenSettings(xbmc.player.musicviz)
+ ActivateWindow(MusicPlaylist)
+ StepBack
+ StepForward
+@@ -342,6 +344,7 @@
+ CodecInfo
+ ActivateWindow(VisualisationPresetList)
+ Addon.Default.OpenSettings(xbmc.player.musicviz)
++ Addon.Default.OpenSettings(xbmc.player.musicviz)
+ ActivateWindow(MusicPlaylist)
+
+
+@@ -356,6 +359,7 @@
+ CodecInfo
+ ActivateWindow(VisualisationPresetList)
+ Back
++ Back
+ ActivateWindow(MusicPlaylist)
+
+
+@@ -370,6 +374,7 @@
+ CodecInfo
+ Back
+ Back
++ Back
+ ActivateWindow(MusicPlaylist)
+
+
+@@ -519,6 +524,7 @@
+
+
+ Back
++ Back
+
+
+
+diff -Naur kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp
+--- kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-22 12:34:25.083781548 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-22 12:38:11.522120520 +0200
+@@ -254,6 +254,7 @@
+ { KEY_QUESTION , XBMCK_HELP },
+ { KEY_BACK , XBMCK_BACKSPACE },
+ { KEY_ZOOM , XBMCK_ZOOM },
++ { KEY_TEXT , XBMCK_TEXT },
+ // The Little Black Box Remote Additions
+ { 384 , XBMCK_LEFT }, // Red
+ { 378 , XBMCK_RIGHT }, // Green
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h 2015-10-22 12:34:25.082781547 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h 2015-10-22 12:37:47.986085419 +0200
+@@ -225,6 +225,7 @@
+ XBMCK_YELLOW = 0x149,
+ XBMCK_BLUE = 0x14a,
+ XBMCK_ZOOM = 0x14b,
++ XBMCK_TEXT = 0x14c,
+
+ // Add any other keys here
+
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp 2015-10-22 12:34:25.085781551 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp 2015-10-22 12:38:35.907157920 +0200
+@@ -239,6 +239,7 @@
+ , { XBMCK_YELLOW, 0, 0, XBMCVK_YELLOW, "yellow" }
+ , { XBMCK_BLUE, 0, 0, XBMCVK_BLUE, "blue" }
+ , { XBMCK_ZOOM, 0, 0, XBMCVK_ZOOM, "zoom" }
++, { XBMCK_TEXT, 0, 0, XBMCVK_TEXT, "text" }
+ };
+
+ static int XBMCKeyTableSize = sizeof(XBMCKeyTable)/sizeof(XBMCKEYTABLE);
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h 2015-10-22 12:34:25.083781548 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h 2015-10-22 12:39:09.033208840 +0200
+@@ -217,6 +217,7 @@
+ XBMCVK_YELLOW = 0xE5,
+ XBMCVK_BLUE = 0xE6,
+ XBMCVK_ZOOM = 0xE7,
++ XBMCVK_TEXT = 0xE8,
+
+ XBMCVK_LAST = 0xFF
+ } XBMCVKey;
diff --git a/packages/mediacenter/kodi/patches/kodi-999.34-KEY_FAVORITES.patch b/packages/mediacenter/kodi/patches/kodi-999.34-KEY_FAVORITES.patch
new file mode 100644
index 0000000000..163000b436
--- /dev/null
+++ b/packages/mediacenter/kodi/patches/kodi-999.34-KEY_FAVORITES.patch
@@ -0,0 +1,55 @@
+diff -Naur kodi-15.2-02e7013/system/keymaps/keyboard.xml kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml
+--- kodi-15.2-02e7013/system/keymaps/keyboard.xml 2015-10-23 11:58:14.088175555 +0200
++++ kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml 2015-10-23 12:05:41.104997901 +0200
+@@ -111,6 +111,7 @@
+
+
+ ActivateWindow(Favourites)
++ ActivateWindow(Favourites)
+ ActivateWindow(Home)
+ Mute
+ VolumeDown
+diff -Naur kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp
+--- kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-23 11:58:13.830175091 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-23 12:02:55.616691348 +0200
+@@ -255,6 +255,7 @@
+ { KEY_BACK , XBMCK_BACKSPACE },
+ { KEY_ZOOM , XBMCK_ZOOM },
+ { KEY_TEXT , XBMCK_TEXT },
++ { KEY_FAVORITES , XBMCK_FAVORITES },
+ // The Little Black Box Remote Additions
+ { 384 , XBMCK_LEFT }, // Red
+ { 378 , XBMCK_RIGHT }, // Green
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h 2015-10-23 11:58:13.830175091 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h 2015-10-23 12:00:49.718459512 +0200
+@@ -226,6 +226,7 @@
+ XBMCK_BLUE = 0x14a,
+ XBMCK_ZOOM = 0x14b,
+ XBMCK_TEXT = 0x14c,
++ XBMCK_FAVORITES = 0x14d,
+
+ // Add any other keys here
+
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp 2015-10-23 11:58:13.832175095 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp 2015-10-23 12:02:00.186589235 +0200
+@@ -240,6 +240,7 @@
+ , { XBMCK_BLUE, 0, 0, XBMCVK_BLUE, "blue" }
+ , { XBMCK_ZOOM, 0, 0, XBMCVK_ZOOM, "zoom" }
+ , { XBMCK_TEXT, 0, 0, XBMCVK_TEXT, "text" }
++, { XBMCK_FAVORITES, 0, 0, XBMCVK_FAVORITES, "favorites" }
+ };
+
+ static int XBMCKeyTableSize = sizeof(XBMCKeyTable)/sizeof(XBMCKEYTABLE);
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h 2015-10-23 11:58:13.831175093 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h 2015-10-23 12:04:24.224856326 +0200
+@@ -218,6 +218,7 @@
+ XBMCVK_BLUE = 0xE6,
+ XBMCVK_ZOOM = 0xE7,
+ XBMCVK_TEXT = 0xE8,
++ XBMCVK_FAVORITES = 0xE9,
+
+ XBMCVK_LAST = 0xFF
+ } XBMCVKey;
diff --git a/packages/mediacenter/kodi/patches/kodi-999.35-color_keys.patch b/packages/mediacenter/kodi/patches/kodi-999.35-color_keys.patch
new file mode 100644
index 0000000000..cf1770c7ba
--- /dev/null
+++ b/packages/mediacenter/kodi/patches/kodi-999.35-color_keys.patch
@@ -0,0 +1,96 @@
+diff -Naur kodi-15.2-02e7013/system/keymaps/keyboard.xml kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml
+--- kodi-15.2-02e7013/system/keymaps/keyboard.xml 2015-10-23 12:07:37.075186539 +0200
++++ kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml 2015-10-23 14:36:39.556246298 +0200
+@@ -104,6 +104,11 @@
+ ActivateWindow(RadioChannels)
+ ActivateWindow(TVRecordings)
+ ActivateWindow(TVTimers)
++
++ ActivateWindow(TVChannels)
++ ActivateWindow(MyVideos)
++ ActivateWindow(MyMusic)
++ ActivateWindow(MyPictures)
+
+ Back
+
+@@ -184,12 +189,20 @@
+
+ Delete
+ Rename
++ Red
++ Green
++ Yellow
++ Blue
+
+
+
+
+ Delete
+ Rename
++ Red
++ Green
++ Yellow
++ Blue
+
+
+
+@@ -201,12 +214,20 @@
+
+ Delete
+ Rename
++ Red
++ Green
++ Yellow
++ Blue
+
+
+
+
+ Delete
+ Rename
++ Red
++ Green
++ Yellow
++ Blue
+
+
+
+@@ -526,6 +547,10 @@
+
+ Back
+ Back
++ Red
++ Green
++ Yellow
++ Blue
+
+
+
+@@ -597,9 +622,13 @@
+
+
+ Red
++ Red
+ Green
++ Green
+ Yellow
++ Yellow
+ Blue
++ Blue
+
+
+
+diff -Naur kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp
+--- kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-23 12:07:36.796186034 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-23 14:42:02.251577960 +0200
+@@ -256,6 +256,10 @@
+ { KEY_ZOOM , XBMCK_ZOOM },
+ { KEY_TEXT , XBMCK_TEXT },
+ { KEY_FAVORITES , XBMCK_FAVORITES },
++ { KEY_RED , XBMCK_RED },
++ { KEY_GREEN , XBMCK_GREEN },
++ { KEY_YELLOW , XBMCK_YELLOW },
++ { KEY_BLUE , XBMCK_BLUE },
+ // The Little Black Box Remote Additions
+ { 384 , XBMCK_LEFT }, // Red
+ { 378 , XBMCK_RIGHT }, // Green
diff --git a/packages/mediacenter/kodi/patches/kodi-999.36-KEY_HOMEPAGE.patch b/packages/mediacenter/kodi/patches/kodi-999.36-KEY_HOMEPAGE.patch
new file mode 100644
index 0000000000..d4b3e863ca
--- /dev/null
+++ b/packages/mediacenter/kodi/patches/kodi-999.36-KEY_HOMEPAGE.patch
@@ -0,0 +1,62 @@
+diff -Naur kodi-15.2-02e7013/system/keymaps/keyboard.xml kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml
+--- kodi-15.2-02e7013/system/keymaps/keyboard.xml 2015-10-24 10:47:31.423447515 +0200
++++ kodi-15.2-02e7013.patch/system/keymaps/keyboard.xml 2015-10-24 10:51:32.346473050 +0200
+@@ -118,6 +118,7 @@
+ ActivateWindow(Favourites)
+ ActivateWindow(Favourites)
+ ActivateWindow(Home)
++ ActivateWindow(Home)
+ Mute
+ VolumeDown
+ VolumeUp
+diff -Naur kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp
+--- kodi-15.2-02e7013/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-24 10:47:31.179446989 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/linux/LinuxInputDevices.cpp 2015-10-24 10:49:34.162165486 +0200
+@@ -260,13 +260,12 @@
+ { KEY_GREEN , XBMCK_GREEN },
+ { KEY_YELLOW , XBMCK_YELLOW },
+ { KEY_BLUE , XBMCK_BLUE },
++ { KEY_HOMEPAGE , XBMCK_HOMEPAGE },
+ // The Little Black Box Remote Additions
+ { 384 , XBMCK_LEFT }, // Red
+ { 378 , XBMCK_RIGHT }, // Green
+ { 381 , XBMCK_UP }, // Yellow
+ { 366 , XBMCK_DOWN }, // Blue
+- // Rii i7 Home button / wetek openelec remote (code 172)
+- { KEY_HOMEPAGE , XBMCK_HOME },
+ };
+
+ typedef enum
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keysym.h 2015-10-24 10:47:31.179446989 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keysym.h 2015-10-24 10:48:22.081558452 +0200
+@@ -227,6 +227,7 @@
+ XBMCK_ZOOM = 0x14b,
+ XBMCK_TEXT = 0x14c,
+ XBMCK_FAVORITES = 0x14d,
++ XBMCK_HOMEPAGE = 0x14e,
+
+ // Add any other keys here
+
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp
+--- kodi-15.2-02e7013/xbmc/input/XBMC_keytable.cpp 2015-10-24 10:47:31.181446993 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_keytable.cpp 2015-10-24 10:48:59.169880939 +0200
+@@ -241,6 +241,7 @@
+ , { XBMCK_ZOOM, 0, 0, XBMCVK_ZOOM, "zoom" }
+ , { XBMCK_TEXT, 0, 0, XBMCVK_TEXT, "text" }
+ , { XBMCK_FAVORITES, 0, 0, XBMCVK_FAVORITES, "favorites" }
++, { XBMCK_HOMEPAGE , 0, 0, XBMCVK_HOMEPAGE, "homepage" }
+ };
+
+ static int XBMCKeyTableSize = sizeof(XBMCKeyTable)/sizeof(XBMCKEYTABLE);
+diff -Naur kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h
+--- kodi-15.2-02e7013/xbmc/input/XBMC_vkeys.h 2015-10-24 10:47:31.180446991 +0200
++++ kodi-15.2-02e7013.patch/xbmc/input/XBMC_vkeys.h 2015-10-24 10:50:25.548276428 +0200
+@@ -219,6 +219,7 @@
+ XBMCVK_ZOOM = 0xE7,
+ XBMCVK_TEXT = 0xE8,
+ XBMCVK_FAVORITES = 0xE9,
++ XBMCVK_HOMEPAGE = 0xEA,
+
+ XBMCVK_LAST = 0xFF
+ } XBMCVKey;
diff --git a/packages/multimedia/SDL2/package.mk b/packages/multimedia/SDL2/package.mk
index c982935d6f..17759d6da8 100644
--- a/packages/multimedia/SDL2/package.mk
+++ b/packages/multimedia/SDL2/package.mk
@@ -55,7 +55,6 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static \
--with-alsa-prefix=$SYSROOT_PREFIX/usr/lib \
--with-alsa-inc-prefix=$SYSROOT_PREFIX/usr/include \
--disable-esd --disable-esdtest --disable-esd-shared \
- --disable-pulseaudio --disable-pulseaudio-shared \
--disable-arts --disable-arts-shared \
--disable-nas --enable-nas-shared \
--disable-sndio --enable-sndio-shared \
@@ -103,6 +102,14 @@ else
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-video-opengl --disable-video-opengles"
fi
+if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
+ PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pulseaudio"
+
+ PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-pulseaudio --enable-pulseaudio-shared"
+else
+ PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-pulseaudio --disable-pulseaudio-shared"
+fi
+
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
diff --git a/packages/sysutils/dosfstools/package.mk b/packages/sysutils/dosfstools/package.mk
index 238504e512..2249dd23e2 100644
--- a/packages/sysutils/dosfstools/package.mk
+++ b/packages/sysutils/dosfstools/package.mk
@@ -40,9 +40,25 @@ make_init() {
: # reuse make_target()
}
+pre_build_host() {
+ mkdir -p $PKG_BUILD/.$HOST_NAME
+ cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
+}
+
+make_host() {
+ cd $ROOT/$PKG_BUILD/.$HOST_NAME
+ make PREFIX=/usr
+}
+
makeinstall_init() {
mkdir -p $INSTALL/sbin
cp fsck.fat $INSTALL/sbin
ln -sf fsck.fat $INSTALL/sbin/fsck.msdos
ln -sf fsck.fat $INSTALL/sbin/fsck.vfat
}
+
+makeinstall_host() {
+ mkdir -p $ROOT/$TOOLCHAIN/sbin
+ cp mkfs.fat $ROOT/$TOOLCHAIN/sbin
+ ln -sf mkfs.fat $ROOT/$TOOLCHAIN/sbin/mkfs.vfat
+}
diff --git a/packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-control b/packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-control
index 88d051794d..92d07ec0ad 100755
--- a/packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-control
+++ b/packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-control
@@ -18,11 +18,11 @@
# along with OpenELEC. If not, see .
################################################################################
-. /etc/profile
+. /usr/lib/openelec/imx6-system-type
if [ "$SYSTEM_TYPE" != "matrix" ]; then
echo "Only for TBS Matrix system."
- exit 1
+ exit 12
fi
fan_on() {
diff --git a/packages/sysutils/imx6-soc-fan/package.mk b/packages/sysutils/imx6-soc-fan/package.mk
index f7a2797720..6b9f440957 100644
--- a/packages/sysutils/imx6-soc-fan/package.mk
+++ b/packages/sysutils/imx6-soc-fan/package.mk
@@ -23,7 +23,7 @@ PKG_ARCH="arm"
PKG_LICENSE="GPL"
PKG_SITE="http://www.openelec.tv/"
PKG_URL=""
-PKG_DEPENDS_TARGET=""
+PKG_DEPENDS_TARGET="imx6-status-led"
PKG_PRIORITY="optional"
PKG_SECTION="system"
PKG_SHORTDESC="i.MX6 SoC fan monitor"
@@ -37,9 +37,13 @@ make_target() {
makeinstall_target() {
mkdir -p $INSTALL/usr/config
- cp -PR $PKG_DIR/config/* $INSTALL/usr/config
+ cp $PKG_DIR/config/* $INSTALL/usr/config
+
mkdir -p $INSTALL/usr/bin
- cp -PR $PKG_DIR/bin/* $INSTALL/usr/bin
+ cp $PKG_DIR/bin/* $INSTALL/usr/bin
+
+ mkdir -p $INSTALL/usr/lib/openelec
+ cp $PKG_DIR/scripts/* $INSTALL/usr/lib/openelec
}
post_install() {
diff --git a/packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-monitor b/packages/sysutils/imx6-soc-fan/scripts/imx6-soc-fan-monitor
similarity index 97%
rename from packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-monitor
rename to packages/sysutils/imx6-soc-fan/scripts/imx6-soc-fan-monitor
index ee7e7e8088..c27fa246a2 100755
--- a/packages/sysutils/imx6-soc-fan/bin/imx6-soc-fan-monitor
+++ b/packages/sysutils/imx6-soc-fan/scripts/imx6-soc-fan-monitor
@@ -18,11 +18,11 @@
# along with OpenELEC. If not, see .
################################################################################
-. /etc/profile
+. /usr/lib/openelec/imx6-system-type
if [ "$SYSTEM_TYPE" != "matrix" ]; then
echo "Only for TBS Matrix system."
- exit 1
+ exit 12
fi
debug_echo() {
diff --git a/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service b/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service
index c88407a688..5311b9ab5f 100644
--- a/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service
+++ b/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service
@@ -2,7 +2,12 @@
Description=i.MX6 SoC fan monitor service
[Service]
-ExecStart=/usr/bin/imx6-soc-fan-monitor
+ExecStart=/bin/sh -c "exec /bin/sh /usr/lib/openelec/imx6-soc-fan-monitor"
+RestartPreventExitStatus=12
+TimeoutStopSec=5
+Restart=always
+RestartSec=60
+StartLimitInterval=0
[Install]
WantedBy=multi-user.target
diff --git a/packages/sysutils/imx6-status-led/package.mk b/packages/sysutils/imx6-status-led/package.mk
index 1eb9424486..7b89e4c5ee 100644
--- a/packages/sysutils/imx6-status-led/package.mk
+++ b/packages/sysutils/imx6-status-led/package.mk
@@ -36,8 +36,8 @@ make_target() {
}
makeinstall_target() {
- mkdir -p $INSTALL/usr/bin
- cp -PR $PKG_DIR/bin/* $INSTALL/usr/bin
+ mkdir -p $INSTALL/usr/lib/openelec
+ cp $PKG_DIR/scripts/* $INSTALL/usr/lib/openelec
}
post_install() {
diff --git a/packages/sysutils/imx6-status-led/bin/imx6-status-led b/packages/sysutils/imx6-status-led/scripts/imx6-status-led
similarity index 85%
rename from packages/sysutils/imx6-status-led/bin/imx6-status-led
rename to packages/sysutils/imx6-status-led/scripts/imx6-status-led
index fb1af9f557..46e08d58cb 100755
--- a/packages/sysutils/imx6-status-led/bin/imx6-status-led
+++ b/packages/sysutils/imx6-status-led/scripts/imx6-status-led
@@ -18,7 +18,7 @@
# along with OpenELEC. If not, see .
################################################################################
-. /etc/profile
+. /usr/lib/openelec/imx6-system-type
case "$1" in
"on")
@@ -28,22 +28,21 @@ case "$1" in
TRIGGER=heartbeat
;;
*)
- TRIGGER=""
+ exit 0
;;
esac
case "$SYSTEM_TYPE" in
"matrix")
- LED=/sys/class/leds/red/trigger
+ LED="/sys/class/leds/red/trigger"
;;
"cuboxi")
- LED=/sys/class/leds/imx6\:red\:front/trigger
+ LED="/sys/class/leds/imx6:red:front/trigger"
;;
*)
- LED=""
+ exit 0
;;
esac
-if [ -n "$TRIGGER" -a -n "$LED" ]; then
- echo $TRIGGER > $LED
-fi
+echo "$TRIGGER" > "$LED"
+
diff --git a/packages/sysutils/imx6-status-led/profile.d/01-system_type.conf b/packages/sysutils/imx6-status-led/scripts/imx6-system-type
old mode 100644
new mode 100755
similarity index 91%
rename from packages/sysutils/imx6-status-led/profile.d/01-system_type.conf
rename to packages/sysutils/imx6-status-led/scripts/imx6-system-type
index c7ffb66634..9da8729e8a
--- a/packages/sysutils/imx6-status-led/profile.d/01-system_type.conf
+++ b/packages/sysutils/imx6-status-led/scripts/imx6-system-type
@@ -42,9 +42,3 @@ case "$SYSTEM_TYPE" in
export SYSTEM_TYPE="undef"
;;
esac
-
-# don't make from initramfs (no touch there)
-if [ -e /bin/touch ]; then
- mkdir -p /var/run
- touch /var/run/system_type_$SYSTEM_TYPE
-fi
diff --git a/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service b/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service
index ab51a5e49c..f04bd3eafe 100644
--- a/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service
+++ b/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service
@@ -1,11 +1,11 @@
[Unit]
-Description=i.MX6 status LED service
+Description=i.MX6 status led
After=kodi.service
[Service]
Type=oneshot
-ExecStart=-/bin/sh -c "/usr/bin/imx6-status-led on"
-ExecStop=-/bin/sh -c "/usr/bin/imx6-status-led heartbeat"
+ExecStart=-/bin/sh -c "/usr/lib/openelec/imx6-status-led on"
+ExecStop=-/bin/sh -c "/usr/lib/openelec/imx6-status-led heartbeat"
RemainAfterExit=yes
[Install]
diff --git a/packages/tools/u-boot/scripts/update.sh b/packages/tools/u-boot/scripts/update.sh
index c9ac4c4436..71a5582a94 100755
--- a/packages/tools/u-boot/scripts/update.sh
+++ b/packages/tools/u-boot/scripts/update.sh
@@ -32,11 +32,9 @@ if [ -z "$BOOT_DISK" ]; then
esac
fi
-# we don't have mounted /etc in initramfs so just load system type
-if [ -f $SYSTEM_ROOT/etc/profile.d/01-system_type.conf ]; then
- . $SYSTEM_ROOT/etc/profile.d/01-system_type.conf
-else
- SYSTEM_TYPE=""
+SYSTEM_TYPE=""
+if [ -f $SYSTEM_ROOT/usr/lib/openelec/imx6-system-type ]; then
+ . $SYSTEM_ROOT/usr/lib/openelec/imx6-system-type
fi
# mount $BOOT_ROOT r/w
diff --git a/packages/wayland/libinput/package.mk b/packages/wayland/libinput/package.mk
index 3ab9baeb36..8bedc0c60b 100644
--- a/packages/wayland/libinput/package.mk
+++ b/packages/wayland/libinput/package.mk
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="libinput"
-PKG_VERSION="1.0.1"
+PKG_VERSION="1.0.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/package.mk b/packages/x11/driver/xf86-video-nvidia-legacy/package.mk
index ab2f06994b..3e3009984a 100644
--- a/packages/x11/driver/xf86-video-nvidia-legacy/package.mk
+++ b/packages/x11/driver/xf86-video-nvidia-legacy/package.mk
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xf86-video-nvidia-legacy"
-PKG_VERSION="304.125"
+PKG_VERSION="304.128"
PKG_REV="1"
PKG_ARCH="x86_64"
PKG_LICENSE="nonfree"
diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-kernel-3.19.patch b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-kernel-3.19.patch
deleted file mode 100644
index 02036168dd..0000000000
--- a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0001-kernel-3.19.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur xf86-video-nvidia-legacy-304.125/kernel/nv.c xf86-video-nvidia-legacy-304.125.patch/kernel/nv.c
---- xf86-video-nvidia-legacy-304.125/kernel/nv.c 2014-12-02 04:55:59.000000000 +0100
-+++ xf86-video-nvidia-legacy-304.125.patch/kernel/nv.c 2015-02-11 19:07:09.844431593 +0100
-@@ -17,7 +17,7 @@
- #include "rmil.h"
-
- #if defined(MODULE_LICENSE)
--MODULE_LICENSE("NVIDIA");
-+MODULE_LICENSE("GPL\0NVIDIA");
- #endif
- #if defined(MODULE_INFO)
- MODULE_INFO(supported, "external");
-@@ -2026,7 +2026,7 @@
- unsigned long i_arg
- )
- {
-- return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
-+ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
- }
-
- long nv_kern_compat_ioctl(
-@@ -2035,7 +2035,7 @@
- unsigned long i_arg
- )
- {
-- return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
-+ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
- }
-
- /*
diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0002-kernel-4.0.patch b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0002-kernel-4.0.patch
deleted file mode 100644
index f0d0dbb561..0000000000
--- a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0002-kernel-4.0.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -Naur NVIDIA-Linux-x86_64-340.76-no-compat32/kernel/nv-pat.c NVIDIA-Linux-x86_64-340.76-no-compat32.patch/kernel/nv-pat.c
---- NVIDIA-Linux-x86_64-340.76-no-compat32/kernel/nv-pat.c 2015-01-22 20:01:16.000000000 +0100
-+++ NVIDIA-Linux-x86_64-340.76-no-compat32.patch/kernel/nv-pat.c 2015-04-04 19:16:01.931219988 +0200
-@@ -35,8 +35,13 @@
- unsigned long cr0 = read_cr0();
- write_cr0(((cr0 & (0xdfffffff)) | 0x40000000));
- wbinvd();
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 20, 0)
- *cr4 = read_cr4();
- if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80);
-+#else
-+ *cr4 = __read_cr4();
-+ if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80);
-+#endif
- __flush_tlb();
- }
-
-@@ -46,7 +51,11 @@
- wbinvd();
- __flush_tlb();
- write_cr0((cr0 & 0x9fffffff));
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 20, 0)
- if (cr4 & 0x80) write_cr4(cr4);
-+#else
-+ if (cr4 & 0x80) __write_cr4(cr4);
-+#endif
- }
-
- static int nv_determine_pat_mode(void)
diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0003-kernel-4.3rc5.patch b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0003-kernel-4.3rc5.patch
new file mode 100644
index 0000000000..bc9732e2ec
--- /dev/null
+++ b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0003-kernel-4.3rc5.patch
@@ -0,0 +1,28 @@
+--- a/kernel/nv-procfs.c 2015-10-18 04:32:24.214891836 +0100
++++ b/kernel/nv-procfs.c 2015-10-18 04:33:01.611081468 +0100
+@@ -607,7 +607,12 @@
+ registry_keys = ((nvl != NULL) ?
+ nvl->registry_keys : nv_registry_keys);
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0)
+ return seq_printf(s, "Binary: \"%s\"\n", registry_keys);
++#else
++ seq_printf(s, "Binary: \"%s\"\n", registry_keys);
++ return 0;
++#endif
+ }
+
+ static ssize_t
+@@ -674,7 +679,12 @@
+ void *v
+ )
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0)
+ return seq_puts(s, s->private);
++#else
++ seq_puts(s, s->private);
++ return 0;
++#endif
+ }
+
+ NV_DEFINE_PROCFS_SINGLE_FILE(text_file);
diff --git a/projects/WeTek_Play/filesystem/usr/share/kodi/system/keymaps/wetek-remote.xml b/projects/WeTek_Play/filesystem/usr/share/kodi/system/keymaps/wetek-remote.xml
deleted file mode 100644
index 17f64df4d4..0000000000
--- a/projects/WeTek_Play/filesystem/usr/share/kodi/system/keymaps/wetek-remote.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- ContextMenu
- ContextMenu
- AspectRatio
- AspectRatio
- XBMC.ActivateWindow(Home)
- XBMC.ActivateWindow(Home)
- ActivateWindowAndFocus(MyPVR, 31,0, 10,0)
- FullScreen
- Screenshot
-
-
-
diff --git a/projects/WeTek_Play/initramfs/platform_init b/projects/WeTek_Play/initramfs/platform_init
index 5f36b62914..5e32a6847f 100755
--- a/projects/WeTek_Play/initramfs/platform_init
+++ b/projects/WeTek_Play/initramfs/platform_init
@@ -49,7 +49,7 @@ echo 0 > /sys/class/graphics/fb0/free_scale
# Set framebuffer geometry to match the resolution
case "$hdmimode" in
720*)
- fbset -fb /dev/fb0 -g 1280 720 1280 1440 32
+ fbset -fb /dev/fb0 -g 1280 720 1920 2160 32
;;
1080*)
fbset -fb /dev/fb0 -g 1920 1080 1920 2160 32
@@ -61,14 +61,15 @@ echo rm default > /sys/class/vfm/map
echo add default decoder ppmgr deinterlace amvideo > /sys/class/vfm/map
# Boot with performance governor, then switch to the governor specified in the kernel command line
-for cpufreq in /sys/devices/system/cpu/cpu[0-9]*/cpufreq; do
- if [ -n "$scaling_governor" ]; then
- echo "$scaling_governor" > "$cpufreq/scaling_governor"
- fi
- if [ -n "$scaling_min_freq" ]; then
- echo "$scaling_min_freq" > "$cpufreq/scaling_min_freq"
- fi
- if [ -n "$scaling_max_freq" ]; then
- echo "$scaling_max_freq" > "$cpufreq/scaling_max_freq"
- fi
-done
+# Assume SMP uses shared cpufreq policy for all CPUs
+cpufreq="/sys/devices/system/cpu/cpu0/cpufreq"
+if [ -n "$scaling_governor" ]; then
+ echo "$scaling_governor" > "$cpufreq/scaling_governor"
+fi
+if [ -n "$scaling_min_freq" ]; then
+ echo "$scaling_min_freq" > "$cpufreq/scaling_min_freq"
+fi
+if [ -n "$scaling_max_freq" ]; then
+ echo "$scaling_max_freq" > "$cpufreq/scaling_max_freq"
+ echo "$scaling_max_freq" > "$cpufreq/scaling_dflt_freq"
+fi
diff --git a/projects/WeTek_Play/linux/linux.arm.conf b/projects/WeTek_Play/linux/linux.arm.conf
index a398d6a5da..3d3e446488 100644
--- a/projects/WeTek_Play/linux/linux.arm.conf
+++ b/projects/WeTek_Play/linux/linux.arm.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm 3.10.89 Kernel Configuration
+# Linux/arm 3.10.90 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -2856,6 +2856,7 @@ CONFIG_DRAGONRISE_FF=y
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
CONFIG_HID_EZKEY=y
+CONFIG_HID_HBGIC=y
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_KEYTOUCH is not set
CONFIG_HID_KYE=y
diff --git a/projects/WeTek_Play/patches/kodi/0015-aml-Add-some-key-mappings-for-HDMI-CEC.patch b/projects/WeTek_Play/patches/kodi/0015-aml-Add-some-key-mappings-for-HDMI-CEC.patch
deleted file mode 100644
index 246281fa23..0000000000
--- a/projects/WeTek_Play/patches/kodi/0015-aml-Add-some-key-mappings-for-HDMI-CEC.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f8aeb55bea64fde80a63a88d5d7bad8fd2dde3d9 Mon Sep 17 00:00:00 2001
-From: Alex Deryskyba
-Date: Sun, 2 Nov 2014 15:54:29 +0200
-Subject: [PATCH 15/17] [aml] Add some key mappings for HDMI CEC
-
----
- xbmc/input/linux/LinuxInputDevices.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/xbmc/input/linux/LinuxInputDevices.cpp b/xbmc/input/linux/LinuxInputDevices.cpp
-index 0b0f7ae..c84930f 100644
---- a/xbmc/input/linux/LinuxInputDevices.cpp
-+++ b/xbmc/input/linux/LinuxInputDevices.cpp
-@@ -250,6 +250,11 @@ KeyMap keyMap[] = {
- { KEY_PRINT , XBMCK_PRINT },
- { KEY_QUESTION , XBMCK_HELP },
- { KEY_BACK , XBMCK_BACKSPACE },
-+ { KEY_SELECT , XBMCK_RETURN },
-+ { KEY_RED , XBMCK_TAB },
-+ { KEY_GREEN , XBMCK_z },
-+ { KEY_YELLOW , XBMCK_i },
-+ { KEY_BLUE , XBMCK_c },
- // The Little Black Box Remote Additions
- { 384 , XBMCK_LEFT }, // Red
- { 378 , XBMCK_RIGHT }, // Green
---
-1.7.10.4
-
diff --git a/projects/WeTek_Play/patches/linux/linux-054-hbgic-remote-0.2.patch b/projects/WeTek_Play/patches/linux/linux-054-hbgic-remote-0.2.patch
new file mode 100644
index 0000000000..647081e159
--- /dev/null
+++ b/projects/WeTek_Play/patches/linux/linux-054-hbgic-remote-0.2.patch
@@ -0,0 +1,159 @@
+diff -Naur linux-amlogic-3.10-9df7905/drivers/hid/hid-core.c linux-amlogic-3.10-9df7905.patch/drivers/hid/hid-core.c
+--- linux-amlogic-3.10-9df7905/drivers/hid/hid-core.c 2015-10-06 22:39:16.000000000 +0200
++++ linux-amlogic-3.10-9df7905.patch/drivers/hid/hid-core.c 2015-10-15 17:00:49.982041731 +0200
+@@ -1678,6 +1678,7 @@
+ { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_2) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_3) },
++ { HID_USB_DEVICE(USB_VENDOR_ID_HBGIC, USB_DEVICE_ID_HBGIC_KEYBOARD) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK, USB_DEVICE_ID_HOLTEK_ON_LINE_GRIP) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_JESS2, USB_DEVICE_ID_JESS2_COLOR_RUMBLE_PAD) },
+diff -Naur linux-amlogic-3.10-9df7905/drivers/hid/hid-hbgic-kbd.c linux-amlogic-3.10-9df7905.patch/drivers/hid/hid-hbgic-kbd.c
+--- linux-amlogic-3.10-9df7905/drivers/hid/hid-hbgic-kbd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-amlogic-3.10-9df7905.patch/drivers/hid/hid-hbgic-kbd.c 2015-10-15 16:57:28.067700413 +0200
+@@ -0,0 +1,103 @@
++/*
++ * HID driver for "HBGIC Technology Co., Ltd. USB Keyboard Mouse" remotes
++ *
++ * Copyright (c) 2015 Stephan Raue
++ *
++ */
++
++/*
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the Free
++ * Software Foundation; either version 2 of the License, or (at your option)
++ * any later version.
++ */
++
++#include
++#include
++#include
++#include
++
++#include "hid-ids.h"
++
++#define hbgic_map_key(c) set_bit(EV_REP, hi->input->evbit); \
++ hid_map_usage_clear(hi, usage, bit, max, EV_KEY, (c))
++
++static int hbgic_input_mapping(struct hid_device *hdev,
++ struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
++ unsigned long **bit, int *max)
++{
++ switch (usage->hid) {
++ case 0x00070029: hbgic_map_key(KEY_BACK); break;
++ case 0x0007002a: hbgic_map_key(KEY_BACK); break;
++ case 0x0007003a: hbgic_map_key(KEY_BACK); break;
++ case 0x0007003b: hbgic_map_key(KEY_HOME); break;
++ case 0x0007003c: hbgic_map_key(KEY_HOMEPAGE); break;
++ case 0x0007003d: hbgic_map_key(KEY_MENU); break;
++ case 0x0007003e: hbgic_map_key(KEY_ZOOM); break;
++ case 0x0007003f: hbgic_map_key(KEY_FAVORITES); break;
++ case 0x00070040: hbgic_map_key(KEY_MENU); break;
++ case 0x00070041: hbgic_map_key(KEY_RED); break;
++ case 0x00070042: hbgic_map_key(KEY_GREEN); break;
++ case 0x00070043: hbgic_map_key(KEY_YELLOW); break;
++ case 0x00070044: hbgic_map_key(KEY_TEXT); break;
++ case 0x0007004a: hbgic_map_key(KEY_HOMEPAGE); break;
++ case 0x000700f1: hbgic_map_key(KEY_BACK); break;
++ case 0x000c00e2: hbgic_map_key(KEY_MUTE); break;
++ case 0x000c019e: hbgic_map_key(KEY_MUTE); break;
++ case 0x000c01c2: hbgic_map_key(KEY_BLUE); break;
++ case 0x000c0204: hbgic_map_key(KEY_FAVORITES); break;
++ default:
++ return 0;
++ }
++ return 1;
++}
++
++static int hbgic_probe(struct hid_device *hdev,
++ const struct hid_device_id *id)
++{
++ int ret;
++ /* Connect only to hid input (not hiddev & hidraw)*/
++ unsigned int cmask = HID_CONNECT_HIDINPUT;
++
++ ret = hid_parse(hdev);
++ if (ret) {
++ dev_err(&hdev->dev, "parse failed\n");
++ goto err_free;
++ }
++
++ ret = hid_hw_start(hdev, cmask);
++ if (ret) {
++ dev_err(&hdev->dev, "hw start failed\n");
++ goto err_free;
++ }
++
++ return 0;
++err_free:
++ return ret;
++}
++
++static const struct hid_device_id hbgic_devices[] = {
++ { HID_USB_DEVICE(USB_VENDOR_ID_HBGIC,USB_DEVICE_ID_HBGIC_KEYBOARD) },
++ { }
++};
++MODULE_DEVICE_TABLE(hid, hbgic_devices);
++
++static struct hid_driver hbgic_driver = {
++ .name = "hbgic",
++ .id_table = hbgic_devices,
++ .input_mapping = hbgic_input_mapping,
++ .probe = hbgic_probe,
++};
++
++static int __init hbgic_init(void)
++{
++ return hid_register_driver(&hbgic_driver);
++}
++
++static void __exit hbgic_exit(void)
++{
++ hid_unregister_driver(&hbgic_driver);
++}
++
++module_init(hbgic_init);
++module_exit(hbgic_exit);
++MODULE_LICENSE("GPL");
+diff -Naur linux-amlogic-3.10-9df7905/drivers/hid/hid-ids.h linux-amlogic-3.10-9df7905.patch/drivers/hid/hid-ids.h
+--- linux-amlogic-3.10-9df7905/drivers/hid/hid-ids.h 2015-10-15 14:26:12.536907873 +0200
++++ linux-amlogic-3.10-9df7905.patch/drivers/hid/hid-ids.h 2015-10-15 16:57:28.068700414 +0200
+@@ -443,6 +443,9 @@
+ #define USB_VENDOR_ID_ION 0x15e4
+ #define USB_DEVICE_ID_ICADE 0x0132
+
++#define USB_VENDOR_ID_HBGIC 0x2252
++#define USB_DEVICE_ID_HBGIC_KEYBOARD 0x0106
++
+ #define USB_VENDOR_ID_HOLTEK 0x1241
+ #define USB_DEVICE_ID_HOLTEK_ON_LINE_GRIP 0x5015
+
+diff -Naur linux-amlogic-3.10-9df7905/drivers/hid/Kconfig linux-amlogic-3.10-9df7905.patch/drivers/hid/Kconfig
+--- linux-amlogic-3.10-9df7905/drivers/hid/Kconfig 2015-10-15 14:26:12.537907875 +0200
++++ linux-amlogic-3.10-9df7905.patch/drivers/hid/Kconfig 2015-10-15 16:57:28.457701048 +0200
+@@ -224,6 +224,12 @@
+ ---help---
+ Support for Ezkey BTC 8193 keyboard.
+
++config HID_HBGIC
++ tristate "HBGIC Technology remote control"
++ depends on USB_HID
++ ---help---
++ Say Y here if you have a HBGIC Technology (2252:0106) remote
++
+ config HID_HOLTEK
+ tristate "Holtek HID devices"
+ depends on USB_HID
+diff -Naur linux-amlogic-3.10-9df7905/drivers/hid/Makefile linux-amlogic-3.10-9df7905.patch/drivers/hid/Makefile
+--- linux-amlogic-3.10-9df7905/drivers/hid/Makefile 2015-10-15 14:26:12.538907876 +0200
++++ linux-amlogic-3.10-9df7905.patch/drivers/hid/Makefile 2015-10-15 16:57:28.458701050 +0200
+@@ -50,6 +50,7 @@
+ obj-$(CONFIG_HID_ELECOM) += hid-elecom.o
+ obj-$(CONFIG_HID_EZKEY) += hid-ezkey.o
+ obj-$(CONFIG_HID_GYRATION) += hid-gyration.o
++obj-$(CONFIG_HID_HBGIC) += hid-hbgic-kbd.o
+ obj-$(CONFIG_HID_HOLTEK) += hid-holtek-kbd.o
+ obj-$(CONFIG_HID_HOLTEK) += hid-holtekff.o
+ obj-$(CONFIG_HID_HYPERV_MOUSE) += hid-hyperv.o
diff --git a/projects/WeTek_Play/splash/splash-full.png b/projects/WeTek_Play/splash/splash-full.png
index 124241f4fd..36ec92afbf 100644
Binary files a/projects/WeTek_Play/splash/splash-full.png and b/projects/WeTek_Play/splash/splash-full.png differ
diff --git a/projects/imx6/bootloader/uEnv-udoo.txt b/projects/imx6/bootloader/uEnv-udoo.txt
index 848863b361..f640b83628 100644
--- a/projects/imx6/bootloader/uEnv-udoo.txt
+++ b/projects/imx6/bootloader/uEnv-udoo.txt
@@ -5,14 +5,14 @@ video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32
# 7" LVDS
#video=mxcfb0:dev=ldb,800x480M@60,if=RGB666,bpp=32
# 15.6" LVDS
-#video=mxcfb0:dev=ldb,1368x768M@60,if=RGB24,bpp=32
+#video=mxcfb0:dev=ldb,1366x768M@60,if=RGB24,bpp=32
-# enable serial console
-#console_arg=console=ttymxc1,115200
-# or make boot more quiet
+# make boot more quiet
console_arg=quiet morequiet
-# or having quiet console
-#console_arg=console=ttymxc1,115200 quiet morequiet
+# or having quiet and console
+#console_arg=console=ttymxc0,115200 quiet morequiet
+# show messages too
+#console_arg=console=ttymxc0,115200 no_console_suspend=1
# enable ssh
#ssh_arg=ssh
diff --git a/projects/imx6/filesystem/usr/lib/systemd/system/serial-console.service b/projects/imx6/filesystem/usr/lib/systemd/system/serial-console.service
new file mode 100644
index 0000000000..9e0ca3617a
--- /dev/null
+++ b/projects/imx6/filesystem/usr/lib/systemd/system/serial-console.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Debug Shell on /dev/ttymxc0
+DefaultDependencies=no
+ConditionKernelCommandLine=console=ttymxc0,115200
+
+[Service]
+WorkingDirectory=/storage
+Environment="ENV=/etc/profile"
+ExecStart=/bin/sh
+Restart=always
+RestartSec=0
+StandardInput=tty
+TTYPath=/dev/ttymxc0
+TTYReset=yes
+TTYVHangup=yes
+KillMode=process
+IgnoreSIGPIPE=no
+# bash ignores SIGTERM
+KillSignal=SIGHUP
+
+[Install]
+WantedBy=sysinit.target
diff --git a/projects/imx6/patches/linux/linux-331-udoo-device_tree.patch b/projects/imx6/patches/linux/linux-331-udoo-device_tree.patch
old mode 100644
new mode 100755
index 8cf49e3c76..c29ca66baa
--- a/projects/imx6/patches/linux/linux-331-udoo-device_tree.patch
+++ b/projects/imx6/patches/linux/linux-331-udoo-device_tree.patch
@@ -145,7 +145,7 @@ new file mode 100644
index 0000000..f9ce5ca
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
-@@ -0,0 +1,443 @@
+@@ -0,0 +1,445 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
@@ -172,6 +172,8 @@ index 0000000..f9ce5ca
+ mxcfb2 = &mxcfb3;
+ mxcfb3 = &mxcfb4;
+ ssi0 = &ssi1;
++ serial0 = &uart2; // console on ttymxc0
++ serial1 = &uart1;
+ };
+
+ memory {
diff --git a/scripts/build b/scripts/build
index 4fd9300253..e7439ed1ea 100755
--- a/scripts/build
+++ b/scripts/build
@@ -57,7 +57,7 @@ STAMP_DEPENDS="$PKG_DIR $PKG_NEED_UNPACK $PROJECT_DIR/$PROJECT/patches/$PKG_NAME
if [ -f $STAMP ] ; then
. $STAMP
- PKG_DEEPMD5=$(md5deep -r $STAMP_DEPENDS 2>/dev/null | sort | md5sum | cut -d" " -f1)
+ PKG_DEEPMD5=$(find $STAMP_DEPENDS -exec md5sum {} \; 2>/dev/null | sort | md5sum | cut -d" " -f1)
if [ ! "$PKG_DEEPMD5" = "$STAMP_PKG_DEEPMD5" ] ; then
rm -f $STAMP
fi
@@ -365,7 +365,7 @@ if [ ! -f $STAMP ]; then
$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $i; \
done
- PKG_DEEPMD5=$(md5deep -r $STAMP_DEPENDS 2>/dev/null | sort | md5sum | cut -d" " -f1)
+ PKG_DEEPMD5=$(find $STAMP_DEPENDS -exec md5sum {} \; 2>/dev/null | sort | md5sum | cut -d" " -f1)
for i in PKG_NAME PKG_DEEPMD5; do
eval val=\$$i
echo "STAMP_$i=\"$val\"" >> $STAMP
diff --git a/scripts/checkdeps b/scripts/checkdeps
index 1a5ff04fa0..5844777820 100755
--- a/scripts/checkdeps
+++ b/scripts/checkdeps
@@ -28,8 +28,8 @@ if [ -f /etc/os-release ]; then
DISTRO=$(grep ^ID= /etc/os-release | cut -d "=" -f 2 | tr A-Z a-z)
fi
-deps="wget bash bc gcc sed patch tar bzip2 gzip perl gawk md5deep gperf zip unzip diff makeinfo"
-deps_pkg="wget bash bc gcc sed patch tar bzip2 gzip perl gawk md5deep gperf zip unzip diffutils texinfo"
+deps="wget bash bc gcc sed patch tar bzip2 gzip perl gawk gperf zip unzip diff makeinfo"
+deps_pkg="wget bash bc gcc sed patch tar bzip2 gzip perl gawk gperf zip unzip diffutils texinfo"
files="/usr/include/stdio.h /usr/include/ncurses.h"
files_pkg="libc6-dev libncurses5-dev"
@@ -44,10 +44,10 @@ case "$DISTRO" in
;;
gentoo)
deps="$deps g++ mkfontscale mkfontdir bdftopcf xsltproc java"
- deps_pkg="$deps_pkg g++ mkfontscale mkfontdir bdftopcf libxslt jre"
+ deps_pkg="$deps_pkg gcc[cxx] mkfontscale mkfontdir bdftopcf libxslt virtual/jre"
+ files_pkg="glibc ncurses"
;;
arch)
- # md5deep is only available in the aur
deps="$deps g++ mkfontscale mkfontdir bdftopcf xsltproc java"
deps_pkg="$deps_pkg g++ xorg-mkfontscale xorg-mkfontdir xorg-bdftopcf libxslt java-runtime-common"
;;
diff --git a/scripts/image b/scripts/image
index 93361f0bc9..3175e3be6b 100755
--- a/scripts/image
+++ b/scripts/image
@@ -25,6 +25,7 @@ show_config
$SCRIPTS/checkdeps
$SCRIPTS/build toolchain
$SCRIPTS/build squashfs:host
+$SCRIPTS/build dosfstools:host
$SCRIPTS/build fakeroot:host
$SCRIPTS/build kmod:host
@@ -268,7 +269,7 @@ fi
# only for matrix system or all? (one tar for all updates?)
if [ "$PROJECT" == "imx6" -a "$SYSTEM" == "matrix" ]; then
$SCRIPTS/unpack imx6-mfgtool2-tbs-matrix
-
+
mkdir -p $RELEASE_DIR/MfgTool2-TBS-Matrix
cp -PR $BUILD/imx6-mfgtool2-tbs-matrix-*/imx6-mfgtool2-tbs-matrix-*/* $RELEASE_DIR/MfgTool2-TBS-Matrix
fi
diff --git a/scripts/skip_unpack b/scripts/skip_unpack
index b3005cc684..3c9660bada 100755
--- a/scripts/skip_unpack
+++ b/scripts/skip_unpack
@@ -38,7 +38,7 @@ if [ -f $STAMP ] ; then
rm -f $STAMP
STAMP_DEPENDS="$PKG_DIR $PKG_NEED_UNPACK $PROJECT_DIR/$PROJECT/patches/$PKG_NAME"
- PKG_DEEPMD5=$(md5deep -r $STAMP_DEPENDS 2>/dev/null | sort | md5sum | cut -d" " -f1)
+ PKG_DEEPMD5=$(find $STAMP_DEPENDS -exec md5sum {} \; 2>/dev/null | sort | md5sum | cut -d" " -f1)
for i in PKG_NAME PKG_DEEPMD5; do
eval val=\$$i
echo "STAMP_$i=\"$val\"" >> $STAMP
diff --git a/scripts/unpack b/scripts/unpack
index 47452dc76c..79d0c2e725 100755
--- a/scripts/unpack
+++ b/scripts/unpack
@@ -44,7 +44,7 @@ for i in $BUILD/$1-*; do
if [ -d $i -a -f "$i/.openelec-unpack" ] ; then
. "$i/.openelec-unpack"
if [ "$STAMP_PKG_NAME" = "$1" ]; then
- PKG_DEEPMD5=$(md5deep -r $STAMP_DEPENDS 2>/dev/null | sort | md5sum | cut -d" " -f1)
+ PKG_DEEPMD5=$(find $STAMP_DEPENDS -exec md5sum {} \; 2>/dev/null | sort | md5sum | cut -d" " -f1)
if [ ! "$PKG_DEEPMD5" = "$STAMP_PKG_DEEPMD5" ] ; then
$SCRIPTS/clean $1
fi
@@ -149,7 +149,7 @@ done
rm -f $STAMPS/$1/build_*
-PKG_DEEPMD5=$(md5deep -r $STAMP_DEPENDS 2>/dev/null | sort | md5sum | cut -d" " -f1)
+PKG_DEEPMD5=$(find $STAMP_DEPENDS -exec md5sum {} \; 2>/dev/null | sort | md5sum | cut -d" " -f1)
for i in PKG_NAME PKG_DEEPMD5; do
eval val=\$$i
echo "STAMP_$i=\"$val\"" >> $STAMP
diff --git a/tools/mkpkg/mkpkg_json-c b/tools/mkpkg/mkpkg_json-c
new file mode 100755
index 0000000000..f8c8155878
--- /dev/null
+++ b/tools/mkpkg/mkpkg_json-c
@@ -0,0 +1,43 @@
+#!/bin/sh
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+echo "getting sources..."
+ if [ ! -d json-c.git ]; then
+ git clone https://github.com/json-c/json-c.git json-c.git
+ fi
+
+ cd json-c.git
+ git pull
+ GIT_REV=`git log -n1 --format=%h`
+ cd ..
+
+echo "copying sources..."
+ rm -rf json-c-$GIT_REV
+ cp -R json-c.git json-c-$GIT_REV
+
+echo "cleaning sources..."
+ rm -rf json-c-$GIT_REV/.git
+
+echo "packing sources..."
+ tar cvJf json-c-$GIT_REV.tar.xz json-c-$GIT_REV
+
+echo "remove temporary sourcedir..."
+ rm -rf json-c-$GIT_REV