UDS Intrepid Platform Report

back to the reports index page

Plans for 8.10

Place in this section bullet points of specific intended outcomes for the 8.10 development cycle.

Sessions

Session

19 May Round Table

CD size discussion
 list/manifest in bzr?
  deltas of individual package sizes?
  Size and Installed-Size of packages
  squashfs detects duplicates
 record of wubi version
 archive germinate output
 analyse popcon output for little-used packages
 aggressively add reasons to seeds
 use germinate warnings
  way to tell germinate about expected output, so that we can concentrate on new items

compression of sound files: GNOME uses libaudiofile which wants raw PCM data
 5.1MB of sound data in default desktop (ubuntu-sounds, pidgin, ...)
 832KB when compressed, though some are used by ALSA test code
 could also lower quality on PCM sounds

extending weather report for package-level checks
 DDPO clone?
 really-fix-it: gardening patch tags (james_w)
 fix text/* content-types in Launchpad

3G networking

need to improve approaches to testing of networking changes
 prioritise hardware, buy as necessary
 prioritise telco peculiarities
 differs by country
 variety of dial-in numbers per provider (per country)
 maemo have a list of this
 Arne has a list for Taiwan
 some telco hardware requires proprietary applications
 target countries where pervasive broadband networking is otherwise hard to obtain

network-manager 0.7 has 3g backend, uses ppp behind the scenes
profiles for different operators

structured testing via network-manager.qa.ubuntu.com (?)
 functional test plan, per-hardware and with workflow tests
 prepare the website for hardware testing. Can users that have new
  hardware add a new entr into the testplan without too much overhead?y
 Tony Espy has test plan from Pepper

 Arne: Taiwan: integrated into USB stick, modem itself is usb-serial (e.g. Huawei E220, NU MU-Q101)

 Netherlands: USB stick with weird driver (HSO; http://www.pharscape.org/component/option,com_forum/Itemid,68/page,viewforum/f,14/sid,385962821b26c5fcda08f344931d0b71/) (Option Icon 7.2); has a serial interface to "dial" and a network interface for the network traffic; might need extra N-M work

 Spain: Vodafone & Movistar developed different solutions for these usb or PCMCIA devices. Both developments are free. They are included in Guadalinex so they are Ubuntu compatible.
   * https://forge.vodafonebetavine.net/projects/vodafonemobilec/
   * http://open.movilforum.com/wiki/index.php/Escritorio_movistar  (Spanish) Contact: Jose Antonio Moujadami Urosa <joseantonio.moujadamiu

 Movistar is attempting to develop base 3G libraries: it's important that any base libraries are written in such a way that they are usable from an application such as network-manager that owns the networking stack

Education Edition: Local content filtering

Education Edition: GUI for dynamic menus

The current edubuntu-menus package installs a fixed set of menus bound to Unix groups. To maintain the menus it is currently necessary to edit the .menu files by hand. The menu group also doesn't show up in the ubuntu users and groups tool yet.

The goal of editing menus is to make structural changes to the .menu files; that is, to add or remove individual desktop files and/or categories from them. This seems very similar to the job of Alacarte, which is that of adding or removing individual desktop files and/or categories from a user's menu. The principal difference is that Alacarte edits configuration in a user's home directory, while this tool edits (initially) pre-generated configuration in /usr/share/edubuntu-menus; but this seems like essentially a matter of configuration.

Firefox KDE integration

No integration with protocol handlers (e.g. mailto:)

Currently, Firefox asks GNOME-VFS for the application to run for a given MIME type

Migrate Firefox to use XDG tools for MIME type queries

Would be useful to get hold of all applications that can handle a MIME type, in order to build an Applications menu

Firefox translations were moved into the GNOME language packs to save CD space

ubufox: ships Ubuntu-specific extensions, e.g. plugin finder service, start page

To check for KDE session: [ "$KDE_FULL_SESSION" = true ]

Icons:

Boot performance

We need faster boots for various reasons: mobile, laptop, etc. It's also just generally nice.

Overview

boot process spends a lot of time in initramfs:

Readahead problems: 1) operates on file-by-file basis 2) generating the lists is very difficult

Prefetch is kernel-level

during boot, we're cpu bound during modprobe (via udev?). mobile is almost entirely cpu bound

rc2 is highly subjective to people's configurations (but we could benchmark default install)

mobile with fixed hardware may gain a lot of boot speed by compiling drivers into the kernel

X/gdm should start earlier, but this requires dbus+hal to be started earlier

Goal 25 secs?(On Core2Duo, 1 Gb Ram p.e.). Less on QuadCore systems?

Solutions

  1. Use multithreading. Take advantage of multi-core systems.-->Detect processor.

  2. Auto regenerative readahead and grub autoprofiler.
  3. Preload&Prefetch&Grub auto-profiler by default

  4. Restructure boot order

Plan for intrepid:

20 May Round Table (Resource reduction: profiling tools)

Basic System

C/C++

Python

Desktop

Colin's system monitor output (by writable memory):

Ubuntu Distributed Development - Importer

Fallback option is to throw away (or better, migrate) old-phase branches to new history

rebase / tree-mapper allows more graceful migration

separate namespace for source package branches
 * also doesn't ''require'' creating upstream projects
 * to be raised further with Soyuz developers

naming scheme for branches:

official branches:

  lp:ubuntu/intrepid/glibc <- lp:ubuntu/glibc

user branches:

  lp:~cjwatson/ubuntu/intrepid/glibc/foo <- lp:~cjwatson/ubuntu/glibc/foo

Debian adoption is beneficial long-term but not immediately necessary; indeed, in the short term, multiple runs of the importer will merely create id clashes and require extra migration work - but James will import both Debian and Ubuntu at the same time, so those branches can be used by Debian developers too

dependency on performance improvements for rapid checkouts
 * shallow branches / stacked branches, in progress

Font selector

Current situation

font-selector

other user requests

Investigation of Intel connection manager

Notes

original plan never to replace network-manager

network-manager was unable to deal with advanced/experimental technology (e.g. WiMAX)

very ambitious plans for features, but still working on basic functionality at present

polling network hardware (scanning) will drain battery very quickly

documentation not yet completely released for legal reasons (will be merged into source code)

master git tree is private for now. moblin will be the master tree in the future (~1 month); in the meantime bug Marcel Smile :-)

Uses a number of plugins:

Provision to store configuration/authentication system-wide, though if authentication is needed then of course it will require a UI

Will emulate network-manager's online/offline state, though not other interfaces

It will use special library for dbus: libgdbus, a thin wrapper for libdbus and glib, without gobject. It will not use GObject.

Current approach on broken drivers: no tweaks -> fix the drivers and reevaluate regularly

Timeline/Roadmap

3G:

Improve Flash experience

Current implementation detects Flash object, pops up UI, runs apturl to install selected plugin

Most web sites use Flash detection kit, implemented in JavaScript; checks whether plugin is installed

Approaches:

  1. Adobe to link to Ubuntu packages from their Flash page
  2. Detect property requests from JS from FDK

plugin finder service needs to die; can't support alternatives plugins can/should be wrapped in extensions, which adds more metadata plugins could (in principle) be added to Ubuntu add-ons list Firefox 3.1 will embed add-ons much more directly

Gnash to be packaged as an XPI upstream so that it can go on addons.mozilla.org

For Intrepid:

Backport free Flash packages more frequently; consider for stable updates as long as we sort out test suite coverage when run on Ubuntu

Comments:

OpenOffice.org upload schedule

OpenOffice.org language packs

21 May Round Table (X.org in Intrepid)

Spec: xorg-intrepid

Upgrade hints (really: remove cruft after upgrades)

Post-hoc hints for cleaning up system from non-update-manager upgrades; incorporate:

Michael reluctant to add to update-manager UI itself; update-manager should only install packages, not remove them, otherwise people will be more reluctant to run it

Most applications of a cleanup tool are package-related

Need to add upgrade hints for certain packages moved from main to universe. Also installer changes (e.g. relatime)

Code in update-manager mostly fairly separate

Some is more difficult to perform after installation due to lack of context (e.g. no knowledge of previous state)

Cleanup items need to have a "no, and don't ask me again" option, which is difficult to incorporate into current update-manager design

Loose consensus to add new System -> Administration entry for this tool due to this; mvo and liw to talk with mpt

DVD live installation performance hacks

Installer would skip copying any files that matched a certain pattern.

http://people.ubuntu.com/~ubuntu-archive/germinate-output/ubuntu.intrepid/dvd-live

Some packages would fail if certain files were missing. Possible to run dpkg -L on each package to create a blacklist, or look at /var/lib/dpkg/info/*.list if that's too slow. If a package does not have a prerm, it's safe to remove. Alternatively, we could use a whitelist.

Profiling!

gimp-help-* has a prerm that runs install-docs -r; this appears to be safe language-pack packages appear to be safe. Might be more efficient to remove specific packages first in do_remove().

Triggerisations:

Calculation of removal still takes a long time (1200+ packages)

Instrumentation for gathering translation statistics

Problem statement

OEMs would love to have information on which languages are well-supported. As well as software-level support (information being collected elsewhere), this involves translation levels of visible parts of the desktop. Current translation statistics of main do not do a good job of representing this, because they include things like gcc error messages which are largely invisible to most users.

It would be useful to have instrumentation so that we can ask users to install a package and thereby gather information on which messages they actually see, and which ones are translated; this information can then be sent back and incorporated into the ordering presented to translators by Launchpad.

(New languages can be added by means of a request on https://answers.launchpad.net/rosetta with information on the new language.)

Design

Most software (with a few prominent exceptions such as Firefox and OpenOffice.org) uses the gettext library for translated strings, either directly in C or via bindings to languages such as Python. This can be intercepted with an LD_PRELOAD wrapper, which dumps out information (e.g. to a database or a raw file) and then calls the underlying gettext functions. A user can then install that wrapper and play with a desktop system for a while, then send the dump file to us.

Font coverage

Statistics of which Unicode codepoints are covered by which fonts, or not covered at all

Some blocks have multiple preferences or other difficulties:

3 statistics:

Future of i486 and i586 support

USB installation images

Targets

Design

Advantages

Notes from previous discussion (UDS-Seville)

Live/Install from USB key

Use cases

Results

Needs research

Targets

Wants

Transformation utility that takes a .iso image and it works out what to do with it

Should work for Linux and Windows, so possibly two separate applications

22 May Round Table (Python 3)

Archive component reorganisation

Input hotplug

* Input-hotplug

Sample bugs:

User-specific settings would need .fdi files in the user's homedir. This isn't available currently.

After logging in if a device is plugged in, how does the fdi files for it get put into place?

Currently, the xorg.conf sets the global xorg default. gdm currently can set a default session keyboard gconf setting the user can then specify its own keyboard to override that.

With XInput, DeviceKit has an idea of what the layout is, and a standard generic layout default ("us"). gdm can override it if a gconf key is set the user can also specify a user-specific setting.

what about kdm/xdm users? We need to put it somewhere more generic. Perhaps either taken from console-setup or in DeviceKit.

Implementationally, should we follow fedora and roll it out just for non-keyboards as phase 1, and then do keyboards as a phase 2 rollout.

We should take the input configuration settings out of dexconf as soon as possible so users won't have xorg.conf files with input settings that override input hotplug, which would prevent them from testing it in the future.

Some keyboards provide their layouts, but many do not. Is it even worth spending time on?

What about configuration of touchscreens that require calibration? For touchscreens, mayb need to do calibration at installation time (or for OEM's at image creation time). However for touchpads and connectable devices, need way to run calibration tools during runtime, not at install time.

There are a variety of calibration tools available for different devices; some don't have any tools at all. Ogra will compose a list of available tools and send to bryce.

Historically, xserver needs a CoreKeyboard and a CorePointer. If these aren't specified in xorg.conf, xserver will try to auto-find them via /dev/input and create default devices (do not want). So we need the "AllowEmptyInput" server flag set.

Spec: xorg-input-hotplug

DM-RAID support

spec on the Ubuntu Wiki

System recovery for OEMs

Initramfs performance

23 May Round Table (Ubuntu policy manual and standards)

Documents describing policy and standards are difficult to track in the wiki:

https://wiki.ubuntu.com/UbuntuPackagingChanges

debian-policy is mostly appropriate except for section 3

it's important to preserve section numbers

developers-reference for workflow

Refer to UbuntuArchitecture

Policy changes:

Developer's reference:

Announcement of changes:

Revitalise ubuntu-devel!

Lightweight process on ubuntu-devel for making changes

Accessibility review of Ubuntu-specific desktop tools

Spec on the Ubuntu Wiki

Wubi

Possible New Features

Windows frontend improvements:

improvements

UI Changes

Porting Wubi to other platforms

Porting Wubi To Debian

extraction tools

Wubi to native migration

Rely on existing Ubuntu CD or USB stick; alternatively, offer to burn an existing CD or USB stick All from Ubuntu; Windows need not be involved

First stage (so that users know how to find this feature):

Ubiquity derivative with a simpler UI; partitioning options are more restricted, and many questions need not be asked; bottom half performs some different customisations

Language, keyboard, user questions are unnecessary because all the answers are in place on the source filesystem already; migration-assistant is unnecessary

Simpler partitioner

No advanced partitioner

Autopartitioning alternatives:

Bottom half:

Notify user that they can remove Wubi from the Windows side.

Ubiquity visual refresh

Advanced mode for editing xorg.conf

Spec: xorg-options-editor

UDS-Intrepid/Report/Platform (last edited 2008-08-06 17:01:13 by localhost)