GeeXboX Wii

From GameBrew
(Redirected from GeeXboX)
GeeXboX
Geexbox-wii.jpg
General
Authorfarter
TypeMedia Players
Version0.1beta3 IOS/MINI
LicenseGPL-2.0
Last Updated2010/02/27
Links
Download
Website
Source

GeeXboX is a free embedded Linux distribution which aims at turning your computer into a so called HTPC (Home Theater PC) or Media Center.

GeeXboX for Wii is an unofficial port of GeeXboX, to run on Nintendo Wii game console. This has been made possible by the excellent work of Wii "hackers" and homebrewers, especially TeamTwiizers and the gc-linux team.

Features

  • Wii homebrew.
  • Wii linux distro.
  • Wii media player.
  • Wii media center.

Installation

Starting with 0.1beta1, GeeXboX for Wii is released as two separate versions: GeeXboX for Wii (IOS) and GeeXboX for Wii (MINI). It is difficult to explain the differences between the two to someone without prior knowledge about Homebrew Channel (HBC) and Bootmii, etc.

GeeXboX for Wii (IOS) is the continuation of previous 0.1alpha releases and has to be launched by, preferably, HBC or other similar homebrew loading methods. This version does not support native WiFi or DVD; does not support USB 2.0; does not support front SD slot hot-swapping; does support returning to HBC.

GeeXboX for Wii (MINI) is basically the IOS version modified to take advantage of MINI firmware and has to be launched through MINI, i.e. manually from Bootmii GUI or automatically by replacing ppcboot.elf in bootmii folder. This version does support native WiFi (currently at a rather low speed); does support USB 2.0; does support front SD slot hot-swapping; does support native DVD; does not support returning to HBC.

Except the differences listed above, the IOS and MINI versions are nearly identical as far as other features are concerned. Please note that the extra features in MINI version do put heavier burden on CPU and memory usage. Therefore, if the MINI version-specific features are of little or no use to you, you are advised to stick to the IOS version.

A homebrew-enabled Wii and SD card is required, you can find the setup guide on the official website.

User guide

Controls

Wiimote

Setup:

  • Wiimote is the default remote control device in GeeXboX for Wii. For unmodified versions, nothing needs to be changed to enable wiimote support.
  • If in doubt, check that in /GEEXBOX/settings file, the 'REMOTE=wiimote' and 'WIIMOTE=00:00:00:00:00:00' lines are not modified or commented out.

Connection/Disconnection:

  • When GeeXboX for Wii has booted successfully, press ANY button, except the 'power' button, on wiimote and it will automatically tries to connect to GeeXboX for Wii.
  • If connection is successful, LEDs on the wiimote will flash and wiimote will rumble for a short while.
  • The connection is automatically terminated by the power-saving feature of the wiimote after long periods of inactivity and can also be manually terminated by pressing the 'power' button.
  • Reconnection is done by pressing ANY button, except the 'power' button, again.

Controls:

  • Only single and combo button-pressings on the wiimote are received by GeeXboX for Wii to trigger specific events.
  • Therefore, it is useless to point wiimote at the sensor bar, which is powered off by the way, or to wave the wiimote in any fashion.
  • Holding down button(s) will send repeated commands at a rate of about 4 times per second.
  • Detailed button commands can be viewed from the GUI 'help' menu. For customization of the commands, lircd_wiimote.conf and lircrc_wiimote files in /GEEXBOX/etc/lirc can be modified, which requires prior knowledge of lirc config file formats and is not advised for ordinary users.

Keyboards

Setup:

  • GeeXboX for Wii supports keyboard control by default and such support does not conflict with other remote control devices.
  • Therefore, it is not necessary to try to enable or disable such support.

Connection/Disconnection:

  • USB devices are hot-pluggable in GeeXboX for Wii and USB keyboards are no exception.
  • This is probably also true for RF wireless keyboards with USB receivers.
  • Bluetooth keyboards usually requires pairing before they can be used. To be able to use bluetooth keyboards in GeeXboX for Wii, the /GEEXBOX/etc/bluez file must be modified to set the correct paring key, specify the keyboard bluetooth MAC if targeted connection is desired, and uncomment proper HID-related options. Prior knowledge and experience of using bluetooth keyboards in linux is required.

Controls:

  • GeeXboX currently only supports single pressing of basic keys. Combo keys and multimedia keys are not yet supported.
  • Simplified information about keyboard control is available from GUI "help" menu and /GEEXBOX/etc/mplayer/input.conf.

Bluetooth Mobile Phones

Supported devices:

  • Not all bluetooth-enabled phones are usable as remote control for GeeXboX for Wii.
  • For an inexhaustive list of usable models, check out this anyremote page (GeeXboX for Wii does not use anyremote though).
  • Models listed there as working in bluetooth AT mode should be usable.

