Software Release Notes: Difference between revisions

From OLPC
Jump to navigation Jump to search
(jffs2_gcd)
m (Redirected page to Releases)
 
(132 intermediate revisions by 30 users not shown)
Line 1: Line 1:
#REDIRECT [[Releases]]
{{OLPC}}
{{TOCright}}

==Software Release Notes==

These are early days for the OLPC software (''alpha test''); nonetheless, there is quite a bit you can do with the laptop out of the box See '''[[B1-demo-notes|B1 demo notes]]''', which are very useful to understand the system and what is available. There are also some general instructions on how to use the Sugar interface '''[[Sugar_Instructions|here]]'''.

The software is <i>alpha test</i>. Please refer to the [[OLPC Human Interface Guidelines]] for the vision of where we would like the software to lead, only partially reflected in our current software.

Most of our effort to date has been consumed by basic device support as well as putting together the basic user interface framework for children, which has known performance problems. Major components are as yet not complete: power management and the wiki editing system (journal) to name two large components. Enough is now present to begin to sketch the outline of where we believe the children's software should go: enabling the construction of software in which children and teachers can easily collaborate is central to our vision. Children should not be passive receivers of "content" but creators as well.

We do not expect that the software is yet ready for trials with children: BTest-1 is aimed primarily at developers to become familiar with the hardware and to enable testing of both the hardware and software

== Base System Notes ==

