OLPC Trial-2 Software Release Notes

From OLPC
Revision as of 16:19, 5 August 2007 by Jg (talk | contribs) (Other Multimedia Software)
Jump to: navigation, search
  This page is monitored by the OLPC team.


This page details the current stable software image. Important changes are noted below. This image is "late alpha-test" software; there is much you can now do with the laptop out of the box (See Demo Notes). General – somewhat outdated – instructions on how to use the Sugar interface can be found here. Also of note are the BTest-1 Release Notes, BTest-2 Release Notes and BTest-4 Release Notes. These latter pages detail issues with particular versions of the hardware. The Library Release Notes page has information about the early stages of our sample content library. Finally, the OLPC Human Interface Guidelines describe our vision of where we are heading, only partially reflected in our current software.

The software is just maturing to the point where we can embark upon later-stage trials for feedback and polish. Please review the #Notes below and please report any new bugs to our trac system (See http://dev.laptop.org).

Overview

Most of the first-generation vision for our system is now present and working:

  • The Journal
  • Presence service
  • Easy real-time collaboration in many of our activities including:
    • Read, Write, Read, Chat, Record, EToys, TamTam Jam, Memorize, Connect4
  • Mesh networking
    • Automatic configuration of Mesh Portal Points (MPP)
    • Automatic configuration of ad-hoc meshes, allowing collaboration without any infrastructure or Internet access
  • Anti-theft activation on installation
  • Registration with a school server
  • Backup to the school server

The software has been rebased onto Fedora Core 7 and Python 2.5.

Remaining tasks:

  • Finish building out collaboration in our other activities
  • Anti-theft leases
  • Execution of activities in containers
  • In-place robust updates
  • Download and installation of activities

Important Notes

At this time, we do not recommend installing the Trial-2 software on B2-1 systems (128 meg of RAM), due to excessive RAM usage. We are working on fixing the increased memory consumption.

Stable Builds

The release notes on this page apply to the latest stable software release: 13.2.11 || 2020-01-29. We recommend that you follow the instructions found on the Autoreinstallation image page to upgrade to this image. (Information regarding the latest development builds – non-stable builds – can be found here: Test_Group_Release_Notes.)

Notes

Base System

The system is now based on Fedora Core 7, and OLPC's kernel is based on Linux 2.6.22.