Setup:

  • Please note that 1), wiimote support will be disabled when mobile phones are used as remote control; 2), prior knowledge and experience of using bluetooth devices in linux is required for setup.

To specify mobile phone as remote control device, the first step is to edit /GEEXBOX/settings file and change the value of 'REMOTE' to 'bluemobile'.

  • For some (Sony)Ericsson models, it is also possible to set 'REMOTE' to 'bte'. Then /GEEXBOX/etc/bluez file should be modified to set the default pass key and specify the bluetooth MAC and serial service channel of the mobile phone by setting the respective options to correct values.
  • Finally, on the mobile phone, bluetooth should be enabled and the phone should be made discoverable and connectable. Consult the phone's user manual for detailed procedures.

Connection/Disconnection:

  • If setup is successful, upon booting of GeeXboX for Wii, you will be prompted on the phone to enter pass key for incoming connection.
  • Enter the pass key specified in /GEEXBOX/etc/bluez and the phone will start to function as a remote control.

Controls:

  • Only single key-pressing-releasing events are supported. Key definitions in the released versions are based on Benq-Siemens S68 and specified in lircd_bluemobile.conf and lircrc_bluemobile files in /GEEXBOX/etc/lirc folder.
  • Edit these files to customize for other models. If the bte driver is used instead of bluemobile driver, edit lircd_bte.conf and lircrc_bte files in the same folder to customize.
  • Prior knowledge of lirc config file formats is requried for such editing.

Network

GeeXboX for Wii comes with built-in http server, which provides web-based playback control and is accessible through USB ethernet, bluetooth or wifi (MINI version only). The interface is straightforward and requires no explanation.

See the "Networking" section for more information about networking.

GeeXboX for Wii also supports, theoretically, remote control through lirc over udp. This is an untested feature and only advanced lirc users should attempt to make it work.

Media sources

Front SD Slot:

  • [IOS version] As of this writing, Wii's front SD card slot is the fastest storage media available for use in GeeXboX for Wii (IOS). Hot-plugging is not supported. To change the card, use either the GUI menu or wiimote button commands and follow the OSD messages.
  • [MINI version] Hot-plugging is supported. At least some MMC cards are also supported.

USB External Storage:

  • GeeXboX for Wii supports external storage devices connected through Wii's backside USB interfaces, including flash disks, card readers, hard/optical drive enclosures etc.
  • Other devices such as mobile phones, MP3/MP4 players and handheld game consoles are also theoretically supported if they can function as USB storage devices.
  • Hot-plugging is possible, except for cards on card readers, which have to be plugged or unplugged while the card reader is detached.

Partition Type and File System Support:

  • GeeXboX for Wii supports MS-DOS and Apple partition types, reads nearly all major *nix/Windows/Mac file systems and writes many of them, except exFAT, NTFS, UFS, etc.

[MINI version] Wii Native DVD:

  • Native DVD support is currently incompatible with (at least some) modchips. The affected modchips have to be disabled for GeeXboX for Wii (MINI) to access DVD contents.
  • It seems that only DVD-R and pressed Discs are readable. This may or may not change in the future.
  • GeeXboX for Wii (MINI) only auto-mounts the disc (if present) during booting. To mount/unmount disc(s) after that, use the GUI menu options or wiimote commands.
  • This only concerns non-DVD-VIDEO discs. It is not necessary to mount DVD-VIDEO discs, which can be watched using the 'Play DVD' menu item without mounting.
  • GeeXboX for Wii (MINI) bypasses region protection and CSS encryption automatically.

LAN Shares:

  • GeeXboX for Wii supports both *nix/Mac NFS and Windows (i.e. Samba) shares, as well as Plan 9 9p shares.
  • NFS and 9p shares are mounted at boot time. Source paths and mount points are defined in 'nfs' and '9p' files in /GEEXBOX/etc folder, repectively. Examples are given in these files for you to follow when defining your own shares.
  • Windows shares can be automatically found and mounted when GeeXboX for Wii is running. If username and/or password are set for these shares, they have to be specified in /GEEXBOX/etc/network.
  • It is also possible to specify static shares to be mounted at boot time by following examples given in /GEEXBOX/etc/network.
  • Please make sure that share priviledge and firewall rules are properly set up on the sharing host machine, otherwise the shares may fail to mount.

LAN UPnP Servers:

  • GeeXboX for Wii supports accessing UPnP servers on local network.
  • These include dedicated LAN UPnP devices, game consoles serving content using UPnP protocol, or PCs running UPnP server software.
  • UPnP servers are automatically connected or disconnected, depending on server status, while GeeXboX for Wii is running. UPnP support must be manually enabled by modifing /GEEXBOX/etc/network.

