Raspberry Pi 3B+: HEVC, overclock...

  • The videochip has not changed in the 3B+, so HEVC video will still be decoded via software (plus some other tricks). The CPU 1.4Ghz will help, as will some overclocking, but keep in mind that 1080p HEVC videos can easily become a problem for every Raspberry Pi when the video bitrates start climbing. Not to mention a CPU overheating problem.

  • These are my RPi3+ overclock settings:

    Code
    arm_freq=1450
    gpu_freq=560
    over_voltage=6
    
    force_turbo=1
    
    sdram_freq=720
    over_voltage_sdram=8
    sdram_schmoo=0x02000020

    As always when overclocking, do your own testing to determine the stable limits of your device - the above overclock may not be stable with every Pi3+ device.

  • bcmstat output of non-overclocked 3+:

    Code
    HW Block: |   ARM   |  Core  |  H264  |    SDRAM    |
    Min Freq: |  600MHz | 250MHz |   0MHz |    500MHz   |
    Max Freq: | 1400MHz | 400MHz | 300MHz |    500MHz   |

    so long,

    Hias

  • What is the default sdram_freq and gpu_freq?

    gpu_freq isn't a single frequency on Pi3+ so there is no single default - setting gpu_freq sets the frequency for several hardware blocks (core, h264, isp, v3d) as explained here.

    gpu_freq=560 sets all of the hardware blocks to 560Mhz, overclocking core by +160Mhz and h264/isp/v3d by +260Mhz.

    If you want to fine tune individual blocks then use the individual config settings.

  • These are my RPi3+ overclock settings:

    Code
    arm_freq=1450
    gpu_freq=560
    over_voltage=6
    
    force_turbo=1
    
    sdram_freq=720
    over_voltage_sdram=8
    sdram_schmoo=0x02000020

    As always when overclocking, do your own testing to determine the stable limits of your device - the above overclock may not be stable with every Pi3+ device.

    Do you use heatsink + fan?

    Only 1450 MHz for the CPU freq?

  • Do you use heatsink + fan?

    Not at the moment - a heatsink (eg. Flirc case) should help manage temperatures when decoding HEVC.

    Only 1450 MHz for the CPU freq?

    Yes, it's only a moderate ARM overclock and the large over_voltage may not be worthwhile due to the extra heat that is generated - I just wanted to see how far I could push it (since this is an early sample the headroom may have improved on production boards).

    The gpu_freq overclock on my board does require the extra volts however.

    It's totally stable at this overclock but does get a little warm with HEVC playback so I may end up winding it back down to keep the temps in check (overclocking sdram_freq gives the most benefit with HEVC decoding, anyway).

    A large +6 over_voltage also has another disadvantage which is that the new mid-level throttle at 70C will no longer reduce the arm voltage and only the freq will be reduced to 1200Mhz (normally the voltage would also be reduced back to 1.25v/+2).

  • Mmmmm... my idea was to install the pi3b+ inside my Flirc case, but maybe the best solution is to work on the new IHS with a good heatsink + fan to reach a better cooling and avoid the new throttling level.

    During HEVC 1080p test which bitrate are you able to play smootly with your overclock settings?

  • Is it compatible with FLIRC and similar cases? It looks to me that the CPU heat spreader could be an issue (CPU height difference compared to pi2/3).

    I don't understand why they chose to place the LAN/USB chip differently. This will probably cause an issue with my aluminum case.


    HTB1_GVz_ONp_XXXXbk_XFXXq6x_XFXXX1.jpg

    Edited 4 times, last by smp (March 14, 2018 at 11:15 PM).

  • The heatspreader does add 0.5mm-1mm height to the overall package however the FLIRC case includes a squishy thermal interface material that will accommodate the increased z-height of the Pi3+.

    Any "heatsink" type case with zero tolerance (when using a Pi3) may have a problem with the Pi3+, but the FLIRC should be OK.

    Edit: I've moved my Pi3+ into a FLIRC case and it fits without any problem. Temperature is reduced by 15-20C during 1080p HEVC playback.

  • The heatspreader does add 0.5mm-1mm height to the overall package however the FLIRC case includes a squishy thermal interface material that will accommodate the increased z-height of the Pi3+.

    Any "heatsink" type case with zero tolerance (when using a Pi3) may have a problem with the Pi3+, but the FLIRC should be OK.

    Edit: I've moved my Pi3+ into a FLIRC case and it fits without any problem. Temperature is reduced by 15-20C during 1080p HEVC playback.

    I did the same with my pi 3b+ in a kodi flirc case and the temperature indeed reduced a lot:)

    With these overclock settings the temperature doesn't get any higher then 62 degrees even with HEVC 1080p 10 bit files and netflix softwaredecoding. HEVC 1080p 10bit files and netflix sofwaredecoding plays really smooth:)

    It's amazing.

    Code
    arm_freq=1400
    gpu_freq=500
    over_voltage=2
    force_turbo=1
    sdram_freq=580
    over_voltage_sdram=5
    sdram_schmoo=0x02000020
    dtparam=sd_overclock=100
  • My Pi3 B+ is arrived!
    It's time to overclock it, just after the unboxing :D

    I'll use my Flirc case v1

    About Milhouse OC settings:

    sdram_freq=720

    This is an huge settings: without heatsink on memory chip? Only with flirc case?

  • About Milhouse OC settings:

    sdram_freq=720

    This is an huge settings: without heatsink on memory chip? Only with flirc case?

    Without a heatsink on the memory chip, tested outside a case (although it also seems fine now I've put it in a FLIRC v1 case), and exhaustively tested with memtester.

    BTW I've now stopped overclocking with:

    Code
    arm_freq=1450
    gpu_freq=560
    over_voltage=6
    force_turbo=1
    
    sdram_freq=580
    over_voltage_sdram=5
    sdram_schmoo=0x02000020
    dtparam=sd_overclock=100

    and now use only the following:

    Code
    gpu_freq=500
    over_voltage=2
    
    sdram_freq=580
    over_voltage_sdram=5
    sdram_schmoo=0x02000020
    dtparam=sd_overclock=100

    The large arm over_voltage=6 prevents the SoC from reducing voltage during the mid-level throttle at 1200MHz, and the 1450MHz (arm) and 560MHz (core) overclocks are simply not that beneficial (the over_voltage=6 was needed for core to hit 560MHz) while the mid-level voltage throttle is very useful at managing SoC temperature.

    Performance (in LibreELEC) is also fine without force_turbo=1, so I've not bothered to enable that either with the 3+.