RaspberryPi

From LinuxMCE
Revision as of 11:08, 14 November 2014 by RayBe (Talk | contribs) (Add HDMI-CEC control)

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.
At the moment CEC HDMI control is under development and can only be setup manual. In the future this will be a automatic process. Not all commands are implemented yet.
To be able to use CEC HDMI Control:

  • Install the CEC Adaptor (DT#2284) as a child of your main RaspberryPi MD (DT#2216), this will also install the devices:
    • 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)

At this point you can 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 tv)
If you want LMCE to be able to control your A/V equipment you can install child devices to your CEC Embedded Transmit device (note: at the moment only power on/off is supported, this will be extended in the future):

  • Generic HDMI-CEC TV (#2304) to control your CEC enabled tv.
  • Generic HDMI-CEC Player (DT#2305)to control your CEC enabled DVD/BLU-Ray players.
  • Generic HDMI-CEC Audio (AVR) (DT#2306) to control your CEC enabled A/V Receiver.

Right after you install one of the above DT's, the Setup-Wizard will appear.
In the Setup-Wizard set the appropriate settings to your setup and finish it.
Check in Webadmin -> Devices -> A/V Equipment -> Connection Wizard if the right settings are being made.

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.
    • Orbiter will automatically regenerate after rebooting and detecting a new resolution 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, currently you can control LMCE with a standard TV-remote and the power on/off commands are implemented.
  • 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.