Suspend/Resume
Note that a number of the bugs in the tracker bug are likely duplicates. Suspend and resume using the power button should function on B2, B3 and B4 systems. Only B3 and B4 systems can resume on a keystroke, touchpad touch, or button press. The most interesting of these bugs are the following:
USB wireless suspend/resume failure at setup phase
The Marvell firmware does not always wakeup properly.
Coming out of DPMS on resume seems to be failing in OHM
if the screen has been turned off due to the display power management system, the screen may not be turned back on on resume.
Wakeup event is repeated continuously
This bug in the embedded controller code, now understood and soon repaired, causes repeated button/gamepad events on wakeup, getting in the way of ebook reading with aggressive power savings by causing constant scrolling. This support is already present in the book reader (touch /home/olpc/ebook-enable-sleep and restart the reader to turn this on).
Laptop wakes up and doesn't sleep again when it should
The laptop suspends when you close the lid (currently leaving wireless on, which may or may not be wrong); but if you insert or remove power to the laptop, it wakes up again despite being closed.
Display driver needs to enable/disable the dcon power control line.
This is consuming significant power in suspend even when the screen is off.
Field Return: flash corruption - OpenFirmware complaining of 'unknown node type
If you see this, please add your serial number information to this trac ticket.
Activity sharing
will only work correctly when all XOs that wish to participate are using the same connection method. I.e., all must be either only link-local, or only server-connected.
Customizing NAND images
It is easy to customize a build for your own environment, as outlined here.
Python Performance
Python 2.5 has much better heap performance. The Geode LX processor in BTest-3/4 has again greatly increased performance due to its larger cache..
Network Autoconfiguration
an XO will now autoconfigure the network. If no Internet access can be found, an ad-hoc mesh will be formed using private networks. If an XO is either associated with a conventional access point or preferably interfaced via a ethernet USB interface, it will automatically become a mesh portal point (MPP), and gateway the mesh network to the Internet. It will also associate with conventional access points using WEP or WPA. If it associates via WEP or WPA, the mesh portal functions cannot work, however.
WPA support
has been implemented in the most recent builds, to allow association with WPA enabled access points. If you have problems, please use the developer's console and execute the command touch /etc/NetworkManager/log-supplicant and try again. Please attach the resulting log files /var/log/messages and /var/log/wpa_supplicant.log to a trac ticket, along with the exact manufacturer and model of the access point.
Booting time continues to improve
We understand where much of the rest of the boot time is currently going, as you can see by checking the bugs referred to in 623. Boot time, however, is not our highest priority; suspend/resume is clearly more important.
Battery problems
(including failure to charge, overcharge, incorrect capacity reporting, battery draining quickly when turned off) All known battery charging problems have been resolved. Note that for long term storage, removing the battery pack after a full charge is best practice; this is true for all battery powered devices. A raft of problems with batteries has been fixed by EC firmware patches up through Q2B83. Most, but not all, dead batteries can be recovered in the field with existing BTest-2 systems (See Battery Charging for more details). LiFe batteries incorrectly flash red light was fixed in firmware Q2B87. On BTest-2 systems, average NiMH lifetime in a test of multiple machines (Screen on, backlight fully on, wireless associated, all functional units including GPU on, but processor idle) was tested to be approximately 2h40m, LiFePo batteries were approximately 3h 10m, using BTest-2 systems. Early tests with BTest-4 systems show an idle system lifetime (no suspend) between four and five hours, depending on circumstances and battery type. The LiFePo batteries have significantly higher lifetime. This will improve as our power management improves and remaining unused devices are powered down when not in use.
RestrictedFormats
In some jurisdictions, patents on algorithms apply, and royalty payments may be required. Examples include MP3, and MPEG-4. This is a particular nuisance for media players, for which many of the common codecs algorithms are patented. In other jurisdictions, software patents do not apply and there are usually freely available implementations for these algorithms available. Sometimes, as in Adobe Flash, or the Real Helix player there are free (as in beer) implementations available, where those corporations have paid these patent royalties and made usually (binary) versions of codecs available. This has direct consequences as OLPC does not want to burden all machines with what may be unnecessary duplicate patent royalties: OLPC must therefore leave the customization of the distribution for these formats for "in country". For jurisdictions in which such patent laws apply, there are now solutions such as those sold by Fluendo to these issues. The Flash format (whether Adobe's Flash 9 or Gnash) illustrates this problem well; even though we can include gnash, as built it does not have support for MP3 or MPEG-4, which should work correctly if Gnash is rebuilt.
JFFS file system pathological use.
Writing log files (or similar files) one short piece at a time (unbuffered) and then flushing them to stable storage is bad for the flash, as it causes many unnecessary writes to the flash; much better would be to defer such writing until some amount of time has passed, and then flush, so that multiple small writes can be merged into a single write. Do not build applications with such behavior.
Network adapter causes slowdown
Fixed in Q2B81 firmware and later. Any network adapter, if configured, (including the built in Marvell wireless) would cause the system to slow as much as 33%.
Flash and system installs off SD
You can install the flash and system image off an SD card. Rather than using the "disk:" in the instructions for reflashing, you can install using the name "sd:". The auto updater does not work off of SD, however, at this time.
fontconfig cache is invalidated too easily on mtime check
Applications can take a very long time to start, due to a fontconfig caching bug provoked by the time being set incorrectly (which can happen easily if the battery is replaced or the time is set badly). To work around this problem, use the "date" command from a console to set the current time and date.

X Window System

X Window System open issues
specific to OLPC are found in trac.
Performance optimization
Much performance optimization work is possible, and awaits our time or volunteers to work on. Some work has been done by Jordan Crouse and others and performance is substantially better than initially.
B1 Touchpads
The BTest-1 touchpad worked particularly badly: much of this is caused by capacitive issues; a mylar sheet increased the capacitance and BTest-2's touchpad now functions pretty well. The writing (stylus) mode of the touchpad is enabled and works correctly in BTest-2, although additional software work is needed. When taking a unit off of power supply onto battery (or vice versa), the touchpad may need recalibration: simultaneously press the four keys in the extreme corners of the keyboard. BTest-4 touchpads seem to be more stable.
Tap on the touchpad
It may be possible to implement "tap" on the capacitive touch pad; we'd be interested in hearing opinions whether this is desirable for a child or not.
Keyboard autorepeat
has been "tuned". Most keys do not autorepeat, except for the arrow keys, erase key, space bar, and game pad and buttons by the screen.
Camera activity provokes X to screw up colormap on B2's.
The X Window System Xvideo extension is supported in the X server; note that a slightly different colormap is loaded while video is playing to improve video quality; other colors in use may become slightly strange during this period. Note that there is a miswiring from the Geode to the DCON chip, fixed in BTest-3 and BTest4, that complicates this problem. The LX processor won't have this problem at all; the RGB-YUV conversion is correct on that video unit. This is only a problem for B1 and B2 systems.

User Interface: Sugar

Sugar performance has improved, particularly on the Geode LX processor found on B3 and later systems.

Right now, only a single activity can declare they handle a given mime type.

Many of the user interface issues we intend to fix. Among the most notable issues are:

New networking UI needs documentation
To choose a network, push the first of the four circular "mesh view" keyboard buttons (or "F1" in an emulator), hover over each triangle until you find the access point you want to associate with, and then click on it. (Note that the access points are color-coded based upon a hash of the AP SSID. Therefore, once you learn the color of your desired access point, you can subsequently find it quickly.) The mesh, rather than being a triangle, is represented by a circular icon. You may be prompted for an access point's password.

Activities

Web Browsing

Web Browser Open Issues
can be found in trac.
SSL sites without official certificates fail to load
Web activity has trouble with Arabic and Urdu fonts
This is being fixed upstream and should be in a future OLPC build.

The Xulrunner based brower users the scaling engine from Firefox 1.9. Starting in build 303, this greatly improves browser behavior and font and image sizes more likely to be acceptable. Later builds improve yet further. With our high resolution screen, we have had to go "first" in innovation in web browser technology. Performance work still needs to be done, particularly to speed scaling of images. Google Maps and Google Talk now both work well. Please let us know when you find web sites with clear formatting problems.

Plug-ins should be installed in the directory /usr/lib/mozilla/plugins.

The current version ship with an free version of Flash, called gnash; it has improved substantially from Trial-1. Adobe's Flash plug in works fine, which many may find preferable until gnash matures further. As noted in RestrictedFormats, we cannot distribute gnash with patented codecs, though gnash can be rebuilt to support a wide range of datatypes.

The web browser does not ship with Java plug-in. Sun's Java and web browser plug-in work fine.

The web browser has no tabs, no zoom (yet), no provision for ebook mode (yet).

User experience has problems with pop windows, Frame interfering with scrolling.

Calculate

A simple calculator activity contributed by Mauro Torres et al. of the Tuquito Linux project in Argentina was replaced by a completely unexpected, more functional Calc activity written by Reinier Heeres at Harvard in build 385. Our thanks to both Mauro and Reinier for their efforts.

Chat

Chat open issues
can be found in trac

Chat has been restored to our builds. It will convert URL's to clickable links for the web browser, and is a way to browse together until the web browser has shared browsing.

Drawing Activity

Paint (Oficina) Issues
can be found in the trac system.

The application is fully written in Python, using only GTK features. It is being developed at LSI-USP in Brazil.

Etoys

The Etoys learning environment has been integrated into the Sugar environment, and you are encouraged to visit the Squeakland site. Sugar Etoys has information specific to Etoys in our Sugar environment.

Journal and Datastore

Note that removable media support is now present. The journal uses the underlying Datastore facility which is new; its issues are in our trac system. Note that it indexes all information on an external device; this issue: Datastore should check versions and recreate indexes automatically has caused some trouble during its development, which we hope to prevent in the future.

When a USB key is inserted, Sugar will now automatically mount the USB stick and put an icon on the bottom of the journal; if you click on the icon, the journal on the USB stick will be shown. You can also unmount the stick using that icon by using the pop-up menu.

On an external device, the file name bears some resemblance of the name that may have been given to the journal entry, so you should be able to take a FAT formatted USB stick from an OLPC and mount it on Linux, Windows or MacIntosh to interchange files; on the JFFS2 file system right now it is simply a numeric has, which is arguably unfriendly.

Journal should give a choice of activities to resume an object with Only a single activity can register right now for a given mime-type; it should be possible for multiple activities to handle the same mime-type and the user be asked which to invoke.
Journal issues
can be found in our trac system.

Newsreader

Based on PenguinTV. A few RSS feeds of educational interest have been preprogrammed as examples:

  • Astronomy Picture of the Day
  • BBC News
  • EPOD - Earth Science Picture of the Day
  • Merriam-Webster's Word of the Day
  • Planet OLPC

Other feeds can easily be added/substituted.

Photograph

The primary camera activity is written by Erik Blankinship and Bakhtiar Mikhak.

We have used mplayer on the machine, but as it pulls in many dependencies, we leave DVD playing for those who want to bother.

The BTest-2 system does not have a LED to indicate if the camera or microphone is enabled. Such a LED is present on BTest-3 and later systems.

The eToys activity includes support for the Webcam and a lot of experimentation can be done using the eToys scripting system.

Read (aka xbook)

File viewer through the browser, or as a sugar activity. The PDF format view is brought to you by the poppler library and Cairo graphics library.

The xbook application has latent provision for ebook mode, awaiting a couple key bug fixes.

TamTam

The TamTam Release Notes
are available.

Terminal

The terminal window (Memphis) is launched by typing Alt-=

Turtle Art

Turtle Art is a logo-like application that draws colorful art via a turtle and scratch-like visual programming elements that snap together in compilable ways.

Integration with the journal is not complete at this time, and users are wise to show children how to save their work.

Watch and Listen

Videos and DVD's can be played back on the system, including RealNetwork formats. A Sugar version of Real's Helix player is available and installed; only Ogg format media is in the base install for the reasons outlined in [RestrictedFormats]. Please see the Helix Media Activity release notes for further details. A browser plug-in version for media playback is expected soon.

Note that it is likely there will be no icon for this activity in future versions, media playing being started by journal or browser activity.

Write

Write activity issues
can be found in trac.
Write share function FAIL after insert an image
Sharing an image in Write will cause sharing to fail.

The Write activity is based on AbiWord. This activity is fully integrated in the Sugar environment, and provides an efficient, light weight text editor. It has support for reading various documents formats, such as Microsoft Word (.doc, .rtf), OpenDocument (.odt), (X)HTML (.html), and plain text (.txt). The core of this activity might be used for editing text in the wiki as well.

Games

Blockparty

A famous, simple game of falling blocks, often known as Tetris. Contributed by Vadim Gerasimov.

Connect

A version of Connect-4. Supports network play, and is useful as an example of how to use Sugar's collaboration facilities.

Temporary placeholders and Missing Pieces

There is no user interface for controlling the audio input and mixing. The workaround right now is to use "alsamixer" in a terminal window. Speaker volume is controllable by the slider. There is currently no visual feedback for changing the volume.

Our plans include a web server and wiki system MikMik, using an WYSIWYG editor based on the write activity (currently Abiword). This has a collaborative write capability we exploit.

Backlight control

The backlight can be controlled using F9 (dimmer) and F10 (brighter); With the backlight completely off, there is no color, and hardware anti-aliasing for the color screen is disabled. Likewise, volume is controlled by F11 (quieter) and F12 (louder).

Brightness-volume.png

Base system

OLPC Platform

Inventory of "permanent" packages

Inventory of "debug" packages

Inventory of "optional" packages (?)

Development environment

Languages - Logo, javascript, Python

Libraries

Where to find source

Internationalization/Localization (see Category:Language support & Category:Languages (international))

Other Multimedia Software

Other software that has been tested on the OLPC systems includes Adobe Flash, and Real's RealPlayer® and Sun's Java.

Finding the Latest Test Builds

Development and stable builds can be downloaded. Boot firmware is kept in this wiki. The latest stable firmware and system image combined into an easy to use package with a script to automate installation of the firmware and base image makes upgrades to the latest stable software extremely easy.