Forum Discussion

DadOfTwo's avatar
DadOfTwo
Visitor
9 years ago

Testing on Roku XD's 2050's

Hi all

I'm looking for the lowest spec box to test on for an SDK 2 app I'm developing.

I've got a Roku XD 2050 but when I deploy my SDK 2 app am getting a file size warning:

Warning: Application size limits it to Roku 2 players, Roku XDS and Roku XR. It will not work with other Roku 1 players. (1101216 > 768000)

The app is deployed to the box. But am seeing SceneGraph code errors when attempting to launch:


BrightScript Micro Debugger.
Enter any BrightScript statement, debug commands, or HELP.

Current Function:
008: sub showChannelSGScreen()
009:   screen = CreateObject("roSGScreen")
010:   m.port = CreateObject("roMessagePort")
011:   screen.setMessagePort(m.port)
012:   scene = screen.CreateScene("MainScene")
013:   screen.show()
014: 
015:   while(true)
016:     msg = wait(0, m.port)
017:     msgType = type(msg)
018: 
019:     if msgType = "roSGScreenEvent"
020:       if msg.isScreenClosed() then return
021:     end if
022:   end while
023: 
024: end sub
'Dot' Operator attempted with invalid BrightScript Component or interface reference. (runtime error &hec) in ...AAO4sI47/pkg:/source/Main.brs(11)

011:   screen.setMessagePort(m.port)
Backtrace:
Function showchannelsgscreen() As 
   file/line: /tmp/plugin/F...AAO4sI47/pkg:/source/Main.brs(11)
Function main() As 
   file/line: /tmp/plugin/F...AAO4sI47/pkg:/source/Main.brs(5)



This is the code Roku recommend to start up a Scene Graph app from here

Looking at the official Roku list of supported devices apparently the 2050's are no longer supported by Roku.


Thanks

Charlie

8 Replies

  • Unfortunately the list of "Supported Models" appears horizontally truncated on that page you linked.  But yeah, anything supported should work for you... I'm guessing anything listed under legacy will probably never support RSG.
    These two are the lowest (visible) on the supported list: 2450X & 2500X
  • destruk's avatar
    destruk
    Streaming Star
    You could look at the sample code to determine if a firmware update is required for Scenegraph -- granted the code is old, but it should still run to tell you if it will work on these devices.
    Sub Main()
    If firmwareRequiresUpdate() Return
    showChannelSGScreen()
    End Sub

    Function firmwareRequiresUpdate() As Boolean
    'First firmware release with SceneGraph SDK2.0 support is 6.0.
    majorRequirement=6
    minorRequirement=0
    buildRequirement=0

    'get firmware version
    version=CreateObject("roDeviceInfo").GetVersion()

    Print("Firmware Version Found: "+version)

    major=Mid(version,3,1)
    minor=Mid(version,5,2)
    build=Mid(version,8,5)

    Print("Major Version: "+major+" Minor Version: "+minor+" Build Number: "+build)

    requiresUpdate=FALSE
    If Val(major)<majorRequirement
    requiresUpdate=TRUE
    Else If Val(major)=majorRequirement
    If Val(minor)<minorRequirement
    requiresUpdate=TRUE
    Else If Val(minor)=minorRequirement
    If Val(build)<buildRequirement
    requiresUpdate=TRUE
    End If
    End If
    End If

    If requiresUpdate showRequiresUpdateScreen()
    Return requiresUpdate
    End Function
  • "joetesta" wrote:
    These two are the lowest (visible) on the supported list: 2450X & 2500X

    I personally gave away my old 2500X that I had acquired for testing simply because I've decided they are too few out in the wild to care about any more. For all intents and purposes, the Roku 1 2710 is the weakest Roku that is in enough homes to matter.
  • Thanks Komag - good to know!
    I wonder how much this will change with the new firmware coming out?
  • Thanks, all.

    I need to read up on the release process but if someone who's been thought it could comment that would be very appriciated... when you publish an app to Roku do you get the ability to target a minimum firmware version? Like you do on Google Play for Android.

    destruk's approach to flag up old firmware versions is good but how often would you imagine that scenario happening? Users that try side loading or block auto updates?
  • When you publish a Roku channel you have to specify a minimum firmware version. As long as you specify a minimum version of at least 6 then your channel should not get installed on devices that don't support Scene Graph.

    Furthermore, Roku has claimed that legacy devices (including your XD 2050) will no longer be able to install newly-published channels, regardless of whether or not they are Scene Graph channels.

    There's no way to "side-load" a channel to a Roku device unless the developer has given the user the channel's source code.

    I don't think it's necessary for a Scene Graph channel to check that its running on an OS version that supports Scene Graph, given the above.
  • destruk's avatar
    destruk
    Streaming Star
    Yeah the code check will be useless soon.  So there's no real reason to use it.  It was in the sample code files on the wiki SDK pages.