Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
DadOfTwo
Level 7

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
0 Kudos
8 Replies
joetesta
Level 10

Re: Testing on Roku XD's 2050's

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
aspiring
0 Kudos
destruk
Level 10

Re: Testing on Roku XD's 2050's

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
0 Kudos
Komag
Level 9

Re: Testing on Roku XD's 2050's

"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.
0 Kudos
joetesta
Level 10

Re: Testing on Roku XD's 2050's

Thanks Komag - good to know!
I wonder how much this will change with the new firmware coming out?
aspiring
0 Kudos
DadOfTwo
Level 7

Re: Testing on Roku XD's 2050's

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?
0 Kudos
belltown
Level 7

Re: Testing on Roku XD's 2050's

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.
https://github.com/belltown/
0 Kudos
DadOfTwo
Level 7

Re: Testing on Roku XD's 2050's

Thanks, belltown!
0 Kudos
destruk
Level 10

Re: Testing on Roku XD's 2050's

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.
0 Kudos