Network Streams:

  • GeeXboX for Wii supports http/udp/rtp/rtsp protocol network streams, shoutcast/icecast network broadcasts, as well as extended .pls and .m3u playlists over http.
  • These have to be manually defined in /GEEXBOX/etc/netstream by following the examples given therein.

Supported Formats

Supported audio/video formats and codecs:

  • Media playback in GeeXboX for Wii is performed by mplayer, which in turn uses ffmpeg to provide audio and video decoding.
  • All formats and codecs supported by ffmpeg are therefore supported by GeeXboX for Wii.
  • This means that nearly all of the commonly used container formats and audio/video codecs, including WMA9 (starting with 0.1beta1) are supported by GeeXboX for Wii.
  • In addition, MPlayer also offers the possibility of dynamically loading non-open-source binary libraries for decoding certain non-open codecs (see below).
  • Due to hardware limitation and/or codec code complexity, certain codecs can not be decoded fast enough, especially at high resolutions/bitrates, and consequently, audio/video artifacts/stuttering/desyncing might occur.

Supported subtitle formats:

  • Mplayer in GeeXboX for Wii supports both major text subtitle formats (.srt, etc.) and vobsub subtitle formats (.idx/.sub).
  • Support for .ssa text subtitles is not yet fully implemented. For vobsub subtitles, archived .sub file in .rar format is also supported.

Using non-open-source binaries:

  • Starting with version 0.1alpha5, GeeXboX for Wii no longer guarantees the usability of non-open-source codec binaries in /GEEXBOX/codecs folder.
  • The reasons are 1), the few available binaries may not actually work, as they were compiled against different glibc version using different gcc version; 2) ffmpeg already decodes these codecs natively and with little to no artifacts.
  • In addition, unrar is now built-in with GeeXboX for Wii. Therefore, the following is only applicable for 0.1alpha4.

Due to licence restrictions, GeeXboX for Wii releases do not contain non-open-source binaries. If functions related to such binaries, as mentioned above, are desired, they can be downloaded from http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-ppc-20071007.tar.bz2 and http://www.rarlab.com/rar/unrar_ppclinux_380b2.tar.bz2. The extracted files should be saved to /GEEXBOX/codecs folder.

Networking

USB Ethernet

Hardware:

  • USB ethernet device support in GeeXboX for Wii is provided by linux kernel (2.6.31 as of this writing).
  • Many adapters and PC-to-PC connectors are supported, including the adapter for Wii sold by Nintendo.

Setup:

  • By default, GeeXboX for Wii will attempt to use DHCP to obtain IP address and gateway information, if USB ethernet device is detected and powered up.
  • To use static IP address, /GEEXBOX/etc/network must be modified to provide the necessary information.
  • Values for options HOST, SUBNET, GATEWAY, DNS_SERVER and possibly DHCP_TIMEOUT must be correctly specified.

[MINI version] If you wish to use USB ethernet rather than native wifi, you must set PHY_TYPE to "ethernet" in /GEEXBOX/etc/network.

Bluetooth

Hardware:

  • Wii's built-in bluetooth adapter is used for bluetooth networking in GeeXboX for Wii.
  • For ethernet over bluetooth, remote PC or handheld devices should support bluetooth PAN.
  • For obex over bluetooth, remote devices should support OBEXPUSH and/or OBEXFTP.
  • Due to imperfections in current Wii USB host contrller driver, many bluetooth functions in GeeXboX for Wii are still buggy. The following services are disabled by default.

Ethernet over bluetooth:

  • To enable bluetooth PAN, you have to modify /GEEXBOX/etc/bluez and specify correct values for PAN-related options.
  • Prior experience with using bluetooth PAN, especially in linux, is recommended.

Obex over bluetooth:

  • GeeXboX for Wii supports OBEXPUSH between Wii and remote devices. Pushed files received by Wii are stored in the folder specified in /GEEXBOX/etc/obex.
  • Pushing files from Wii is currently only implemented for USB keyboard operation (pressing 'B' when file is highlighted), but adding it to wiimote operation is possbile and easy.
  • Obex related configurations are stored in /GEEXBOX/etc/obex and some functions are configurable though GUI options menu.

Audio over bluetooth:

  • GeeXboX for Wii supports streaming mono or stereo (A2DP) audio to bluetooth headsets.
  • Bluetooth MAC address of remote device must be specified in /GEEXBOX/etc/bluez.
  • Switching between normal audio and bluetooth audio is done through GUI options menu.

[MINI version] Wifi

Setup:

  • Wifi setup is done through specifying related options in /GEEXBOX/etc/network.
  • If problems are encountered while connecting to AP/router using WPA encryption, different WPA_SCAN_SSID and/or WPA_AP_SCAN values can be tried.
  • Note that wifi support is not yet perfect speed-wise (see this link).

