ARMUNELauncher

Summary

Improve the user experience to enable Unity in cases where 3D drivers can not be shipped with the default image. Work on first run experience that allows user to install drivers and only if that fails go to the fallback 2D experience .

Rationale

The Unity user interface requires support for hardware 3D acceleration in order to provide a smooth and elegant user experience. However, most of the 3D accelerated graphics drivers in the ARM world are proprietary and cannot be shipped with the default ubuntu-on-arm installation images. In order to allow users to fully enjoy the Unity UI we should provide an easy way to download and install 3D drivers. To avoid confusion, the user should not have to log in to the EFL (2D) interface first and then switch to Unity.

User stories

  • Sarah wants to try ubuntu-on-arm on her board. Her board is equipped with a graphics card that supports 3D acceleration but doesn't have any free software 3D capable drivers. Sarah installs ubuntu-on-arm on the board and boots it. The board loads a (2D based) jockey session and prompts Sarah whether she would like to install the 3D drivers for her system. She accepts, the driver is downloaded and installed and the preferred session is set to Unity (3D). After a possible reboot she is able to log in and enjoy the 3D accelerated Unity UI.

Assumptions

  • To be able to download drivers, access to the internet should be available.

Design

  • The EFL (2D) launcher should remain functional
    • Needed for devices that don't support 3D acceleration (due to lack of either drivers or hardware).
    • Needed for providing an UI when drivers cannot be downloaded (no network connection).
    • However, EFL will be going into maintenance/bugfix only mode.
  • Change boot process:
    • Upon reboot after first install, system will log into a Jockey session and ask the end user if they wish to install the 3D drivers (network connectivity must be active by then).
    • If user chooses Yes, then the system will install the 3D drivers and set the default session to Unity and log in.
    • If user chooses No, then the system will set the EFL launcher as the default session and log in.
    • If the installation fails, set the EFL launcher as the default session and log in.

Implementation

  • Introduce a dedicated jockey session to obtain binary 3D drivers.
    • Set the jockey session as the default for the first boot.
    • Create a program and associated UI to guide the user through the driver installation process.
      • Ask user whether they wish to install 3D drivers.
      • Download and install drivers (through jockey), if required.
      • Set up the new default session.
  • Make sure that internet access is configured soon enough in the boot process so that jockey can download required drivers.
    • Talk to Ivanka regarding design implications for that.

Test/Demo Plan

Unresolved issues


CategorySpec

Specs/M/ARMUNELauncher (last edited 2010-05-30 03:39:32 by 65)