RaspberryPi

From LinuxMCE
Revision as of 22:55, 23 November 2014 by Phenigma (Talk | contribs)

Jump to: navigation, search

Please be aware that this is in flux as a transition is made to qOrbiter. RaspberryPi diskless creation has stabilized somewhat.

Device Specification

The Raspberry Pi is an ARM based computer the size of a credit card. 700Mhz, 256MB or 512MB RAM, FastEthernet, 2xUSB, GPIO

When using the sdcard below the RPi will be overclocked using the standard Raspberry Pi foundation overclock settings. These are throttled automatically as thermally required. You are free to overclock the device further by editing the config.txt file on the sdcard.

Development

See Porting_Raspbian for the current development status of LinuxMCE on Raspberry Pi.

Media Director

The Raspberry Pi can be used as a minimal Media Director within LinuxMCE. The following instructions will show how to create a MD.

Requirements

  • Your core must be LinuxMCE 1204 or higher.
  • The Raspberry Pi must be plugged into the internal side of your LinuxMCE core's network to act as a media director.
  • The Raspberry Pi must be a 512MB Model B (or B+). The Model A and the 256MB Model B do not have enough RAM to boot into Orbiter.
  • The Raspberry Pi must be plugged in using the HDMI connector and using HDMI sound. Set an S (for Stereo) or H (for HDMI) for the Audio Settings for the MD in webadmin.
    • The Raspberry Pi will detect the boot resolution of your television and adjust itself accordingly.
    • If resolution has changed since the last boot the orbiter will be regenerated.
  • You may wish to have a usb keyboard or mouse for orbiter interaction. USB-UIRT/MCE Remote is also possible but must be installed using the webadmin (device detection is working but the device is not added currently).

Setup Steps

  • Get the LinuxMCE Raspberry Pi MD sdcard contents.
  • Insert the sdcard into the Raspberry Pi.
  • Power up the Raspberry Pi.
  • On first boot the u-boot bootloader will start, it will try to grab various different pxe files until it finally finds the default pxe kernel and initrd.
  • The kernel will boot, there is a 10second delay when activating the ethernet drivers to allow for the hardware to respond properly, this delay only occurs during the default kernel/initrd boot.
  • Raspberry Pi will display "Announced ourselves to the router".
    • If you have the lmce1 default image installed (see above,) the core will run Diskless_Setup to prepare an RPi MD.
    • If you have the lmce2 default image installed (see above,) you will be prompted on existing orbiters to select the type of RPi device you would like installed. Once you have made your selection the core will run Diskless_Setup to prepare the device.
  • The Raspberry Pi will reboot automatically once Diskless_Setup completes properly.
  • You should go to an existing orbiter and 'Reload the Router' after this point. You will be prompted to do so eventually on the moonPi, if you have not already done so.
  • On the second boot (called the 'FIRSTRUN') the bootloader on the sdcard will be updated to the version on the diskless image.
  • The Raspberry Pi will reboot again.
  • On the third boot LinuxMCE will slowly come to life. Please be patient, this can take up to 45 minutes. You will be presented with the Setup Wizard after ConfirmDependencies has finished installing all ancilliary packages.

Setup Steps for CEC HDMI Control

The RaspberryPi supports CEC HDMI control.

  • Your standard TV-remote can be used to control LMCE and LMCE can control your A/V equipment.
  • HDMI-CEC from LinuxMCE is under active development.
  • Currently the user must perform some manual steps to complete HDMI-CEC configuration.
    • The following devices should be automatically installed:
      • CEC Adaptor (DT#2284) as a child of your main RaspberryPi MD (DT#2216)
      • CEC Embedded Transmit (DT#2303) as a child to the CEC Adaptor
      • HDMI-CEC Remote (DT#2285) as a child to your main RaspberryPi MD (DT#2216)

After a router reload you should be able to control LMCE with your standard TV-remote. (note: as vendors tend to make different implementation of the CEC-protocol, not all commands may be supported by your devices)
If you want LMCE to be able to control your A/V equipment you can install child devices to your CEC Embedded Transmit device

  • Generic HDMI-CEC TV (#2304) to control your CEC enabled tv.
  • Generic HDMI-CEC Player (DT#2305) to control your CEC enabled CD/DVD/Blu-Ray players.
  • Generic HDMI-CEC Audio (AVR) (DT#2306) to control your CEC enabled A/V Receiver.
  • PS3/4 (HDMI-CEC) (DT#2309) to control a Playstation 3 or Playstation 4 game system.

The Setup-Wizard may appear on-screen when adding one of the above devices

  • Setup connections according to your actual device connections.
  • Check Webadmin -> Devices -> A/V Equipment -> Connection Wizard and ensure the pipes are set correctly.

You will have to set the hdmi physical address for any devices with inputs (TV, AVR).

  • In the device data section set the physical address in the Port/Channel entry.
    • The television is always '0000'. A device connected to the first input of the TV is address '1000', the second input is '2000'.
    • For devices connected below an AVR the AVR is connected to an input on the TV and the next digit of the address describes the input of the AVR that your device is connected to. So with an AVR on input 3 or the television and a Blu-Ray player on input 2 of the AVR the Blu-Ray player's address is '3200'.
    • There are some good internet resources on this, please ask for help in the forum or irc if you need assistance.
    • It is intended that this will be automatic eventually, CEC control is under active development.

Manual Settings

  • Overscan - currently only able to change by manually editing the config.txt file on the sdcard.
  • Overscan compensation - currently only able to change by manually editing the config.txt file on the sdcard. In /sdcard/config.txt from a booted moonpi.
    • Orbiter will automatically regenerate after rebooting and detecting a new display resolution.
  • Audio settings are adjusted in webadmin: S = Stereo, H = HDMI, H3 = HDMI with passthrough capability for AC3 & DTS

What works

  • Orbiter UI1
  • Photo Screen Saver
  • AppServer
  • HAL
  • Embedded phone.
  • OMX_Player (alpha) will play audio and video. You must have the appropriate codecs to play MPG and VC1 media. The codecs can be purchased from the Raspberry Pi foundation.
  • USB-UIRT
  • HDMI-CEC control
  • Others? Please add additional, known to be working, devices here.

What does not work

  • Video Overlays
  • MythTV
  • Everything else... ;)
  • Serial GSD, it works... but it kills the CPU and causes media stuttering. Ethernet GSD should be doable.