Network Services:

  • GeeXboX for Wii features built-in TELNET, FTP and HTTP server services, which run over any available USB ethernet, bluetooth PAN, or Wifi (MINI version only).
  • They are disabled by default and can be enabled by modifying /GEEXBOX/etc/network.

TELNET:

  • There is no username/password set for TELNET service and clients will be logging in as root.

FTP:

  • User name and password for FTP service are defined in /GEEXBOX/etc/ftp.

HTTP:

  • The built-in HTTP server in GeeXboX for Wii serves only as remote control GUI interface. To modify or add content, files in /GEEXBOX/var/www can be edited.

Customization

GeeXboX for Wii allows for customization of many of its built-in features, most of them are detailed in the official site.

Customization generally requires editing of /GEEXBOX/settings and files in /GEEXBOX/etc folder.

These files should be edited in *nix or, if Windows is used, in *nix-compatible text editors, otherwise desired effects may not be achieved and boot failure may occur.

Media

WII homebrew: GeeXboX on WII (farterwii)

Known issues

Most functions of Wii, including bluetooth/wiimote, DVD, wireless, LAN etc., are not supported by this version, due to limitations of the Linux kernel. There are terrible bugs too, so please regard this rather as a demo.

Changelog

0.1.3b 2010/02/27

  • Updated linux to 2.6.32.9.
  • Updated ffmpeg to r21465.
  • Updated MPlayer to r30437.
  • Fixed compatibility with certain charset encodings.

0.1.2b 2009/12/25 Updated linux to 2.6.32.2.

  • Fixed compatibility with multi-channel audio.
  • Fixed issues with device mounting/unmounting.

0.1.8a 2009/10/16

  • Updated linux to 2.6.29.6.
  • Updated MPlayer and ffmpeg to 2009-10-03 snapshots.
  • Added fuseiso to handle more disc image formats.
  • Fixed OSD and aspect ratio in FBI image viewer.
  • Added compatibility with new HBC title ID.

0.1.7a 2009/04/23

  • Updated linux to 2.6.29.1.
  • Support for reading exFAT partition.
  • Fixed wiimote (re)connection.

0.1.6a 2009/03/21 Updated linux to 2.6.27.19.

  • Updated MPlayer to r28852.
  • Map seeking to arrow keys too.
  • Fixed mounting usb storages at bootup.
  • Fixed unmounting disc images.

0.1.5a 2009/03/14

  • Updated linux to 2.6.24.7.
  • Support for SDHC (partial).
  • Updated MPlayer to r28184.
  • Fixed boot from SD cards with no partition table.
  • Support for SD cards with multi-partitions.
  • Use built-in unrar.
  • Dropped support for non-open binary codecs.
  • Disabled most playback-unrelated services by default.

0.1.4a 2008/10/18

  • Reverted libswscale to fix GOOM audio visual rendering.
  • Improved GOOM audio visual performance.
  • Improved performance in lowering subtitle mode.
  • Made lowering subtitles work with DVD-VIDEO.
  • Made lowering subtitles work with on-the-fly aspect ratio change.
  • Support for optional mounting .nrg (DVD only) and .iso image file.
  • Display CPU version number in OPTIONS -> INFO.
  • Updated GCC to 4.3.2

0.1.3a 2008/10/01

  • Implementation of optional 'vsync' to improve screen tearing in certain cases.
  • Support for on-the-fly aspect ratio change.
  • Fixed DVD-VIDEO aspect ratio error when switching between menu and movie.
  • Disabled libass to fix lagging and freezing caused by text subtitles.
  • Disabled colored spu to fix DVD-VIDEO/vobsub subtitle display.
  • Support for vobsub subtitles in rar archive format.
  • Support for optionally lowering subtitles into blackbars.
  • Fixed subtitle charset conversion.
  • Updated to MPlayer r27630.

0.1.2a 2008/08/08:

  • Simplified wiimote connection and reconnection.
  • Auto-repeat wiimote commands when buttons are held down.
  • Updated Kernel patch.
  • Updated to MPlayer svn snapshot 2008-08-06.

0.1.1a 2008/07/30

  • NTSC/PAL autodection (supposed to work).
  • Improved support for widescreen mode.
  • Aspect ratio software compensation support.
  • Improved Wiimote connection/reconnection routine.
  • User-friendlier handling of boot failure.

0.1a 2008/07/17 Based on whiite-linux-0.1a which has USB host controller enabled.

  • USB and network related functions of GeeXboX are therefore included in this release.
  • Fixed keypressing and OSD color bug in previous version.

2008/06/24

  • Prototype release

Credits

The GeeXboX for Wii project is possible as a result of the excellent work by the Team Twiizers, the GameCube Linux team, and of course the GeeXboX team.

This project is also greatly helped by the following donators, whose generosity is deeply appreciated:

  • torben_s
  • S. Lippert
  • elsnorro

External links

Advertising: