monome / norns-image

79 stars 16 forks source link

build instructions for raspberry pi 3 #52

Open tehn opened 6 years ago

tehn commented 6 years ago

need build guide for off-the-shelf pi 3

okyeron commented 6 years ago

How best to submit this?

Would we want to include compile the kernel from source or using an image?

tehn commented 6 years ago

just a README would suffice, capturing the tips posted in the lines thread.

generally the existing norns-specific README is pretty complete, so this would just need to be an addendum for rpi3 specific issues.

simonvanderveldt commented 6 years ago

Would we want to include compile the kernel from source or using an image?

For just running on a regular RPi I'd suggest starting with the default kernel. That would mean you'd need to use a USB soundcard. The only other relevant thing you'd be missing is CONFIG_PREEMPT=y. If that proves to be problematic we can look into how to solve it.

okyeron commented 6 years ago

I have a fairly full set of instructions (integrating all the various norns readme's) which includes recompiling the kernel for preemp and timer freq and CPU scaling.

The question of compiling is which source to use - the github.com/monome/linux source ends up with 4.9.59 (I think) - which won't work on pi3b+

EDIT - raspbian stretch lite was updated again last week to 4.14.50 (2018-06-27)

This does not yet include audio setup as my notes from doing USB audio are a mess, but have good notes for the WM8731 codec. Maybe that'd be better for a separate doc.

Norns Build on Pi.txt

simonvanderveldt commented 5 years ago

I believe I've said the same in the topic on lines, but just use the upstream/Raspberry kernel. If you want to compile the kernel yourself use the upstream sources.

okyeron commented 5 years ago

Yeah - I'm an outlier since I was trying to compile in support for the ssd1322 display - but that had some issues compiling that on the most recent stretch releases. Raspi people looking for a 2.7in display should probably use a ssd1305 since that's already in the kernel.

ngwese commented 5 years ago

@okyeron - off topic but this might be of interest: https://github.com/monome/linux/commit/b63261e99e4716c61b4d1bb3d09470ad53a5d23e

okyeron commented 5 years ago

Yes indeed. Thanks. I'd ended up rewriting that myself (not sure if I was doing it correctly) :)

FigrHed commented 5 years ago

From the thread it sounded like one would have to make some hardware decisions as there aren't enough GPIO pins for the screen, the sound card and the controls. Is this correct?

okyeron commented 5 years ago

With a stock Raspberry Pi there are plenty of GPIO pins available to account for a soundcard, display and 3 encoders/buttons. You may be making reference to a comment that the PiSound soundcard/DAC may not have enough available pins (?).

Pin availability will depend on what soundcard you use, so you'd need to do some research.

jlmitch5 commented 5 years ago

Could we either expand the scope of this issue or open a new issue for documentation as it relates to building norns-image on a linux desktop, as well as for building for virtualization (i.e. docker or vagrant for mac/windows users)? Those are the ones I've seen mentioned the most on the forum.

I also remember reading some things about real time weirdness under virtualization. Could be good to include any limitations running on these other types of platforms has.

okyeron commented 5 years ago

FWIW - I am currently formatting the rpi build notes I posted above to a github wiki page here: https://github.com/okyeron/norns-image/wiki/Norns-Build-on-Raspberry-Pi

However, I have no idea how to add or submit this. There's not an official Wiki started on norns-image yet.

Also started a USB audio setup page: https://github.com/okyeron/norns-image/wiki/USB-Audio-Setup

okyeron commented 5 years ago

Should the raspi instructions include USB Audio setup instructions?