chilipie-kiosk icon indicating copy to clipboard operation
chilipie-kiosk copied to clipboard

Any timeline for building an image with Raspbian Buster to support the Pi4?

Open brettpappas opened this issue 5 years ago • 43 comments

Wanted to see if there is any work or plans to create a new image based off Raspbian Buster Lite in order to add support for the new Pi 4's.

Could useful to provide a provisioning script if someone wanted to build their own image also (using something like ansible).

brettpappas avatar Jul 01 '19 19:07 brettpappas

Yes, we've been meaning to order one to the office, and then update the image. Thanks for reminding me...

The image preparation is already scripted to a very large degree. Should be simple enough to modify for building other images, if one is so inclined!

jareware avatar Jul 01 '19 19:07 jareware

A lot of shops are currently saying something along the lines of:

Please note that delivery dates for Raspberry Pi 4 models are uncertain. We estimate that the 4 GB model will be delivered in September. This is an estimate and can be changed to an earlier or a later date with short notice.

So this may need to wait a bit, for practical reasons.

jareware avatar Jul 02 '19 10:07 jareware

Thanks - I will take a look at the prep script! I have a feeling that the 4GB version will be hard to get and have a high demand for the rest of 2019.

brettpappas avatar Jul 02 '19 12:07 brettpappas

It would be fantastic to be able to use it with the PI 4. Congratulations your project is really useful, thank you!

benderllin avatar Jul 20 '19 03:07 benderllin

Thanks for the feedback @benderllin, appreciated!

Still waiting to get some hands-on time with the 4, but should happen within a few weeks now!

As mentioned above, the image setup is mostly scripted, so if you have one and have a bit of extra time, you can probably already make your own quite easily!

jareware avatar Jul 20 '19 09:07 jareware

Hi Guys

if you guys can get me pi 4 I would like to start this project . any how I'll start source build from my end and then you guys test it

Cheers danrox

darshana-danrox avatar Jul 26 '19 18:07 darshana-danrox

I can send you one 2 GB version, i contact you. Thanks

benderllin avatar Jul 26 '19 20:07 benderllin

I also got my hands on a 4, I should have time next week to start fiddling with them :tada:

jareware avatar Jul 26 '19 20:07 jareware

Is there any update to this? I've paused all my projects in anticipation of this :)

Numiz avatar Aug 13 '19 07:08 Numiz

Is there any update to this? I've paused all my projects in anticipation of this :)

here working on it, soon we report

benderllin avatar Aug 15 '19 04:08 benderllin

@benderllin great to hear, thanks a lot!

jareware avatar Aug 15 '19 08:08 jareware

Took a first look at this: it seems that while nothing on the software package side has changed too much, some of the auto-login stuff has, and e.g. the Plymouth splash screen isn't working anymore.

jareware avatar Aug 18 '19 08:08 jareware

Seems that the old method of just systemctl enable getty@tty2 doesn't do it anymore.

jareware avatar Aug 18 '19 08:08 jareware

Took a first look at this: it seems that while nothing on the software package side has changed too much, some of the auto-login stuff has, and e.g. the Plymouth splash screen isn't working anymore.

Auto log in resolved 
AUTOLOG="$(cat <<EOF
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin $SUDO_USER --noclear %I \$TERM
EOF
)"

ssh "sudo systemctl set-default multi-user.target"

ssh "sudo mkdir -p /etc/systemd/system/[email protected] && sudo touch /etc/systemd/system/[email protected]/autologin.conf && echo '$AUTOLOG' |sudo tee /etc/systemd/system/[email protected]/autologin.conf "  
ssh "sudo mkdir -p /etc/systemd/system/[email protected] && sudo touch /etc/systemd/system/[email protected]/autologin.conf && echo '$AUTOLOG' |sudo tee /etc/systemd/system/[email protected]/autologin.conf " 
ssh "sudo mkdir -p /etc/systemd/system/[email protected] && sudo touch /etc/systemd/system/[email protected]/autologin.conf && echo '$AUTOLOG' |sudo tee /etc/systemd/system/[email protected]/autologin.conf " 

# Set auto-login for TTY's 1-3
ssh "sudo ln -fs /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]"
ssh "sudo ln -fs /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]"
ssh "sudo ln -fs /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]"

darshana-danrox avatar Aug 25 '19 11:08 darshana-danrox

Great stuff, thanks, I'll try that as soon as I'm able!

Keep the fixes coming, if you have any. :sweat_smile:

jareware avatar Aug 27 '19 07:08 jareware

@darshana-danrox your suggestion is awesome I generated a working image in like 20min with it!

austinbv avatar Aug 28 '19 04:08 austinbv

Thanks mate . I have generated the image too but still has some issues on my end . if you have resolve it send me config files I'll cross check and update

