Differences between revisions 1 and 27 (spanning 26 versions)
Revision 1 as of 2005-11-22 16:01:04
Size: 4167
Editor: ?FransPop
Comment: New page
Revision 27 as of 2006-01-20 00:11:39
Size: 4641
Editor: EddyPetrisor
Comment: moved font info into the specialised fonts page
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

See also open [http://bugs.debian.org/cdebconf-gtk-udeb bug reports against cdebconf-gtk-udeb].
Line 9: Line 11:
During a build, not all dependencies between udebs can be resolved if all udebs are taken from the official mirrors. The current workaround is to copy some udebs to "localudebs", but this is not acceptable for the main build infrastructure. During a build, not all dependencies between udebs can be resolved if all udebs are taken from the official mirrors. The current workaround is to copy some udebs to "localudebs", but this is not acceptable for the main build infrastructure (see also [http://lists.debian.org/debian-boot/2005/10/msg00955.html this thread]).
Line 15: Line 17:
 1. Fix the toolchain (mainly dpkg-dev) to improve automatic dependency determination when udebs are build. A patch for this has been proposed but has not yet been implemented.  1. Fix the toolchain (mainly dpkg-dev) to improve automatic dependency determination when udebs are build. A [http://lists.debian.org/debian-dpkg/2005/06/msg00198.html patch] for this has been proposed but has not yet been implemented.
Line 18: Line 20:
 * Frontend crashes when user switches to a different virtual console while the frontend is busy. If the frontend is waiting for input, console switching works.
 * Option in the main menu to exit to a shell does not work.
 * Frontend crashes when user switches to a different virtual console while the frontend is busy ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339379 #339379]). If the frontend is waiting for input, console switching works.
 * Option in the main menu to exit to a shell does not work ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339855 #339855]).
Line 24: Line 26:
The graphical version of the installer is currently available for Intel x86, AMD64 and PowerPC. The PowerPC port probably needs work to get different types of system correctly supported. Other architectures the graphical installer could be ported to include Sparc, Alpha and HPPA. The graphical version of the installer is currently available for Intel x86, AMD64 and PowerPC. The PowerPC port [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=341597 needs work] to get different types of system correctly supported. Other architectures the graphical installer could be ported to include Sparc, Alpha and HPPA.
Line 27: Line 29:
One of the main advantages of the graphical version of the installer is that it can support languages that use combining characters. We are currently using mainly TTF fonts, with the exception of Japanese and Chinese.
Line 29: Line 30:
Fontconfig is used for font management. fc-cache files are automatically generated at startup.

The following issues are open with respect to fonts:
 * Not all fonts needed for the graphical installer have yet been packaged into udebs (needed for inclusion in the official Etch release).
 * Translators should check if their languages are displayed correctly and check for missing characters. Special attention should be given to Indic languages, Arabic and Hebrew.
 * There are known problems for Indic languages and Arabic. These need to be specified and traced. Possibly extra software is needed for correct display.
 * Ideal would be to have each chararter we need present in only one font. The current fonts have a lot of overlap which wastes space.
 * Possibly font configuration can be improved. It would be very nice if we could influence which font is used for a specific language.

=== Requirements for packaging fonts ===
 * Total amount of space used for fonts should be minimized.
 * Only font files that are actually used in the installer should be included.
 * Minimize overlap between fonts. Is is possible to "strip" characters from a font?

=== Overview of fonts currently used ===
FIXME
For font information, please see ["DebianInstallerGUIFonts"]
Line 47: Line 33:
 * Resolution  * Screen resolution.
Line 50: Line 36:
 * Improve accessability (for the visually handicapped). One way to do this is to [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339735 support different themes] (color schemes). (Note: should not lead to a major increase in initrd size.)
Line 55: Line 42:
=== Interface design ===
Most of the work on the graphical side has been done by Eduardo Silva. He has set up a [http://www.geocities.com/jobezone/d-i_gtk.html webpage] with images he designed and some comments about possible future changes.

Line 56: Line 47:
Line 63: Line 53:


== Migrate from gtk+-directfb-2.0.9 to gtk+-directfb-2.8.3 ==
The udebs for gtk+-directfb are based on a [http://www.directfb.org/downloads/Libs/gtk+-directfb-2.0.9-2.tar.gz set of sources]
released in Apr 2003; it's now possible to build a set of libraries based on gtk+2.8.3
which was released around Oct 2005. The main problem is that [http://wiki.debian.org/DebianInstallerGUIBuild building] is rather tricky, and there are no pre-patched sources available from upstream. Upstream author is now working on [http://lists.freedesktop.org/archives/cairo/2005-November/005625.html including directfb backend into Cairo main line] as a first step; [http://mail.gnome.org/archives/gtk-devel-list/2005-November/msg00057.html inclusion of gdk-directfb code into gtk+ tree] should follow then.
Once upstream libraries will be ready to be used, they'll have to be packaged into udebs before we can use them in the installer.

Overview of open issues and things to be done for the ["DebianInstallerGUI"].

See also open [http://bugs.debian.org/cdebconf-gtk-udeb bug reports against cdebconf-gtk-udeb].

Issues

There is currently one remaining issue that blocks including the graphical installer from being included in the main installer build infrastructure: udeb dependency resolution.

udeb dependency resolution

During a build, not all dependencies between udebs can be resolved if all udebs are taken from the official mirrors. The current workaround is to copy some udebs to "localudebs", but this is not acceptable for the main build infrastructure (see also [http://lists.debian.org/debian-boot/2005/10/msg00955.html this thread]).

The problem occurs if some udebs depend on a normal library package (libfoo.deb) while other udebs depend on the corresponding udeb (libfoo.udeb).

There are two known solutions for this issue.

  1. Change dependencies in udebs in such a way that they all depend in the same manner. This is what currently happens for the main installer. Problem with this solution is that the udebs involved are not maintained by the d-i team. Also, this would be ignoring the structural problem.
  2. Fix the toolchain (mainly dpkg-dev) to improve automatic dependency determination when udebs are build. A [http://lists.debian.org/debian-dpkg/2005/06/msg00198.html patch] for this has been proposed but has not yet been implemented.

Other issues

TODO

Porting

The graphical version of the installer is currently available for Intel x86, AMD64 and PowerPC. The PowerPC port [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=341597 needs work] to get different types of system correctly supported. Other architectures the graphical installer could be ported to include Sparc, Alpha and HPPA.

Fonts

For font information, please see ["DebianInstallerGUIFonts"]

Usability

  • Screen resolution.
    • Currently fixed at 800x600. Should be made flexible (adapt to resolution set by system or user).
    • Interface should adapt itself so that text blocks are never too wide for optimal readability.
  • Improve accessability (for the visually handicapped). One way to do this is to [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339735 support different themes] (color schemes). (Note: should not lead to a major increase in initrd size.)

  • Progress bar in separate window.
  • Alternative (graphical) ways to start a shell or browse log files.
  • Interface design.
  • Create custom plug-ins for cdebconf to improve handling of some dialogs and make optimal use of possibilities offered by the graphical environment.

Interface design

Most of the work on the graphical side has been done by Eduardo Silva. He has set up a [http://www.geocities.com/jobezone/d-i_gtk.html webpage] with images he designed and some comments about possible future changes.

Reduce size of initrds

The initrds are currently very large which also results in fairly high memory requirements to run the graphical installer. Size has thus far not been a major concern, our focus has been on getting things working.

Options to reduce initrd size.

  • Library reduction for graphical libraries.
  • Remove unused files from udebs.
  • Reduction of space used by fonts (see above).

Migrate from gtk+-directfb-2.0.9 to gtk+-directfb-2.8.3

The udebs for gtk+-directfb are based on a [http://www.directfb.org/downloads/Libs/gtk+-directfb-2.0.9-2.tar.gz set of sources] released in Apr 2003; it's now possible to build a set of libraries based on gtk+2.8.3 which was released around Oct 2005. The main problem is that [http://wiki.debian.org/DebianInstallerGUIBuild building] is rather tricky, and there are no pre-patched sources available from upstream. Upstream author is now working on [http://lists.freedesktop.org/archives/cairo/2005-November/005625.html including directfb backend into Cairo main line] as a first step; [http://mail.gnome.org/archives/gtk-devel-list/2005-November/msg00057.html inclusion of gdk-directfb code into gtk+ tree] should follow then. Once upstream libraries will be ready to be used, they'll have to be packaged into udebs before we can use them in the installer.