Test Tim’s New Scratch Beta

Update: from now on, you’ll be able to find the most recent beta release of Scratch, and report any issues, on GitHub.

Since we wrote about our efforts to port Scratch to modern version of the Squeak VM back in January, Tim Rowledge has been beavering away, fixing the bugs you found and adding in the remaining features. We now have something which we feel is very nearly ready for release, and we’d like your help in shaking out any remaining issues: this will be the version of Scratch that ships with the Raspberry Pi in the next academic year, so it’s critical we find these issues now. We are particularly interested in any internationalisation bugs that may have been introduced, or any incompatibilities with the old version.


If you’d like to have a play, you can download the beta here. From the shell, decompress the archive by typing:

tar -xzvf NuScratchBeta4.tgz

and run Scratch by typing:


If you find any bugs please leave a comment under this post – we’ll get right on them. Thank you!



Please note that startup is quite slow right now because it is parsing the full list of language files and being a bit long-winded about it. Similarly hitting the button for the menu of languages takes far too long. If this bothers you on a regular basis you might consider removing some of the .po files in
If you only need the English messages you could remove all the files.



Great work.

I just tested using the speedtest code in this test from about a year ago. http://winkleink.blogspot.co.uk/2013/06/raspberry-pi-model-scratch-performance.html

With the latest image the speed is about the same 33.64 seconds.
On my DVI monitor it doesn’t fill the screen.

Counter works perfectly. Increments in 1s.

Definitely usable and fast.


Can I test it on a different system than my Raspi?
Obviously not. On LinuxMint 13 (Ubuntu 12.04) 64-bit it says:

/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.


Err, it’s an ARM VM, so no it won’t really run on an x86 box. You *could* however run the image on any recent x86 VM . I run it all the time on an iMac.


doesn’t work for me: i get:

pthread_setschedparam failed; consider using ITIMER_HEARTBEAT: Operation not permitted


Hmm, that thread error implies you are using an unsuitable kernel. What version are you running?


I get pthread_setschedparam failed; consider using ITIMER_HEARTBEAT: Operation not permitted, but when I logged in as root and ran it that didn’t happen.


Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux


Just a quick test… started up pretty quick ( just a couple of seconds) but you do need to click on the stage to get the blocks to show up.

When running a move-turn forever loop, the stop button requires a good few clicks to stop it.


Yes, there are some interesting issues still needing fixing in the input event area. It’s worth experimenting a little by wiggling the mouse slightly as you click on the start/stop buttons – sometimes that appears to persuade the system to recognise events.


Oddly enough the start button worked fine.

With how smooth scratch now runs i wonder if a mandelbrot fractal would take less time to make than my last attempt of over an hour…


There’s a minor bug when you use a slider to set a variable: when set to a non-zero value and you click on the slider knob, it resets the variable straight back to 0.


Think it is a feature, and same behavior on win-1.4-scratch. A standard slider has an input range from [0..100]. So when you start using the knob, it puts the value to something in its input range. Try setting the min,max values on the slider to say [-100..100], and a variable value of say -10 will not be set to 0 then.


Nope, the current version of Scratch 1.4 for Raspbian, the Windows and Mac versions do not behave in this way. What I’m talking about is when you’ve already set a variable to a value using the slider (say 15) and then you click on the slider knob to change it. With other versions of Scratch you can adjust the value in either direction (e.g to 14 or 16). With this new beta, the value jumps back to zero.


Yeah, I see what you mean. You can drag the slider ok but next time you drag it, it jumps back to 0. Never noticed that before. Good catch.


How easy/hard is it to create new blocks in the new setup? For example, could a network broadcast message with a given string be turned into a new block? This could preserve the ability to run on vanilla Scratch, but allow the Raspberry Pi version to be simpler.


Is it open source? If so, why not host it on a public repo (GitHub?) so others can hack on it too?
And I guess it would be easier to track issues there then it would be in the comments section here …

Just a though :-)


