No HDMI signal in Screenly OSE Raspberry Pi

Hi there, I’m pretty new to the Balena environment but I have managed to install my first device.

I’m using a Raspberry Pi Zero W, it’s already loaded with Balena OS 2.29.2+rev1 and connected to BalenaCloud. The status of the device is online.

When I go to the Public Device URL, I can see and confirm that Screenly OSE is installed and running, however, the monitor connected to the Raspberry Pi is in black .

The Screenly Monitor & Power Info says: Unable to run tvservice. Unable to determine display power

At the first boot, I was able to see the screen and text while Balena OS was installing in the Raspberry Pi .

The installation guide doesn’t mention any more steps, although I remember searching on google and I finding a blog saying that one more step is needed for the Screenly package to be able to show locally through the Raspberry Pi hdmi output but I can’t find that page with those instructions.

Any suggestions ?

Hey @lenc, could you let me know which tutorial or base images you are using for this so that I can try to replicate the issue.

Secondly, is the HDMI monitor/tv connected before the raspberry pi is turned on?

You can also try adding the environment variable hdmi_force_hotplug=1 which will forge the GPU to enable HDMI.

Let me know how it goes.

Thank you

I’m in a similar situation. I’m just starting, and I had a Balena logo on the screen until I installed Screenly. I turned the monitor on, the slides I loaded appear for about 1/2 second, and then the screen went blank. I changed to a different display device, and it worked.

It seems that the monitor I was using didn’t like either the set resolution or scan rate. I found a different one, and the monitor info now says: state 0x12000a [HDMI CEA (16) RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive
I’ve got an old small television I plan to use with this, so I’ll try to go in to edit the config file to change the output resolution.

@Pauldow you can also set the resolution via config variables within balenaCloud. All of the options are documented on the Raspberry Pi site here, any of which you can add in the dashboard by prepending BALENA_HOST_CONFIG_.

I followed your advise and set custom configuration variables:

RESIN_HOST_CONFIG_hdmi_group 1

That gives me 1280 X 720 resolution for my cheap TV.

state 0x12000a [HDMI CEA (4) RGB lim 16:9], 1280x720 @ 60.00Hz, progressive

Also, when I created the configuration variable it automatically used the prefix RESIN_,
You said to use BALENA_ I assume everything will eventually transition to the BALENA prefix, but I just want to check if either will work now.

Hi again @Pauldow - you’re right in that either RESIN_ or BALENA_ prefixed variables will work right now but eventually this will fully transition to BALENA_.

Hi there, I seem to be having a slightly similar issue I was hoping someone might be able to help me with…

I have installed Screenly OSE via Balena Cloud but once the Screenly app launches at boot the screen goes blank. I can prove the HDMI output is working because when restarting the device I am able to see the boot screen and Balena logo for a few seconds before it goes blank (I’m assuming this is where Screenly kicks in). The monitor is receiving a signal from the device but nothing is being displayed because it never goes “off” or says No Signal.

I have had a look around the forum and tried the following device configs to no success:
RESIN_HOST_CONFIG_hdmi_group 1
RESIN_HOST_CONFIG_sdtv_aspect 3

Device - Rasp Pi 3B+
Code Deployed - 2019-09-25-Screenly-OSE

I should point out I am pretty new to all this so I’m trying to get my head around the Linux world so please forgive any glaring ignorance or missed important information.

I did take a look at the logs for what it was worth and while I couldn’t work out everything that was going on, I can see the Screenly Server service gets restarted every minute or two, not sure if this is normal behavior though.

It would help if you could share some of the logs from right before the service gets restarted.

screenly_weathered-river-30.01.20_10_45_19_( 1100).log (104.8 KB)

Please find attached the logs after a reboot. I’ve noticed both the screenly-server and screenly-celery sevice restart and this is usually about 3 seconds after the following error:
TypeError: from_buffer() cannot return the address of the raw string within a str or unicode object

I have tried the same setup on another Rasp Pi 3B+ just in case it was an issue with the SD card but I’m getting the exact same thing. This specific log is from the new Pi i’ve just provisioned but I have compared the logs and it’s the same error and same services restarting.


This tutorial works on a newly flashed RPI3 (with no other changes). Just tested it. Could you check on another RPI3? And if a second RPI3 exhibits the same behavior, could you grant support access and share the link to it?


Hey, so that is the guide I originally followed but I started from scratch and it’s actually working properly now. The only thing changed was the card reader used to burn the image…must have been a dodgy one. I will try the process again on the 2nd pie and hopefully can get that up and running also.

Thanks for your help.

hey @jason.dinsmore

Glad to hear you got it working! Hopefully, the second one works too.