Line 1:
Line 1:
{{Infobox homebrew
{{Infobox homebrew
| title = GeeXboX
| title = GeeXboX
−
| image = [[Image:Geexbox.gif|200px]]
+
| image = [[File:Geexbox.gif|200px]]
| type = media player
| type = media player
| author = farter
| author = farter
Line 16:
Line 16:
Specially added features in the Wii port are: bluetooth (remote control, obex file push, networking and audio partially working), USB storage, USB Ethernet, http/telnet/ftp server, netstreaming, image viewer, goom visuals for audio playback, .... Most of added features are fully or partially tested, some are not, yet.
Specially added features in the Wii port are: bluetooth (remote control, obex file push, networking and audio partially working), USB storage, USB Ethernet, http/telnet/ftp server, netstreaming, image viewer, goom visuals for audio playback, .... Most of added features are fully or partially tested, some are not, yet.
−
==Requirements==
+
== Requirements ==
*SD card (some SDHC also work, formatted in FAT/FAT32)
*SD card (some SDHC also work, formatted in FAT/FAT32)
−
===Optional===
+
=== Optional ===
*USB keyboard
*USB keyboard
*Bluetooth mobile phone (MIDP 2.0-compatible with AT+CMER implementation)
*Bluetooth mobile phone (MIDP 2.0-compatible with AT+CMER implementation)
Line 24:
Line 24:
*USB storage (flash disks, card readers, external enclosures, etc. Supports reading of nearly all major *nix/Win/Mac partition types and writing the majority of them except NTFS/UFS)
*USB storage (flash disks, card readers, external enclosures, etc. Supports reading of nearly all major *nix/Win/Mac partition types and writing the majority of them except NTFS/UFS)
−
==Installation==
+
== Installation ==
<Youtube>oFzZaC2D_yk</Youtube>
<Youtube>oFzZaC2D_yk</Youtube>
'''Note:''' The video is of an Old Demo, not the current build.
'''Note:''' The video is of an Old Demo, not the current build.
−
<br><br><br><br><br><br><br><br>
+
<br /><br /><br /><br /><br /><br /><br /><br />
[[Homebrew Channel]] users just need to copy everything into the root directory of your SD card and select GeeXboX in the channel.
[[Homebrew Channel]] users just need to copy everything into the root directory of your SD card and select GeeXboX in the channel.
−
[[Twilight_Hack|TP hack]] users have to copy or move apps/geexbox/boot.elf to the root directory of your SD card and start the hack.
+
[[Twilight Hack|TP hack]] users have to copy or move apps/geexbox/boot.elf to the root directory of your SD card and start the hack.
Other homebrew loaders that support front SD might also work. Consult their documentation for how.
Other homebrew loaders that support front SD might also work. Consult their documentation for how.
Line 38:
Line 38:
−
==Controls==
+
== Controls ==
−
===Wiimote===
+
=== Wiimote ===
By default the wiimote is the remote control (To change, edit GEEXBOX/settings and change the value of 'REMOTE' accordingly). When the bootsplash progress bar is reaching its end, press '1' and '2' together. If the wiimote is found and connected, all four LEDs will light up and wiimote will rumble for 2 seconds. If not, press '1' and '2' to retry after LEDs stop flashing.
By default the wiimote is the remote control (To change, edit GEEXBOX/settings and change the value of 'REMOTE' accordingly). When the bootsplash progress bar is reaching its end, press '1' and '2' together. If the wiimote is found and connected, all four LEDs will light up and wiimote will rumble for 2 seconds. If not, press '1' and '2' to retry after LEDs stop flashing.
Line 73:
Line 73:
(No, you don't have to point your wiimote at the sensor bar, which isn't powered on anyway.) Don't press the 'power' button on wiimote. Doing that will not shutdown GeeXboX and you will have to reconnect by pressing '1' and '2' again. To add or change button definitions, edit GEEXBOX/etc/lirc/lircd_wiimote.conf and lircrc_wiimote.
(No, you don't have to point your wiimote at the sensor bar, which isn't powered on anyway.) Don't press the 'power' button on wiimote. Doing that will not shutdown GeeXboX and you will have to reconnect by pressing '1' and '2' again. To add or change button definitions, edit GEEXBOX/etc/lirc/lircd_wiimote.conf and lircrc_wiimote.
−
===USB keyboard===
+
=== USB keyboard ===
−
The default keyboard layout is qwerty. To change, edit GEEXBOX/settings and change the value of 'KEYMAP' accordingly. For more info on keyboard controls, view help in menu, consult GEEXBOX/etc/mplayer/input.conf or the GeeXboX site (http://www.geexbox.org/en/controls.html, some info is outdated though).
+
The default keyboard layout is qwerty. To change, edit GEEXBOX/settings and change the value of 'KEYMAP' accordingly. For more info on keyboard controls, view help in menu, consult GEEXBOX/etc/mplayer/input.conf or the GeeXboX site (http://www.geexbox.org/en/controls.html, some info is outdated though).
−
===Bluetooth mobile phone===
+
=== Bluetooth mobile phone ===
Not all bluetooth-enabled phones are usable. For an incomplete list of usable models, see http://anyremote.sourceforge.net/devices.html (GeeXboX for wii does not use anyremote though). Models listed as working in bluetooth AT mode should be usable. You have to specify the bluetooth MAC of your mobile in GEEXBOX/etc/bluez. When GeeXboX boots up and finds your mobile, you will be prompted for password. The default password is '0000'. Key definitions in this release are based on Benq-Siemens S68. To use other models or to customize key definitions, you many have to edit GEEXBOX/etc/lirc/lircd_bluemobile.conf and lircrc_bluemobile. Some (Sony)Ericsson models can also be used with the 'bte' driver (GEEXBOX/etc/lirc/lircd_bte.conf and lircrc_bte).
Not all bluetooth-enabled phones are usable. For an incomplete list of usable models, see http://anyremote.sourceforge.net/devices.html (GeeXboX for wii does not use anyremote though). Models listed as working in bluetooth AT mode should be usable. You have to specify the bluetooth MAC of your mobile in GEEXBOX/etc/bluez. When GeeXboX boots up and finds your mobile, you will be prompted for password. The default password is '0000'. Key definitions in this release are based on Benq-Siemens S68. To use other models or to customize key definitions, you many have to edit GEEXBOX/etc/lirc/lircd_bluemobile.conf and lircrc_bluemobile. Some (Sony)Ericsson models can also be used with the 'bte' driver (GEEXBOX/etc/lirc/lircd_bte.conf and lircrc_bte).
−
===Gamecube Controller===
+
=== Gamecube Controller ===
−
GCN analog input is read, though NOT supported. For example, there is no way to get the menu back once it has been cleared from the screen and response to analog input is spotty and erratic.
+
GCN analog input is read, though NOT supported. For example, there is no way to get the menu back once it has been cleared from the screen and response to analog input is spotty and erratic.
−
==Supported Formats==
+
== Supported Formats ==
All audio/video formats supported by [http://www.mplayerhq.hu/design7/info.html MPlayer] (yes, rmvb included), with the exception of WMV9 audio.
All audio/video formats supported by [http://www.mplayerhq.hu/design7/info.html MPlayer] (yes, rmvb included), with the exception of WMV9 audio.
−
==Supported Media Sources==
+
== Supported Media Sources ==
*Front SD (to swap, use the Wiimote/OSD menu and follow the messages)
*Front SD (to swap, use the Wiimote/OSD menu and follow the messages)
*USB storage (hot swappable. Card readers must be disconnected before swapping cards)
*USB storage (hot swappable. Card readers must be disconnected before swapping cards)
Line 91:
Line 91:
*HTTP/UDP/RTP/RSTP network streams (Shoutcast, Icecast, LAN unicast, Multicast and VOD) (addresses manually defined before boot)
*HTTP/UDP/RTP/RSTP network streams (Shoutcast, Icecast, LAN unicast, Multicast and VOD) (addresses manually defined before boot)
−
==Customization==
+
== Customization ==
−
Customization requires manual editing of files in the GEEXBOX folder. It is probably better to edit files on harddisk and then copy them to SD card, as opposed to editing files on SD card directly. Windows users are also advised to use *nix-compatible editors such as UltraEdit, rather than Notepad or Wordpad. Please remember that corrupt or incorrectly modified file may cause boot failure!
+
Customization requires manual editing of files in the GEEXBOX folder. It is probably better to edit files on harddisk and then copy them to SD card, as opposed to editing files on SD card directly. Windows users are also advised to use *nix-compatible editors such as UltraEdit, rather than Notepad or Wordpad. Please remember that corrupt or incorrectly modified file may cause boot failure!
−
===Language and font===
+
=== Language and font ===
The default language is English. To change, edit GEEXBOX/settings and change the value of 'MENU_LANG' (for menu language) and 'SUB_CHARSET' (for subtitle language) accordingly. For some languages/charsets, for instance east Asian languages, you will have to provide necessary fonts for the settings to work. Consult GEEXBOX/etc/lang.conf for the correct font file name and make sure corresponding file is saved in GEEXBOX/usr/share/fonts. Alternatively, you can edit lang.conf to match the name of your font file. Please try not to use large size font files as they take up precious memory and affect playback quality.
The default language is English. To change, edit GEEXBOX/settings and change the value of 'MENU_LANG' (for menu language) and 'SUB_CHARSET' (for subtitle language) accordingly. For some languages/charsets, for instance east Asian languages, you will have to provide necessary fonts for the settings to work. Consult GEEXBOX/etc/lang.conf for the correct font file name and make sure corresponding file is saved in GEEXBOX/usr/share/fonts. Alternatively, you can edit lang.conf to match the name of your font file. Please try not to use large size font files as they take up precious memory and affect playback quality.
Boot into console mode: edit GEEXBOX/settings and change the value of 'RUNLEVEL' to 'debug'. Enter "exit" in console to start GUI.
Boot into console mode: edit GEEXBOX/settings and change the value of 'RUNLEVEL' to 'debug'. Enter "exit" in console to start GUI.
−
===Themeing===
+
=== Themeing ===
The boot splash is hard coded into boot.elf and therefore not easily customizable for most users. To change the default background image/video, replace GEEXBOX/usr/share/mplayer/background.avi. Again, avoid using large file for your own good.
The boot splash is hard coded into boot.elf and therefore not easily customizable for most users. To change the default background image/video, replace GEEXBOX/usr/share/mplayer/background.avi. Again, avoid using large file for your own good.
−
===Other customizations===
+
=== Other customizations ===
Bluetooth, obex, network, netstream, net shares and so on are customized by manually editing corresponding files in GEEXBOX/etc. Simple explanations are included for almost all the settings. You can also find more detailed help on some of these settings from http://www.geexbox.org/en/doc.html or by visiting the forum.
Bluetooth, obex, network, netstream, net shares and so on are customized by manually editing corresponding files in GEEXBOX/etc. Simple explanations are included for almost all the settings. You can also find more detailed help on some of these settings from http://www.geexbox.org/en/doc.html or by visiting the forum.
−
==Extra Information==
+
== Extra Information ==
This is based on the GameCube Linux team's whiite-linux-0.1a and a recent devel version of GeeXboX. Whiite-linux-0.1a includes support for Wii USB host controller, however, support for native wifi and DVD is still missing, and USB host controller support is imperfect, making some USB-related functions unusable.
This is based on the GameCube Linux team's whiite-linux-0.1a and a recent devel version of GeeXboX. Whiite-linux-0.1a includes support for Wii USB host controller, however, support for native wifi and DVD is still missing, and USB host controller support is imperfect, making some USB-related functions unusable.
In short, this is a full-featured GeeXboX port. Nearly all GeeXboX features available in current mainstream GeeXboX devel version and within current Wii linux capabilities are incorporated, with added bluetooth and obex support.
In short, this is a full-featured GeeXboX port. Nearly all GeeXboX features available in current mainstream GeeXboX devel version and within current Wii linux capabilities are incorporated, with added bluetooth and obex support.
−
===USB performance===
+
=== USB performance ===
The Wii USB interface is supposedly 1.1, meaning the max speed is 12Mbps, or slightly over 1MB/s. So as of this release, front SD is probably still faster than any other storage media usable, including network shares, although not by that much. In addition, USB is resource-costly and current implementation of USB in linux for Wii is buggy. So don't expect performance of USB devices on Wii to be comparable to what you get on your PC. Nevertheless, USB 2.0 devices are still preferable.
The Wii USB interface is supposedly 1.1, meaning the max speed is 12Mbps, or slightly over 1MB/s. So as of this release, front SD is probably still faster than any other storage media usable, including network shares, although not by that much. In addition, USB is resource-costly and current implementation of USB in linux for Wii is buggy. So don't expect performance of USB devices on Wii to be comparable to what you get on your PC. Nevertheless, USB 2.0 devices are still preferable.
−
===Bluetooth===
+
=== Bluetooth ===
Bluetooth audio and networking only work partially in this release, most likely a result of imperfections in USB implementation. Bluetooth headphones can be connected but audio is broken. Telnet over bluetooth works, although some commands seem to hang the session. Http and ftp can't seem to get past the initial data transfer. Pushing files to Wii is working, although speed is slow. Pushing files from Wii to other devices is unstable. Sometimes small files get pushed successfully, sometimes transfer halts midway.
Bluetooth audio and networking only work partially in this release, most likely a result of imperfections in USB implementation. Bluetooth headphones can be connected but audio is broken. Telnet over bluetooth works, although some commands seem to hang the session. Http and ftp can't seem to get past the initial data transfer. Pushing files to Wii is working, although speed is slow. Pushing files from Wii to other devices is unstable. Sometimes small files get pushed successfully, sometimes transfer halts midway.
−
===Network sources===
+
=== Network sources ===
If you want to use shoutcast/icecast etc., remember to set long blacklist or short white list in GEEXBOX/etc/netstream. Better still, just define a few netstreams pointing to the broadcasts you desire and disable shoutcast/icecast scan. The reason for this is because every broadcast url obtained by GeeXboX from scanning the server is saved in Wii memory as a playlist file. Thousands of such small files soon eat up all available space. For uPnP shares over lan, avoid exporting huge and complex directories.
If you want to use shoutcast/icecast etc., remember to set long blacklist or short white list in GEEXBOX/etc/netstream. Better still, just define a few netstreams pointing to the broadcasts you desire and disable shoutcast/icecast scan. The reason for this is because every broadcast url obtained by GeeXboX from scanning the server is saved in Wii memory as a playlist file. Thousands of such small files soon eat up all available space. For uPnP shares over lan, avoid exporting huge and complex directories.
−
===Aspect ratio===
+
=== Aspect ratio ===
By default, all video will scale to 640 pixel width while keeping the original aspect ratio. If the scaled height exceeds the screen height (for instance 480 pixel for NTSC Wii), the video won't play. This means for NTSC Wii, all video must have an aspect ratio of 4:3 (640:480) or greater. If your video happens to have the 'wrong' aspect ratio, you may consider editing the 'xy=640' option in /GEEXBOX/etc/mplayer/mplayer.conf. For details, consult MPlayer's online documentation at http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html.
By default, all video will scale to 640 pixel width while keeping the original aspect ratio. If the scaled height exceeds the screen height (for instance 480 pixel for NTSC Wii), the video won't play. This means for NTSC Wii, all video must have an aspect ratio of 4:3 (640:480) or greater. If your video happens to have the 'wrong' aspect ratio, you may consider editing the 'xy=640' option in /GEEXBOX/etc/mplayer/mplayer.conf. For details, consult MPlayer's online documentation at http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html.
−
==Changelog==
+
== Changelog ==
−
20090423:
+
20090423:
−
0.1alpha7. Feature improvement release.
+
0.1alpha7. Feature improvement release.
*Update linux to 2.6.29.1;
*Update linux to 2.6.29.1;
*Add support for reading exFAT partition;
*Add support for reading exFAT partition;
*Fix wiimote (re)connection.
*Fix wiimote (re)connection.
−
20090321:
+
20090321:
0.1alpha6. Bugfix release.
0.1alpha6. Bugfix release.
*Update linux to 2.6.27.19;
*Update linux to 2.6.27.19;
Line 139:
Line 139:
*Fix unmounting disc images.
*Fix unmounting disc images.
−
20090314:
+
20090314:
0.1alpha5. Feature improvement release.
0.1alpha5. Feature improvement release.
*Update linux to 2.6.24.7;
*Update linux to 2.6.24.7;
Line 150:
Line 150:
*Disable most playback-unrelated services by default.
*Disable most playback-unrelated services by default.
−
20081018: 0.1alpha4. Bugfix release.
+
20081018: 0.1alpha4. Bugfix release.
*Revert libswscale to fix GOOM audio visual rendering;
*Revert libswscale to fix GOOM audio visual rendering;
*Improve GOOM audio visual performance;
*Improve GOOM audio visual performance;
Line 191:
Line 191:
20080624: Prototype release.
20080624: Prototype release.
−
==Bugs and Support==
+
== Bugs and Support ==
Please note that GeeXBox Wii is not an official GeeXBox port and is considered an "unnoficial hack".
Please note that GeeXBox Wii is not an official GeeXBox port and is considered an "unnoficial hack".
−
Please use the [http://sourceforge.net/tracker2/?group_id=241613 sourceforge tracker] to report issues. Additionally, you may find [http://www.geexbox.org/forum/viewtopic.php?t=9897 this forum thread] useful for support.
+
Please use the [http://sourceforge.net/tracker2/?group_id=241613 sourceforge tracker] to report issues. Additionally, you may find [http://www.geexbox.org/forum/viewtopic.php?t=9897 this forum thread] useful for support.
−
==Unofficial Versions==
+
== Unofficial Versions ==
−
Builds from independent developers go here. Diffs must be included since the GeeXboX code is GPL.
+
Builds from independent developers go here. Diffs must be included since the GeeXboX code is GPL.
−
===0.1Alpha04 modified by Tulkas===
+
=== 0.1Alpha04 modified by Tulkas ===
[[User:Tulkas|Tulkas]] made some minor modifications to add support of additional filesystem types and also accidentally fixed a loading bug.
[[User:Tulkas|Tulkas]] made some minor modifications to add support of additional filesystem types and also accidentally fixed a loading bug.