darshana-danrox avatar Aug 28 '19 04:08 darshana-danrox

@darshana-danrox what issues are you seeing? We can create a check list here to verify

  • [x] Boots directly to full-screen Chrome - with all the features of a modern browser
  • [x] No automatic updates - no surprises due to Chrome (or other packages) suddenly updating
  • [x] Automatic crash-recovery - accidental unpowering won't result in "Chrome did not shut down correctly :("
  • [x] Custom startup graphics - displays customizable graphics instead of console messages during startup
  • [x] Lightweight window manager - uses Matchbox for minimal clutter and memory footprint
  • [x] HDMI output control - ready-made scripts for turning off the display outside of office hours, for example
  • [x] Cursor hiding - if you leave a mouse plugged in, the cursor is hidden after a brief period of inactivity
  • [x] Automatic reboots - reboots the Pi nightly, when nobody's watching, to keep it running smoothly
  • [x] Based on a recent Debian - if you want to add your own tweaks, all the expected packages are one apt-get away
  • [x] Batteries included - the most common how-to's and ProTips have been collected to the first-boot document
  • [x] wpa_conf file works

austinbv avatar Aug 28 '19 21:08 austinbv

chilipie-kiosk.zip it was my custom testing with xsession I got it resolve mate

Note : on debian 10 (buster) web browser package named

chromium

config file and setup script changes can be apply

package name change chromium-browser >> chromium for application initiate we can apply alias chromium-browser >> chromium or name change directly on script

what would be better

darshana-danrox avatar Aug 30 '19 07:08 darshana-danrox

Cool! Has anyone tested it already on pi4?

benderllin avatar Sep 02 '19 17:09 benderllin

@benderllin I have it running on a pi4

austinbv avatar Sep 03 '19 15:09 austinbv

As the entire thought behind this is to make it easy to setup and maintain, could someone actually give us an updated guide on how to configure it for RPI4 or update the .img?

Numiz avatar Sep 04 '19 15:09 Numiz

Hey folks, I appreciate the enthusiasm for this! As it stands, the Buster upgrade has broken more things than previous releases, and still takes a bit of work.

I've started the work in the raspbian-buster branch. Feel free to send PR's as you figure things out!

jareware avatar Sep 07 '19 11:09 jareware

Do you have an issue list? We have a conf in 2 week where we plan on using this, so I am happy to help if you tell me what need to be solved

greg-nagy avatar Sep 07 '19 11:09 greg-nagy

I built a first alpha release off the raspbian-buster branch, and it's available for download here:

https://github.com/futurice/chilipie-kiosk/releases/tag/v3.0.0-alpha1

Please use this to do testing, and report issues here. Even better, if you can figure out fixes for them, please include the commands you used, or which files you edited, so they can be incorporated to the automated image build script.

@minutuslausus, see @austinbv's list above, and the things listed on the release page!

jareware avatar Sep 07 '19 14:09 jareware

Actually, to update @austinbv's list, I just tried putting in a wpa_supplicant.conf after flashing, and it worked without a hitch! Not sure what you might've done differently..?

jareware avatar Sep 07 '19 15:09 jareware

2 gb model using wifi and ethernet works ok.

benderllin avatar Sep 07 '19 17:09 benderllin

@jareware The WPA works I just hadn't confirmed it. I think with the PR everything seems to work fine.

austinbv avatar Sep 07 '19 19:09 austinbv

I got the hw so I got to play with it. Almost everything worked fine, but I had to turn off the GL driver for screen rotation and overscan settings.

Other then that everything works as expected (at least in my use case)

greg-nagy avatar Sep 14 '19 10:09 greg-nagy

@minutuslausus thanks for the feedback! What do you mean specifically with "turn off the GL driver" though?

jareware avatar Sep 16 '19 08:09 jareware

Ctrl + alt + f2 - Advanced options - A7 GL driver - use legacy driver

I believe the rasbian for rpi4 came with a new webgl driver which does not support the overcan and it's still a bit instable

For me I needed my displays rotated, and when I set it up, the pi booted in properly filling up the whole screen and rotated, but when the chrome loaded it was stuck on the upper half of the monitor

greg-nagy avatar Sep 16 '19 09:09 greg-nagy

Hi, thanks for this update! I'm running rasberry pi 4 with 2GB memory and have trouble with my html5 video kiosk app which is looping trough vimeo mp4 files. Everything works fine on my pc / chrome but chromium throws in the 'Aw, Snap! Something went wrong while displaying this web page' message. Is there a way to search for the cause here? The web console doesn't show any error.

studioweb avatar Sep 18 '19 11:09 studioweb

hi studioweb, marketing application?

1.Buster lite uses Adobe Flash Player 32.0.0.207 and OpenJDK 11anyway, make sure youre not running newest technology.

  1. Pi4 have enought ram for that, but standard JavaScript and html5 usually works uni-threaded, so only one procesor will work, maybe is there a software solution, but the pi4 is not going to run all that shit easily.

Maybe overclocking? or maybe changing how the gpu works changing the buster lite? if anyone knows...

benderllin avatar Sep 18 '19 13:09 benderllin

@benderllin is right, even though the 4 is quite powerful already, it still can't do everything a full blown PC can.

@studioweb is the page you're showing publicly available anywhere? Otherwise it'll be hard to reproduce this. :worried:

jareware avatar Sep 19 '19 06:09 jareware

@benderllin This app will be used in multiple exercise room setup where a client goes trough 10 exercise rooms. In each rooms they will do a exercise based on the instruction on the monitor. Each monitor contains 2 videos and 2 webcam feeds so they can watch their own movements.

@jareware The version which goes into error after 10-15 mins is located at http://dev.studioweb.nl/webcam/test1.html (movies switch/rotate very fast on purpose)

I'm now testing a iframe setup where the parent frame just refreshed the iframe each X minutes. It looks like this fixes the current problem I had but I'd prefer the standalone version with the JS worker since that prevent reloading the page completely. Networks checks can be done from within the worker.

studioweb avatar Sep 19 '19 07:09 studioweb

The alpha1 release is working great for me so far, with the exception of screen resolution. I'm trying to run a 4K monitor in 1920x1080. I'm able to change the console resolution via raspi-config, but when Chromium opens we're back in 4K. Any suggestions welcome.

PS. I love this application.

IvoryDynamite avatar Sep 20 '19 20:09 IvoryDynamite

I echo IvoryDynamite's comments. It's working great for me. I installed the RPI 4 (4GB) on a new LG TV and had some resolutions issues too. I ended up getting it right by adding these settings to /boot/config.txt

Not sure if all these settings were needed but it is what worked for me.

disable_overscan=0 hdmi_force_hotplug=1 hdmi_ignore_edid=0xa5000080 hdmi_group=2 hdmi_mode=4 overscan_left=24 overscan_right=24 overscan_top=24 overscan_bottom=24 config_hdmi_boost=4

kpdillon avatar Sep 20 '19 22:09 kpdillon

Hey, thanks a lot for these, very useful!

The core idea of the project is to just work without any fiddling around in config files, or even raspi-config, so my challenge here is obviously to try and use this information to come up with a setup that works out-of-the-box on various RasPi versions AND various kinds of TV's/displays... so definitely sounds like a challenge with the 4 and/or 4K TV's. :sweat_smile:

jareware avatar Sep 23 '19 08:09 jareware

Additional input if helpful:

  1. I'm using a 4K monitor rather than a TV.
  2. When the kiosk application starts up, it initially displays using just the upper-left quarter of the screen (so I assume 1920 x 1080 out of the 4K available). Then after a few seconds it reverts to full-screen 4K and stays there.

It probably seems silly to run in 1080p on a 4K monitor but my application uses transition effects (fades, movement, etc) and they just aren't smooth when it has to push 4K pixels around.

This application will be hugely useful to me if I can get it working so if this is the time to point me to the donation link please do so. :)

IvoryDynamite avatar Sep 23 '19 13:09 IvoryDynamite

Just noticed that the RPI4 alpha 1 version only has a few hundred MBs of free space in / by default, and running apt-get dist-upgrade fails due to the lack of free disk space. Do you think it would make sense to grow the root partition in the image a bit to allow smoother updates?

pyryk avatar Nov 21 '19 09:11 pyryk

Hmm, I thought it had more, but you're absolutely right @pyryk, a bit more would be better!

IIRC the current size is capped so that the image will still fit onto a 4 GB SD card, but given that it's almost impossible to find even 8 GB ones anymore, optimizing for this probably doesn't make any sense!

jareware avatar Nov 28 '19 14:11 jareware

@darshana-danrox so you got the auto-login working again for tty's 1-3? I used the same code you did (which seems to also match what the latest raspi-config does), but I'm still being greeted by the login prompt on tty2 and tty3.

@IvoryDynamite I'm seeing the same behaviour, though I'm testing with a PC display; the initial page show is done in (what I assume to be 1080p) but after ~5 sec it reverts to the correct resolution for the display. I think it's some kind of delayed auto-detection.

jareware avatar Dec 04 '19 10:12 jareware

FYI, there's another alpha build available now, which is based on a more recent upstream Raspbian. Still trying to find the time to fix the remaining issues. Sorry for the delay with the Pi 4; previous new models have been easier to upgrade to.

jareware avatar Dec 04 '19 10:12 jareware