;[http://dev.laptop.org/ticket/718 Python performance is slow]: There are two reasons for slow Python performance in current builds: we're using Python 2.4, which attempts to load far more files than necessary at each module load, and we have compiled it with the "-fPIC" compiler flag which is resulting in a 30% slowdown for Python on our CPU. Both of these problems will be fixed when we move to Python 2.5, which we hope to do in the near future -- see the linked ticket to keep track on progress.
;[http://dev.laptop.org/ticket/623 Booting is slow, but better than it was]: A [http://dev.laptop.org/ticket/693 fix for jffs2 garbage collection scheduling] is new to build 303, and significantly decreases boot time. 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; we'll certainly make some of the improvements pretty soon anyway, and CAFE as an ASIC has higher performance that also helps BTest-2 and later.

;[http://dev.laptop.org/ticket/42 The sensor input mode of the audio hardware is not supported in the audio driver of build 239]: The code for this awaits merging but has been fully debugged and is in our experimental kernel..

;[http://dev.laptop.org/ticket/508 Suspend/Resume not yet implemented]: The preparatory work in the firmware is complete. This is up next on our agenda.

;[http://dev.laptop.org/ticket/258 Functional Wireless Driver]: The mesh is working in build 303? The driver is functional, working much better after 196. The Marvell's wireless chip's boot2 code has yet to be deployed. The boot code on the Marvell wireless interface has previously caused serious USB problems; BTest-1 hardware can now reset of the device to stop the USB problems until the new boot2 code is well enough tested to be deployed. We will likely do this upgrade at the time we deploy suspend/resume, where this will be required.

;[http://dev.laptop.org/ticket/511 LED illumination driver needs writing]: This is now implemented - Fn space bar will turn it on and off.

;[http://dev.laptop.org/ticket/224 Want interrupt on power/battery status change]: We have the embedded controller code for this, along with the lid-switch, and the ebook mode switch, but they are not yet hooked up to the Linux input framework, nor integrated into the UI.

;[http://dev.laptop.org/ticket/214 CAFÉ NAND ECC poorly understood and needs optimization]: This can cause dramatically differing performance if you happen to hit some bad sectors;

== X Window System ==

;[http://dev.laptop.org/ticket/741 Alpha-blended animation is very slow].

The X server now uses MMX optimized routines for many operations. We're still not hitting the hardware fast paths very much in the driver.

The X Window System does support the RandR extension, (rotation of the screen) and a button on the front face of the brick controls rotation. Not all of the additional software work is complete.

If a console application manages to somehow [http://dev.laptop.org/ticket/367 modify the colormap], the system won't recover without rebooting the machine.

We were not happy with the behavior of the touchpad: 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 has been disabled in the BTest-1 units, as the hardware does not work properly and was redesigned. When taking a unit off of power supply onto battery (or vice versa), the touch pad may need recalibration: simultaneously press the four keys in the extreme corners of the keyboard.

Much performance optimization work is possible, and awaits our time or volunteers to work on. Some work has been done and performance is substantially better than initially.

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.

;[http://dev.laptop.org/ticket/418 The keymaps for our initial set of keyboards are only installed when Build 185 is installed]: There are known issues with the keyboard descriptions. Thai-keyboard support only appears in builds 187+.

The language switching key is still not working. So no English language input is possible on the default image targetted at non-Latin-based languages (e.g. Arabic and Thai). To enable english input on those machines, follow the following steps:
# After the system has booted, press <tt>ctrl+alt+f1</tt>
# Login in as root (no password required)
# Open the file /etc/X11/xorg.conf for editing (use vi or any editor you are comfortable with)
# In the first InputDevice section do the following modifications:
#* Modify XkbLayout setting from "us" to "us,ara" (for Arabic&mdash;use other symbol files for other languages)
#* Add an XkbOptions option with the value "grp:ctrl_shift_toggle"
# Save and close the file
# Either reboot the machine or restart X by issueing a "/sbin/telinit 3" command and then "/sbin/telinit 3"

After you make the modifications, the two lines in xorg.conf should be similar to the following
Option "XkbLayout" "us,ara"
Option "XkbOptions" "grp:ctrl_shift_toggle"

After X is restarted, the default language will be english (that can be changed by swapping ''us'' and ''ara'' above), and you will be able to switch between languages using the <tt>ctrl+shift</tt> key combination.

==User Interface: Sugar==

The "[[Sugar]]" user interface environment for children is in place. The [[OLPC Human Interface Guidelines]] should be observed when building or repackaging applications. Conventional human interface guidelines have been designed for first world office workers, and are totally unsuitable for children who are just learning to read in any part of the world. As young children are the many/most of the intended audience of our system, their needs are being met first.

Conversion of applications to function under Sugar is very straightforward and most applications can work with little change.

If you are building applications, note that future models of the laptop may have touchscreens or tablets, which enables almost any application to be useful in ebook mode, so take the fact your screen size may change aspect ratio seriously when designing your user interface.

===intent and goals===

The core ideas: Activities, Not Applications; Presence is Always Present; Tools of Expression; and Journaling are detailed [[OLPC Human Interface Guidelines#Core Ideas|here]].

===Navigation===

Navigation, including the [[OLPC Human Interface Guidelines#Zoom Metaphor|Zoom Metaphor]] and [[OLPC Human Interface Guidelines#The Frame|The Frame]], is detailed [[OLPC Human Interface Guidelines#The Laptop Experience|here]].

===Release Notes===

The Sugar activity launch has performance problems caused by Python's cache footprint. We know that moving to Python 2.5, rebuilt -PIC, should greatly improve performance, independent of work we are doing ourselves. This should occur sometime in April. There are [http://dev.laptop.org/query?status=new&status=assigned&status=reopened&component=sugar&order=priority many user interface issues] we intend to fix. Among the most notable issues are:

;[http://dev.laptop.org/ticket/1029 Sugar firstboot screen is unintuitive]: The first time you boot sugar, you'll be asked for a photo/nickname/color. To progress past this screen, you must click on the camera image to take a photo, and then click on the right-arrow at the bottom to proceed. Just clicking the right-arrow will have no effect.
;[http://dev.laptop.org/ticket/989 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.
;[http://dev.laptop.org/ticket/375 Sugar needs a UI for exposing battery status]: In the meantime, you can use `cat /sys/class/battery/PSU_0/capacity_percentage`.
;[http://dev.laptop.org/ticket/403 Sugar seems to lock up with the frame out]: Pressing F5 allows the Sugar to unhang, and you can then launch applications again.
;[http://dev.laptop.org/ticket/383 Sugar needs a UI for controlling audio]: This needs to be written.
;[http://dev.laptop.org/ticket/427 Sugar presumes applications exit]: Usually, you can find some other way to cause an application to exit.
;Launching activities are slow: This is now somewhat faster, and will improve yet further when a new version of python 2.5 is in the build.
;The timing of many of the user interactions, such as hover and the coming and going of the Frame are in need of fine-tuning. (Much improved in build 303).

===Programming Sugar===

Sugar Activity Bundles are explained in detail [[Activity Bundles|here]].

Sugar interfaces
goocanvas
GTK+
Cairo
Pango/ATK

==Activities==

===Web Browsing===

Browser based on Xulrunner (Gecko engine used in Firefox).

Scaling version from Firefox 1.9 is in build 303; this improves browser behavior greatly and font and image sizes much more likely to be acceptable.

No tabs

Does not ship with: Java

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

;[http://dev.laptop.org/ticket/542 SSL sites without official certificates fail to load]

;[http://dev.laptop.org/ticket/652 Gnash plugin for Flash files is in the build as of 303]

===Chat===

Jabber-based client works (not pretty - but functional)

===EToys===

The [http://www.squeakland.org/ EToys] learning environment has been integrated into the Sugar environment, and you are encouraged both to visit the Squeakland site. [[Sugar EToys]] has information specific to [[EToys]] in our Sugar environment.

===TamTam===

B2 [[TamTam]] includes three activities: miniTamTam, TamTam Edit and synthLab. Release notes will be forthcoming.

===xbook===

PDF viewer through the browser.

===AbiWord===

As a place-holder, a simplified version of AbiWord is provided, and efficient, light weight text editor. Some version of [[AbiWord]] will be included long term, as AbiWord has the ability to read Microsoft .doc content well and there is a significant amount of web content in this form. It is likely to be used for editing text in the wiki as well.

;[http://dev.laptop.org/ticket/417 AbiWord doesn't render Arabic].

===Terminal===

The terminal (activity) does not appear on the Frame, but can be launched by typing <tt>Alt-Shift-F11</tt>. (F11 is found in the 3rd position from the left in the Volume Slider key.) '''Note''' that on some newer builds, the terminal window ([http://dev.laptop.org/git.do?p=projects/soc-memphis Memphis]) is launched by typing <tt>Alt-Shift-F12</tt>. In even more recent builds, e.g., Build 224, Memphis is launched by typing <tt>Alt-View_Source</tt> or <tt>Alt-F12</tt>. (The View_Source Key <tt>[F12]</tt> is the little gear on the = Key that is accessed with the Fn Key.) And on even more recent builds, e.g., Build 231, <tt>Alt-=</tt> is what brings up Memphis.

[[Image:Key_volume.jpg|thumb|none|F9&ndash;F12 are under this key]]

==Temporary placeholders and Missing Pieces==

There is no user interface for controlling the audio input/output. The workaround right now is to use "alsamixer" in a terminal window.

Our plans include a web server and wiki system and journal, with a simple what you see is what you get editor. These did not make BTest-1.

===Backlight control===

The backlight button on the bezel does not work yet, but the backlight can be controlled using F6 (dimmer) and F7 (brighter); F8 turns on color; F9 turns off color.
[[Image:Key_slider.jpg|thumb|none|F6&ndash;F9 are under this key]]

===Video/Camera Player===

The controls (brightness, hue, saturation) are not hooked up in the device driver or video player applcation in BTest-1 (build 185). The driver adding these controls to Alsa (the Advanced Linux Sound Architecture) will be merged in a build soon.

The camera is exhibiting [http://dev.laptop.org/ticket/499 more noise than expected] in assembled units; whether this is hardware or software is to be determined.

We have used mplayer on the machine, but as it pulls in many dependencies, we put together a simple gstreamer based application for demonstration of the camera and video playing. Others have reported successful playback of videos and DVD's on the system, including [http://www.helixcommunity.org RealNetwork] formats and players.

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

A camera application is under development.

==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
[http://www.flash.com Adobe Flash], and Real's RealPlayer® and Helix player.

[[Category:Hardware]]
[[Category:Software development]]

Latest revision as of 19:15, 27 April 2011

Redirect to: