• 1
  • 62
  • 63
  • 64(current)
  • 65
  • 66
  • 89
OpenELEC Testbuilds for RaspberryPi (Kodi 15.0) Part 2
(2015-05-30, 13:23)HiassofT Wrote: My understanding is that the old spi-bcm2708 should eventually go away (and CONFIG_SPI_BCM2708 can be disabled) but I think it's best to have both available for now in case something doesn't work fine with spi-bcm2835.

Correct. Where possible we are switching to the upstream drivers (like spi-bcm2835) and deprecating the drivers from Pi tree (spi-bcm2708).
So CONFIG_SPI_BCM2835=m is correct for now. Leave CONFIG_SPI_BCM2708=m in for now in case people have difficulties with the upstream driver, but that will eventually be removed.
Assuming this build works okay, then official OE build should also enable CONFIG_SPI_BCM2835.
Thanks both. Not really sure why SPI is being built in-kernel rather than as modules, is it worth testing SPI as modules (I can upload a new test build - let me know if you need RPi or RPi2 so I don't waste bandwidth on a build nobody needs).
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
(2015-05-30, 13:31)Milhouse Wrote: Thanks both. Not really sure why SPI is being built in-kernel rather than as modules, is it worth testing SPI as modules (I can upload a new test build - let me know if you need RPi or RPi2 so I don't waste bandwidth on a build nobody needs).

We use modules (=m) on raspbian and most people don't need SPI, so I'd say building as modules makes more sense.
About H.264 10bit files ( animes ) . we can't use existing hardware acceleration and software is sometimes to slow for decoding 720p.
Is it (in theory) possible to do something with the VPU/GPU/Shaders.... optimizations like that what we see for HEVC ? or is it a definitive problem with 10bit ?
No idea either why SPI is built into the kernel in OpenELEC. I also think having both SPI drivers built as modules makes more sense and IMHO that should be safe.

The last 2 days I did various tests with my cirrus OpenELEC build having SPI drivers built as modules and haven't noticed any issues.

Just did another test with the cirrus dtoverlay removed from config.txt so it's very near to your build:

With dtparam=spi=on /dev/spidev0.{0,1} show up fine and lsmod/dmesg show that the new driver is used
Code:
OpenELEC:~ # lsmod | grep spi
spi_bcm2835             3659  0
OpenELEC:~ # dmesg | grep -i spi
[    5.608210] spi spi0.0: setting up native-CS0 as GPIO 8
[    5.618668] spi spi0.1: setting up native-CS1 as GPIO 7

When also adding dtoverlay=spi-bcm2708 to use the old driver the device nodes show up fine again and lsmod/dmesg output is also as expected
Code:
OpenELEC:~ # lsmod | grep -i spi
spi_bcm2708             4682  0
OpenELEC:~ # dmesg | grep spi
[    5.563134] bcm2708_spi 3f204000.spi: master is unqueued, this is deprecated
[    5.605692] bcm2708_spi 3f204000.spi: SPI Controller at 0x3f204000 (irq 80)

I think you should be safe switching to modules in you next regular testbuild, don't think we'll need another intermediate build.

so long,

Hias
Thanks @HiassofT, I'm seeing the same lsmod/dmesg results when building SPI as modules so that all looks fine - I'll keep it this way for future builds.

I did however have to enable CONFIG_BCM2708_POWER=y when building CONFIG_SPI_BCM2835=m and CONFIG_SPI_BCM2708=m - if I used CONFIG_BCM2708_POWER=m, the Pi/Pi2 wouldn't boot successfully.

Assuming all is well over the next few days then I'll submit a pull request to build SPI as modules for RPi/RPi2.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
(2015-05-13, 03:46)Milhouse Wrote:
  1. New Shadertoy visualization
    popcornmix Wrote:I've added a port of topfs2's shadertoy visualisation (http://forum.kodi.tv/showthread.php?tid=204991)

    ... and it's pretty simple to try others from the shadertoy website.
Love it! (yeah, it's been a while since I've updated Tongue)
Just how does one add/try others? Can it be done without compiling?

I love the following stuff in case you are still looking for improving the list: All the rainbow coloured and those playing with the current background are just...ugly Wink
(2015-05-30, 14:42)Milhouse Wrote: I did however have to enable CONFIG_BCM2708_POWER=y when building CONFIG_SPI_BCM2835=m and CONFIG_SPI_BCM2708=m - if I used CONFIG_BCM2708_POWER=m, the Pi/Pi2 wouldn't boot successfully.
Ah, sorry, I totally forgot about the power option. I had SPI set to modules before and enabled BCM2708_POWER=Y yesterday evening, as a consequence of kernel PR#980 - Kconfig has it as "default y".

Quote:Assuming all is well over the next few days then I'll submit a pull request to build SPI as modules for RPi/RPi2.
OpenELEC master hasn't updated the RPi kernel patch in quite a long time and some of the stuff like new power option or the need for the mailbox driver came after that. I think it might be best to submit a PR with the updated kernel patch and linux.arm.confs.

Here's the full config diff (minus the cirrus changes) I'm using in my build - it's in line with your config except I haven't enabled BCM_VC_SM
Code:
diff --git a/projects/RPi/linux/linux.arm.conf b/projects/RPi/linux/linux.arm.conf
index d3930b5..738c536 100644
--- a/projects/RPi/linux/linux.arm.conf
+++ b/projects/RPi/linux/linux.arm.conf
@@ -1449,8 +1449,8 @@ CONFIG_SPI_MASTER=y
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_BCM2835 is not set
-CONFIG_SPI_BCM2708=y
+CONFIG_SPI_BCM2835=m
+CONFIG_SPI_BCM2708=m
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_GPIO is not set
@@ -3049,7 +3049,10 @@ CONFIG_COMMON_CLK=y
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
# CONFIG_CLKSRC_VERSATILE is not set
-# CONFIG_MAILBOX is not set
+CONFIG_MAILBOX=y
+CONFIG_BCM2708_MBOX=y
+# CONFIG_PL320_MBOX is not set
+# CONFIG_ALTERA_MBOX is not set
# CONFIG_IOMMU_SUPPORT is not set

#
@@ -3064,6 +3067,7 @@ CONFIG_COMMON_CLK=y
#
# SOC (System On Chip) specific Drivers
#
+CONFIG_BCM2708_POWER=y
# CONFIG_SOC_TI is not set
# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=m
diff --git a/projects/RPi2/linux/linux.arm.conf b/projects/RPi2/linux/linux.arm.conf
index 9f6aa4f..c05a066 100644
--- a/projects/RPi2/linux/linux.arm.conf
+++ b/projects/RPi2/linux/linux.arm.conf
@@ -1501,8 +1501,8 @@ CONFIG_SPI_MASTER=y
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_BCM2835 is not set
-CONFIG_SPI_BCM2708=y
+CONFIG_SPI_BCM2835=m
+CONFIG_SPI_BCM2708=m
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_GPIO is not set
@@ -3104,7 +3104,10 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
# CONFIG_CLKSRC_VERSATILE is not set
-# CONFIG_MAILBOX is not set
+CONFIG_MAILBOX=y
+CONFIG_BCM2708_MBOX=y
+# CONFIG_PL320_MBOX is not set
+# CONFIG_ALTERA_MBOX is not set
# CONFIG_IOMMU_SUPPORT is not set

#
@@ -3119,6 +3122,7 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
#
# SOC (System On Chip) specific Drivers
#
+CONFIG_BCM2708_POWER=y
# CONFIG_SOC_TI is not set
# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=m

so long & thanks for your great work!

Hias
(2015-05-30, 15:31)HiassofT Wrote: Ah, sorry, I totally forgot about the power option. I had SPI set to modules before and enabled BCM2708_POWER=Y yesterday evening, as a consequence of kernel PR#980 - Kconfig has it as "default y".

Thanks for that, so it looks like we also need an updated mkknlimg script. It's probably easiest for @sraue etc. to integrate the extra config options when they move to the latest kernel patches.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
(2015-05-30, 14:57)Forage Wrote: Love it! (yeah, it's been a while since I've updated Tongue)
Just how does one add/try others? Can it be done without compiling?

Are you talking about visualisations or screensavers? None of the shadertoy links you gave were for visualisations
(you want shaders with an audio input like this for visualisations).

In theory you can just edit the glsl file (e.g. /usr/share/kodi/addons/visualization.shadertoy/resources/silexarst.frag.glsl)
and the visualisation/screensaver will update on next use (even without relaunching kodi).

But, as OpenELEC is readonly, you will have to copy it somewhere writable. E.g.
Code:
cp -a /usr/share/kodi/addons/screensaver.shadertoy /storage/.kodi/addons/
cp /usr/lib/kodi/addons/screensaver.shadertoy/screensaver.shadertoy.so /storage/.kodi/addons/screensaver.shadertoy/

You'll need to change the id of the new addon. Change:
id="screensaver.shadertoy" to id="screensaver.shadertoy"
name="ShaderToy" to name="ShaderToy2"

Restart kodi (e.g. systemctl restart kodi) and you should see ShaderToy in list of screensavers.

Now you can edit, e.g.
Code:
nano .kodi/addons/screensaver.shadertoy/resources/silexarst.frag.glsl
and after saving your changes the shader should use the updated version (without needing to restart kodi).
Try changing "p-=.5;" to "p-=.25;" and you should see a less centred version of the effect.

(all this applies to visualisations too - just change the path).

Note: on Pi1/Pi2 you can handle about 1000 cycles worth of work per pixel and have a decent framerate.
Complex operations like sin/cos/sqrt will take dozens of cycles. Shaders that have loops with high iterations are likely to struggle.
From your list the first one is probably out (loop of 40, then several calls to complex operations inside that loop).
The others look more plausible.

Also, the textures used by shaders are in the code so needs recompiling to change.
If shader doesn't use textures (many don't - look at the iChannel0, iChannel1, iChannel2, iChannel3 below the shader code on shadertoy site)
then no problem. If it does then modify a shader that uses a similar texture (often the exact texture isn't critical).
New OpenELEC Isengard build #0530: RPi / RPi2
(Supercedes previous build)

Code:
# uname -a
Linux rpi512 4.0.4 #1 Sat May 30 21:02:32 BST 2015 armv6l GNU/Linux

# vcgencmd version
May 30 2015 15:31:00
Copyright (c) 2012 Broadcom
version 34ad21cc67799fff2d3c2ec2ad2286ac89a3d989 (clean) (release)

# lsb_release
OpenELEC (Milhouse) - Version: devel-20150530210144-#0530-g78ad7dc [Build #0530]

# vcdbg log msg 2>&1 | grep DTOK
001567.161: Kernel trailer DTOK property says yes

# Kernel device tree status: Enabled

Based on tip of OpenELEC master (78ad7dc6, changelog) and tip of XBMC master (fa2bd087, changelog) with the following modifications: Build Highlights:
  1. New firmware
  2. Build SPI support as modules
Build Details:
  1. Firmware (May 30):
    • firmware: Fix issue with voltage not being set on Pi2 causing overclock issues
    • firmware: MMAL queue: extra protection on the sanity check.
    • firmware: MMAL: reset buffer recommended values on switching back to raw pixels.
    • firmware: OV5647: Remove readback of I2C writes.
    • firmware: MMAL: Add rawcam component and required framework changes.
    • firmware: Add MMAL to IL mapping for rawcam parameters.
    • firmware: Image_encode: Add support or YUYV input source.
    • firmware: OV5647 tuning: Add the fixed ISO preview modes
    • firmware: Replacing board rev functions with board_info library
    • firmware: arm_loader: Add support for ARCH_BCM2835 builds. See: link
  2. OpenELEC:
    • Fix typo "user-friendly" properly (PR:4171, 1 commit, 1 file changed)
    • OpenELEC-settings: update to OpenELEC-settings-0.6.6 (63ba04af)
    • script.config.vdr: update to script.config.vdr-1.0.8 (78ad7dc6)
  3. XBMC:
    • fix trac 15995: Unsoliticed demuxer seek at the beginning of video playback (PR:7202, 2 commits, 2 files changed)
    • pinsys keys update in Lircmap.xml (PR:6309, 1 commit, 1 file changed)
  4. pvr.hts:
    • CTvheadend:TonguearseEvent now handles "seasonNumber", "episodeNumber" an… (PR:34, 1 commit, 1 file changed)
  5. Additional commits/pull requests/changes not yet merged upstream:
    • Added: patch: Build SPI BCM2708 and BCM2835 as modules (see request)
    • Added: patch: Bump mkknlimg with support for ARCH_BCM2835
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Thank God they fixed 15995: Unsoliticed demuxer seek at the beginning of video playback (PR:7202)
It was driving me nuts.

Big Grin

Thank you
(2015-05-30, 17:17)popcornmix Wrote: But, as OpenELEC is readonly, you will have to copy it somewhere writable. E.g.

Longer term, both the visualizer and screensaver will hopefully become binary addons that are downloaded and installed by the user, which will make modifying the Shadertoys that bit easier (not to mention significantly reducing the size of the OpenELEC SYSTEM file) . But for now, you'll need to copy the existing addons.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
On rpi v1 there is always warning for under voltage shown in latest version.
Hi Milhouse
Hi popcornmix

I run the last testbuild #0529 OpenELEC-RPi.arm-6.0-Milhouse-20150530210144-#0530-g78ad7dc
Regarding the bug "Audio Dropout playing HD multichannel music", I still have
hdmi_mai_thresh=0x1412
in config.txt to fix it.

Do I need to keep it?
Thanks
Config, video/audio player:
3T HDD <USB> Odroid N2+ / CoreElec <HDMI> Denon AVR-2313 <HDMI> LG TV 55UF860V
                                          <nfs wired> Linksys WRT32X router <USB> 4T HDD
  • 1
  • 62
  • 63
  • 64(current)
  • 65
  • 66
  • 89

Logout Mark Read Team Forum Stats Members Help
OpenELEC Testbuilds for RaspberryPi (Kodi 15.0) Part 214