NOOBS 1.3.7, Raspbian, LXDE:
Some issue here with the Maximise icon. Sometimes OK, other times left me with blank (black then white) window that could be min- max-imised but not closed by app’s X, app’s Close, or taskbar Close Window.

Two Scratch processes running like this from one LXterminal initiation: closing the console removed only one of the two misbehaving Scratch instances. pstree gave me the process id for squeakvm, whereupon I could kill it.

Is this the place for such details?

Bernard (of RISC OS).


Hmm, that’s definitely odd. I’d have to guess that whatever resulted in you having two copies running at once also messed up the presentation mode setup.I wonder if I can replicate it.


Presentation mode nice and speedy, but gives rather too small an area, and using slider to change value of displayed variable produces only Squeak message boxes (though slider works OK in Programming mode).

BTW: /locale, not /local, for the optional language .po files.


The presentation mode area is basically the 480*360 normal stage magnified by 2 and centred in whatever the fullscreen resolution is; nothing I can do about that until and unless we decide to go past the standard Scratch setup. *That* is a whole ‘nuther can-o-wyrms.

local vs locale – DYAC!


List performance is greatly improved. Sorting a list of 30 numbers on current version of scratch takes av 59 seconds. This new beta version does it in av 29. Awesome!


Problem 1:
drag an operator (keep it simple, take (1+1)) to script area.
When doubleclicking aka executing this operator (without a ‘hat’), the result is displayed in a bubble popup.
In win-1.4-scratch, move the operator and the popup disappears.
In beta-scratch, move the operator and the popup does not disappear.

Problem 2, more tricky.
I have a scratchClient (remote sensor protocol), sending infrared control signals as string like ‘11000000000011’. I convert this to a numeric value in scratch. To doublecheck, the following sample uses prefix AB to ensure the value is a string type. The quotes in the folling sample are only for clarification, not enterd in scratch.

create two variables a, b
set a=’AB11111111111111111111111111111111111′
set b=0
if letter(14 of a) = ‘1’
change b by 1

in raspbian-scratch-1.4, the result is b==1
in beta-scratch, result is b=0. When I replace the if-statement by ‘if 1=1’, the increment is performed. Seems to be a char to int autoconversion problem.


On a script element, rightclick mouse to get the ‘help/duplicate/delete-Popup.
In win-scratch-1.4, the popup appears.
In beta-scratch, in addition to the popup there is a bubble popup ‘Enter text to narrow selection down to matching items’.

Menu help/help page does not work.
In raspbian-scratch-1.4, dillo appears with help content.
In beta-scratch, nothing happens.

Character display problem.
In german, the ‘grow sprite’ popup text is displayed as ‘Objekt vergr^ßern’ instead of ‘Objekt vergrößern’. Could indicate a unicode char set display problem.

Language selection display.
In Win-scratch-1.4, the language selection menu displays complete language names like ‘Deutsch’ or ‘Francais’
In beta-1.4, it is ‘de’ and ‘fr’. Only English is complete.


In Projekt notes, when I enter german umlaut chars, these are displayed as wrong chars. In lxterminal, leafpad or midori address bar, these are displayed correctly.
Independent of language settings of scratch beta.
This problem is similiar to text display, but affects also text online entered.

Import sprite, things, banana.
win-scratch-1.4, the background is alpha.
beta-scratch-1.4, the background is not ‘alpha’, but white.
Clearly visible if you have a non-white stage.
Also in object palette, the background is displayed white.

Let a sprite ‘say ‘hello”.
In raspbian-scratch-1.4, the text is prox double the size as in beta-1.4.


weird behaviour in both scratch versions.

create variable, display on stage. Expected is to have at most 1 decimal place displayed.
So if you set a=1, and then repeat 5 times, a = (a / 2) the display is ‘0’.
But if you run a block set a = 0.0312, it is displayed as 0.0312 on stage. Cool.


I’ve opened a forum thread for this; let’s skip over there – http://www.raspberrypi.org/forums/viewtopic.php?f=77&t=78382

Leave a Comment

Comments are closed