Release notes/623
OLPC Trial-3 Software Release Notes
This page details the current stable software image. Important changes are noted below. This image is "late beta-test" software; there is much you can now do with the laptop out of the box (See 542 Demo Notes). General – somewhat outdated – instructions on how to use the Sugar interface can be found here. Also of note are the Trial-2 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, Chat, Record, EToys, TamTam Jam, Memorize, Connect4
- Mesh networking
- Automatic configuration of ad-hoc meshes, allowing collaboration without any infrastructure or Internet access
- Automatic configuration of school server mesh
- 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:
- Bug Fixes for First Deployment
Important Notes
At this time, we do not recommend installing the Trial-3 software on B2 systems due to excessive RAM and CPU usage.
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. If you are already at build 612 or higher, you can upgrade using the olpc-update 6xx command from a virtual terminal. (Information regarding the latest development builds – non-stable builds – can be found here: Test_Group_Release_Notes.)
- USB Update key needed to upgrade systems in the field#1748
- Note that the Autoreinstallation image has latent support for preserving the user files on the system in the olpc.fth file. The USB key must be large enough to hold both the image to be installed and any and all files the user may have created in /home/OLPC.
Base System Notes
The system is now based on Fedora Core 7, and OLPC's kernel is based on Linux 2.6.22.
Suspend/Resume and Power Management
- Suspend/Resume#60
- Note that a number of the bugs in the tracker bug are likely duplicates. Suspend and resume using the power button currently wakes up for various types of wireless LAN traffic.
Placeholder for suspend/resume bugs
Other
New Features:
Private Invitation:
- XO-1 starts an activity (such as abiword)
- From the neighborhood mesh view of XO-1, they find XO-2, who they want to share with.
- Hover over XO-2 and click on 'Invite'. This invites XO-2 to the current activity of XO-1
- From XO-2's taskbar tray, they will now see an icon of the shared activity in the colors of XO-1
- XO-2 clicks on this activity and it brings up the shared file.
Sharing a bookmark in Browse:
- Open the browser and go to a url of interest
- From the browse tab, click on the star in the upper right, next to the url window. This will create a bookmark
- Click on 'share with neighborhood'
- From another XO, click on the shared browse icon in the neighborhood mesh view
- You should get the same book mark after the browser starts up
Open Issues
- Network connectivity
- An XO that is acting as an MPP (mesh portal point) cannot participate in local mesh collaboration. There has been almost no testing for an XO acting as an MPP.
- To connect to a WEP enabled AP, you need to add '$:' in front of a hex key.
- Some activities share well in link-local; but don't share properly over the internet using the Jabber server. Activities that don't share well across the internet (G1G1) include Record photos and video (audio?), book reader, eToys, large files in Abiword may cause the activity to stop sharing.
- Connect to an Airport Extreme access point with a WEP key.
- You need to follow these steps when you login in the Airport configuration utility:
- Choose a network security level of 40-bit or 128-bit WEP.
- Set any password(you may tick the plain text option) and Update.
- After the update login again and note the HEX password in the summary view.
- On the XO neighborhood view click the access point.
- In the security popup type $:XXXXX, where XXXXX is the HEX password.
- Choose the Shared Key option.
- If the AP changes or removes its WEP key, the XO will not realize it directly. You will need to
- Remove /home/olpc/.sugar/default/nm/networks.cfg
- Reboot
- Save photos
- Record has changed a lot, and as a result, old entries cannot be opened on the new build
- Follow these steps to save photos; unfortunately, videos will be lost.
- Drag photos from record onto the clipboard.
- Scroll over the clipboard images, and select "add to journal"
- Sharing an abiword document works well for text, but if you add too many images (large docs) don't share properly.
- Journal
- Items won't show up in the 'Anything' search until after the next reboot.
- 'This week' in the 'Anytime' search isn't working properly. #4097
- Sugar
- The battery indicator on the home sugar page only updates when the power adapter is plugged in or removed. #2861
- If the network neighborhood mesh view stops showing other laptops or access points, reboot sugar with CTL-ALT-ERASE
Transporting photos, audio, and video from Record to USB sticks (Clipboard objects don't work)
- Drag media to the clipboard
- The files will be automatically added to the journal (named Audio by {XO_name}, Video by {XO_name}, and Photo by {XO_name}
- Drag these files from the journal to the USB stick, and any other laptop will be able to see and open them.
- If you add the clipboard objects to the journal, they will not save correctly.
- These objects will be able to be opened with different activities, but if you transfer them to a USB, you will not see them.
- Changing the names of the items in the journal will force them to create correct names and file extensions.
- After changing the name, drag the item from the journal to the USB stick.
- Now, a non-XO laptop will be able to see and open the items on the USB stick.
IMPORTANT (unless we are going to have people install the rpm's to use olpc-update instead of doing the upgrade with a USB stick)
- You must have the laptop plugged in with the AC adapter to upgrade firmware. Otherwise you will get a failure message; and you may need to boot on the backup image (holding down the gamekey O while booting) to try the upgrade again.
- Update to latest firmware before updating to latest image.
- The new firmware (Q2C28 and later) will check that the image is not corrupt before installing it, whereas the old firmware will wipe the nand and then run into trouble trying to install the new image.
- Basically, using the new firmware will keep you safe from possibly losing your data due to a corrupt image.
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.
- 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.
- 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.
User Interface: Sugar
- Shutdown
- to shutdown completely, hover over the XO in the home view and click on 'Shutdown'. This is a graceful shutdown, preferred to holding the power button for more than 4 seconds, which summarily resets the machine.
- Suspend
- Momentarily press the power button.
- Screen Capture
- Alt-1 does a screen capture and stores the result in the Journal.
- USB Keys
- USB keys are automatically mounted and their contents are viewable from within the Journal. Files can be dragged from the Journal or Clipboard onto the USB key from within the Journal. (USB file systems are still accessible from console and the developer's console through the standard Linux mechanisms.)
Many of the user interface issues we intend to fix. Among the most notable issues are:
- New networking UI needs documentation#989
- 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.) You may be prompted for an access point's password.
- Network Autoconfiguration
- an XO will now autoconfigure the network. If no school server mesh, or previously connected Infrastructure Access Point can be found, an ad-hoc mesh will be formed using private networks. 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.
- Clipboard interaction (on the Frame)
- is not fully developed in all activities. Some activities can copy and paste (using Ctrl-C and Ctrl-V) or drag to and from the clipboard, but some do not.
- Groups
- are not yet exposed in the interface. Sharing, chat, etc. are only supported at the mesh level (open to everyone on the mesh).
Presence Service
- PS open issues
- can be found in trac
- Connections
- Telepathy connections are supported via the school server - a jabber XMPP server with some particular required features - as well as over the mesh network using Link Local XMPP.
- Default Server
- Build 542 no longer registers automatically with olpc.collabora.co.uk as the server, so registration is required before other XOs can be seen via the server.
- Server Connections
- Activity icons appearing in the mesh should disappear when everybody leaves that (shared) activity. However if the PS fails to announce somebody leaving (for example quitting the jhbuild emulator with alt-Q while in the activity#2616), then the icon remains on the mesh view#1935.
- Large data over Tubes#2253
- On server connections, large messages (such as images) are not broken up into chunks and hence fail, breaking sharing.
- Link Local Connections#2702
- If you share an activity and are not the last to leave, you cannot rejoin the shared activity. This is being addressed for Trial 3.
Activities
Many activities are under development and they can be found with their status in the wiki while the Activity Grid has the status of all of the activities that have systematic testing.
Web Browsing
- Web Browser Open Issues
- can be found in trac.
- Web activity has trouble with Arabic and Urdu fonts#884
- This is being fixed upstream and should be in a future OLPC build.
The Xulrunner based brower uses 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 now uses the Presence Service, so instead of a global chatroom, if you start Chat from the frame it will create its own room for you. When others join in the Neighbourhood view, the activity shows who has joined or left, and if you join it will display those who are already in the chat room.
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.
Developer Console
The developer console provides a set of tabs in a popup window on top of activities. It is launched by typing Alt-=.
The XO Resources tab shows basic information about the system, the recent CPU usage and flash usage
The Memphis tab returns information about executing processes. Memphis)
The Log Viewer tab allows exploration of many key system logs.
The Terminal tab provides a terminal emulator and shell.
The Presence tab provides logs of the presence service in raw form (the mesh view is a graphical interpretation of these logs), to aid in debugging one of our key new services.
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. 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.
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#2627
- has caused some trouble during its development, which we hope to prevent in the future.
- Journal should give a choice of activities to resume an object with#2544
- 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.
Record
The primary record (still- and video-camera) activity is written by Erik Blankinship and Bakhtiar Mikhak. (The Etoys activity includes support for the camera.)
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.
Both the Record activity and Etoys can be used for playback; a version of Helix and a gstreamer player (roughly modeled on Totem) are available for Trial-2.
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.
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#2253
- 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.
Note that Connect requires two players to function - the game cannot be played until you share it and another player joins. At this time there is no support for starting a new game once somebody wins - that will be a Trial 3 feature.
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).
School Server Notes
The school server software is not quite ready.
Laptop Registration
To register with a school server, you execute the command olpc-register from a command line in the developer console. This establishes the relationship of the laptop with the school server (named "schoolserver" in the local DNS domain). It also establishes a jabber server used by the presence service of the laptop. This should have a UI by Trial-3.
Laptop Backup to server
In the Journal, there is a Backup tab; you select that tab, and if your laptop is registered, it will backup to the school server.
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
Many of the OLPC activities, kernel, and other software are in our git repository.
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.
Enabling logging
Activity logging is now turned off by default. To turn on logs:
- edit ~/.xinitrc and uncomment the line that imports .sugar.debug (It is the second last line of the file and there are commented instructions over it in the file itself)
- in ~/.sugar.debug, add these lines -
export JOURNAL_DEBUG=yes (to enable Journal Logs)
export SHELL_DEBUG=yes (to enable Shell Logs)
export ACTIVITYNAME_DEBUG=yes (to enable activity Logs where ACTIVITYNAME is that given in activity.info file)
export SUGAR_EMULATOR=yes (this shows me logs of all activities without having to enable logging for each activity)