(→To work with Intel Public Key Infrastructure) |
m (→Software) |
||
| (33 intermediate revisions not shown) | |||
| Line 14: | Line 14: | ||
== Current status== | == Current status== | ||
| - | Following screen shot shows the Netbook branch of MeeGo running on a desktop box. | + | Following screen shot shows the Netbook branch of MeeGo running on a desktop box. To install MeeGo on a desktop box, please refer to [[#Appendix 1: How to install MeeGo for Netbook on a desktop box]]. |
[[File:Picture1.png|600px]] | [[File:Picture1.png|600px]] | ||
| - | In fact, the Netbook branch of MeeGo has some support for desktop boxes already, as following | + | In fact, the Netbook branch of MeeGo has some support for desktop boxes already, as described in following sections. |
| - | + | === User experience (UX) === | |
| - | + | ||
| - | *Hardware support - Some desktop hardware are supported, including: | + | As a conclusion, the behavior of Netbook UX has been adjusted for desktop screens, as following: |
| + | *When using a screen which is larger than typical netbook screens, all the apps you are using will be shown in one zone instead of multiple zones. | ||
| + | |||
| + | Details is described in the following sub-sections. | ||
| + | |||
| + | ====Architecture==== | ||
| + | * Window manager: mutter | ||
| + | ** Window manager plugin: mutter-moblin | ||
| + | ** Panel services of window manager: zones, myzone, status, people, internet, media, pasteboard, applications | ||
| + | |||
| + | ====Compare MeeGo zones (large display mode) with traditional workspaces==== | ||
| + | * The zone is MeeGo's implementation of workspace | ||
| + | * A new zone can be created only if there is a zone contains more than one app. | ||
| + | * Switching zones takes noticeable time, which is caused by the way the animation effect designed. | ||
| + | * Conclusion: MeeGo zones has fewer features than traditional workspaces, and it is also slower. But it is still bearable to most end users, while it would be cool if we re-design it to fit desktop usage model better. | ||
| + | |||
| + | ====Where are the shortcuts, folders, and files which should be shown on traditional desktop?==== | ||
| + | * Default folders (Documents, Downloads, Music, Pictures, Videos, Trash) can be accessed from the Devices panel. | ||
| + | ** The Desktop folder and Documents folder are merged into one single Documents folder. | ||
| + | *** I like it. It is difficult for users to remember where a file is if it can be either in Documents folder or in Desktop folder. If one really want files and folders to be shown in the desktop, we can simply show the content of the Documents folder in the desktop, but the UX need to be re-designed to gave users good experience. | ||
| + | ** The Trash folder is put in a less important place. | ||
| + | * No shortcut can be made by end user using MeeGO UX. | ||
| + | * Conclusion: This is a big change, while it also make sense. So we can keep the current implementation. | ||
| + | |||
| + | ===Hardware support=== | ||
| + | *There are 1,389 drivers enabled in MeeGo kernel (2.6.33.3-5.3-netbook). | ||
| + | *Some desktop hardware are supported, including: | ||
** Intel graphics chips are supported. | ** Intel graphics chips are supported. | ||
| + | *For details, please refer to [[#Appendix 3: Investigation on kernel & graphics drivers]]. | ||
| + | |||
| + | ===Software=== | ||
| + | *MeeGo has 1000+ packages. | ||
| + | *All development libraries for the Netbook branch are there, including: | ||
| + | **C/C++/Python | ||
| + | **Qt/GTK+ | ||
| + | *The required development tools for the Netbook branch are there, including: | ||
| + | **QtCreator | ||
| + | **Anjuta | ||
| - | + | ====MeeGo IT Build==== | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | Image can be downloaded from: http://opensource.intel.com/linux-wiki/MeeGoITBuild | |
| - | Repository for 'Enterprise' packages, which should all be on their way into MeeGo Trunk: http://build.meego.com/project/show?project=devel:enterprise | + | The packages of the image are in the following repos: |
| + | * Repository for 'Enterprise' packages, which should all be on their way into MeeGo Trunk: http://build.meego.com/project/show?project=devel:enterprise . Following packages are in the repo: | ||
| + | **chromium | ||
| + | **evolution | ||
| + | **evolution-data-server | ||
| + | **jana | ||
| + | **krb5-auth-dialog | ||
| + | **nss | ||
| + | **openconnect | ||
| + | **pidgin-sipe | ||
| + | **rdesktop | ||
| + | **tigervnc | ||
| + | **tsclient | ||
| - | + | * Repository for Intel specific packages (should only be intel-pki): http://moblin-mdi.jf.intel.com/project/show?project=home:dwmw2:Trunk:ITBuild | |
| - | Repository for Intel specific packages (should only be intel-pki): http://moblin-mdi.jf.intel.com/project/show?project=home:dwmw2:Trunk:ITBuild | + | |
==Gaps == | ==Gaps == | ||
Comparing the Netbook branch of MeeGo with other well known Linux distros, we can find the following gaps: | Comparing the Netbook branch of MeeGo with other well known Linux distros, we can find the following gaps: | ||
| - | + | ===User experience(UX)=== | |
| - | + | *Missing some handy system utilities like: | |
| - | + | **Menu for shut down / suspend / reboot / lock the system | |
| - | + | *No multiple-users support | |
| - | + | ===Hardware support === | |
| - | **Platforms with the GMA-500, Nvidia, or ATI graphics chipsets are not supported | + | *There are 1,389 drivers enabled in MeeGo kernel 2.6.33.3-5.3-netbook, while there are 3,261 drivers enabled in kenel 2.6.31.5-127.fc12.i686.PAE of Fedora 12. |
| - | + | *Platforms with the GMA-500, Nvidia, or ATI graphics chipsets are not supported | |
| + | *No x86_64 support | ||
| + | *For details, please refer to [[#Appendix 3: Investigation on kernel & graphics drivers]]. | ||
| - | + | ===Software === | |
| + | *MeeGo has 1000+ packages, while Fedora 13 has 9000+ packages, and Ubuntu 10.04 has 34,000+ packages. | ||
| + | *Some frequently used software is missing in MeeGo, such as: | ||
**Eclipse | **Eclipse | ||
| - | **OpenOffice | + | **OpenOffice / LibreOffice ([[LibreOffice|LibreOffice manual installation guide]]) |
| - | **Java | + | **Java ([[java|manual installation guide]]) |
| - | === | + | ====MeeGo IT Build==== |
| + | *Intel requirement for MeeGo: http://opensource.intel.com/linux-wiki/MoblinIntelRequirements | ||
| + | *Tracker bug for MeeGo 'enterprise' build. (Tracker for those bugs and missing features which we need to fix before we can consider MeeGo to be usable as an "Enterprise client".): http://bugs.meego.com/show_bug.cgi?id=1508 | ||
==Proposal == | ==Proposal == | ||
| Line 98: | Line 144: | ||
**Make it quicker when switch between apps. | **Make it quicker when switch between apps. | ||
**Support multiple-users | **Support multiple-users | ||
| - | |||
*Software - The more, the better | *Software - The more, the better | ||
**The first set of apps/features to add is as following: | **The first set of apps/features to add is as following: | ||
| Line 107: | Line 152: | ||
*** icecream distributed compiler (see home:sbryan project on moblin-mdi for an local dev team specifc customized package) | *** icecream distributed compiler (see home:sbryan project on moblin-mdi for an local dev team specifc customized package) | ||
*** Resolution configuration | *** Resolution configuration | ||
| - | |||
| - | |||
** MeeGo has much fewer packages (1,000+) than Ubuntu (34,000+) or Fedora (9,000+). I have a solution to choose important projects to be packaged first, which is documented at the following internal URL: http://otc-files.bj.intel.com/pub/MeeGo/desktop/solution_for_new_packages_by_max.html | ** MeeGo has much fewer packages (1,000+) than Ubuntu (34,000+) or Fedora (9,000+). I have a solution to choose important projects to be packaged first, which is documented at the following internal URL: http://otc-files.bj.intel.com/pub/MeeGo/desktop/solution_for_new_packages_by_max.html | ||
| + | |||
| + | ====MeeGo for Intel Public Key Infrastructure==== | ||
| + | |||
| + | The features about Intel PKI should be integrated into 'firstboot'. | ||
| + | |||
| + | ====MeeGo for 'enterprise'==== | ||
| + | I can think of three solutions: | ||
| + | * MeeGo IT Build | ||
| + | ** The image and its packages need to be well maintained, and updated in time. | ||
| + | * Microsoft Outlook Web App | ||
| + | * Google Apps (http://www.google.com/apps/intl/en/business/index.html) | ||
| + | |||
| + | Using Google Apps is the solution I prefer. Since there is no perfect solution to support Microsoft documents and services in Linux. | ||
==Appendix 1: How to install MeeGo for Netbook on a desktop box== | ==Appendix 1: How to install MeeGo for Netbook on a desktop box== | ||
The content of this wiki page is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter.
--Max
MeeGo is designed to run on a variety of devices: netbooks, handsets, in-vehicles, connected TVs, and media phones. But desktops are not in this list. So one must either use a real MeeGo-supported device or an emulator to test the software she/he developed in a desktop box, which is less convenient than testing the software in the desktop box directly.
A solution for this problem is to make MeeGo to support desktops. Since netbooks and desktops are similar by nature, so it does not need much extra effort.
Following screen shot shows the Netbook branch of MeeGo running on a desktop box. To install MeeGo on a desktop box, please refer to #Appendix 1: How to install MeeGo for Netbook on a desktop box.
In fact, the Netbook branch of MeeGo has some support for desktop boxes already, as described in following sections.
As a conclusion, the behavior of Netbook UX has been adjusted for desktop screens, as following:
Details is described in the following sub-sections.
Image can be downloaded from: http://opensource.intel.com/linux-wiki/MeeGoITBuild
The packages of the image are in the following repos:
Comparing the Netbook branch of MeeGo with other well known Linux distros, we can find the following gaps:
To make MeeGo to support desktops, at least it should have the required changes below. MeeGo will support desktops better if the optional changes below be applied.
The features about Intel PKI should be integrated into 'firstboot'.
I can think of three solutions:
Using Google Apps is the solution I prefer. Since there is no perfect solution to support Microsoft documents and services in Linux.
root (hdX,X) kernel /boot/vmlinuz-XX.XX root=/dev/XXX ro boot
See more details below.
$ ls /usr/lib/dri i810_dri.so i915_dri.so i965_dri.so mach64_dri.so mga_dri.so r128_dri.so r200_dri.so r300_dri.so r600_dri.so radeon_dri.so savage_dri.so sis_dri.so swrast_dri.so tdfx_dri.so unichrome_dri.so $ dpkg -S /usr/lib/dri/* libgl1-mesa-dri: /usr/lib/dri/i810_dri.so libgl1-mesa-dri: /usr/lib/dri/i915_dri.so libgl1-mesa-dri: /usr/lib/dri/i965_dri.so libgl1-mesa-dri: /usr/lib/dri/mach64_dri.so libgl1-mesa-dri: /usr/lib/dri/mga_dri.so libgl1-mesa-dri: /usr/lib/dri/r128_dri.so libgl1-mesa-dri: /usr/lib/dri/r200_dri.so libgl1-mesa-dri: /usr/lib/dri/r300_dri.so libgl1-mesa-dri: /usr/lib/dri/r600_dri.so libgl1-mesa-dri: /usr/lib/dri/radeon_dri.so libgl1-mesa-dri: /usr/lib/dri/savage_dri.so libgl1-mesa-dri: /usr/lib/dri/sis_dri.so libgl1-mesa-dri: /usr/lib/dri/swrast_dri.so libgl1-mesa-dri: /usr/lib/dri/tdfx_dri.so libgl1-mesa-dri: /usr/lib/dri/unichrome_dri.so $ dpkg -L libgl1-mesa-dri /. /usr /usr/share /usr/share/doc /usr/share/doc/libgl1-mesa-dri /usr/share/doc/libgl1-mesa-dri/copyright /usr/share/doc/libgl1-mesa-dri/changelog.Debian.gz /usr/lib /usr/lib/dri /usr/lib/dri/i810_dri.so /usr/lib/dri/i915_dri.so /usr/lib/dri/i965_dri.so /usr/lib/dri/mach64_dri.so /usr/lib/dri/mga_dri.so /usr/lib/dri/r128_dri.so /usr/lib/dri/r200_dri.so /usr/lib/dri/r300_dri.so /usr/lib/dri/r600_dri.so /usr/lib/dri/radeon_dri.so /usr/lib/dri/savage_dri.so /usr/lib/dri/sis_dri.so /usr/lib/dri/swrast_dri.so /usr/lib/dri/tdfx_dri.so /usr/lib/dri/unichrome_dri.so
[root@xyu9-dev dri]# ls /usr/lib/dri/ i810_dri.so libdricore.so r200_dri.so savage_dri.so tdfx_dri.so i915_dri.so mga_dri.so r300_dri.so sis_dri.so unichrome_dri.so i965_dri.so r128_dri.so radeon_dri.so swrast_dri.so [root@xyu9-dev dri]# rpm -qf /usr/lib/dri/* mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686 mesa-dri-drivers-7.6-0.13.fc12.i686
$ ls /usr/lib/dri dummy_drv_video.so i915_dri.so i965_dri.so swrast_dri.so $ rpm -qf /usr/lib/dri/* libva-1.0.1-3.4.i586 mesa-dri-i915-driver-7.8.1-4.2.i586 mesa-dri-i965-driver-7.8.1-4.2.i586 mesa-dri-swrast-driver-7.8.1-4.2.i586 $ rpm -qpl mesa-dri-i915-driver-7.8.1-6.6.i586.rpm /usr/lib/dri/i915_dri.so
While mesa is packaged into following rpms:
egl-utils-7.8.1-6.2.i586.rpm glx-utils-7.8.1-6.2.i586.rpm mesa-7.8.1-6.2.src.rpm mesa-debuginfo-7.8.1-6.2.i586.rpm mesa-dri-drivers-devel-7.8.1-6.2.i586.rpm mesa-dri-i915-driver-7.8.1-6.2.i586.rpm mesa-dri-i965-driver-7.8.1-6.2.i586.rpm mesa-dri-swrast-driver-7.8.1-6.2.i586.rpm mesa-libEGL-7.8.1-6.2.i586.rpm mesa-libEGL-devel-7.8.1-6.2.i586.rpm mesa-libGL-7.8.1-6.2.i586.rpm mesa-libGL-devel-7.8.1-6.2.i586.rpm mesa-libGLU-7.8.1-6.2.i586.rpm mesa-libGLU-devel-7.8.1-6.2.i586.rpm mesa-libGLUT-7.8.1-6.2.i586.rpm mesa-libGLUT-devel-7.8.1-6.2.i586.rpm
Mesa dri driver for non-intel graphics chips need to be added.
[root@xyu9-dev dri]# rpm -ql libdrm /etc/udev/rules.d/91-drm-modeset.rules /usr/lib/libdrm.so.2 /usr/lib/libdrm.so.2.4.0 /usr/lib/libdrm_intel.so.1 /usr/lib/libdrm_intel.so.1.0.0 /usr/lib/libdrm_nouveau.so.1 /usr/lib/libdrm_nouveau.so.1.0.0 /usr/lib/libdrm_radeon.so.1 /usr/lib/libdrm_radeon.so.1.0.0 /usr/share/doc/libdrm-2.4.15 /usr/share/doc/libdrm-2.4.15/README
[root@localhost lib]# rpm -ql libdrm /usr/lib/libdrm.so.2 /usr/lib/libdrm.so.2.4.0 /usr/lib/libdrm_intel.so.1 /usr/lib/libdrm_intel.so.1.0.0 /usr/lib/libdrm_radeon.so.1 /usr/lib/libdrm_radeon.so.1.0.0 /usr/lib/libkms.so.1 /usr/lib/libkms.so.1.0.0 /usr/share/doc/libdrm-2.4.20 /usr/share/doc/libdrm-2.4.20/README
Need to add a libdrm library for nVidia cards (libdrm_nouveau.so)
MeeGo has:
xorg-x11-drv-intel-2.11.0-1.5.i586 xorg-x11-drv-vesa-2.3.0-2.5.i586
While Fedora 12 has:
xorg-x11-drv-apm-1.2.2-1.fc12.i686 xorg-x11-drv-ast-0.89.9-1.fc12.i686 xorg-x11-drv-ati-6.13.0-0.10.20091006git457646d73.fc12.i686 xorg-x11-drv-cirrus-1.3.2-1.fc12.i686 xorg-x11-drv-dummy-0.3.2-3.fc12.i686 xorg-x11-drv-fbdev-0.4.1-1.fc12.i686 xorg-x11-drv-geode-2.11.4.1-1.fc12.i686 xorg-x11-drv-glint-1.2.4-1.fc12.i686 xorg-x11-drv-i128-1.3.3-1.fc12.i686 xorg-x11-drv-i740-1.3.2-1.fc12.i686 xorg-x11-drv-intel-2.9.1-1.fc12.i686 xorg-x11-drv-mach64-6.8.2-1.fc12.i686 xorg-x11-drv-mga-1.4.11-1.fc12.i686 xorg-x11-drv-neomagic-1.2.4-2.fc12.i686 xorg-x11-drv-nouveau-0.0.15-17.20091105gite1c2efd.fc12.i686 xorg-x11-drv-nv-2.1.15-2.fc12.i686 xorg-x11-drv-openchrome-0.2.904-1.fc12.i686 xorg-x11-drv-r128-6.8.1-2.fc12.i686 xorg-x11-drv-rendition-4.2.2-4.fc12.i686 xorg-x11-drv-s3virge-1.10.4-1.fc12.i686 xorg-x11-drv-savage-2.3.1-1.fc12.i686 xorg-x11-drv-siliconmotion-1.7.3-1.fc12.i686 xorg-x11-drv-sis-0.10.2-1.fc12.i686 xorg-x11-drv-sisusb-0.9.3-1.fc12.i686 xorg-x11-drv-tdfx-1.4.3-1.fc12.i686 xorg-x11-drv-trident-1.3.3-1.fc12.i686 xorg-x11-drv-v4l-0.2.0-3.fc12.1.i686 xorg-x11-drv-vesa-2.2.1-1.fc12.i686 xorg-x11-drv-voodoo-1.2.3-1.fc12.i686
Conclusion: Xorg X11 video driver for non-intel video cards need to be added.
[root@xyu9-dev kernel]# ls /lib/modules/2.6.31.5-127.fc12.i686.PAE/kernel/drivers/video/ aty i810 metronomefb.ko s3fb.ko tdfxfb.ko via backlight kyro neofb.ko savage tridentfb.ko cirrusfb.ko macmodes.ko nvidia sm501fb.ko vfb.ko display matrox output.ko sstfb.ko vga16fb.ko fb_ddc.ko mb862xx riva svgalib.ko vgastate.ko [root@xyu9-dev kernel]# ls /lib/modules/2.6.31.5-127.fc12.i686.PAE/kernel/drivers/video/aty/ aty128fb.ko atyfb.ko radeonfb.ko [root@xyu9-dev kernel]# ls /lib/modules/2.6.31.5-127.fc12.i686.PAE/kernel/drivers/video/i810/ i810fb.ko [root@xyu9-dev kernel]# ls /lib/modules/2.6.31.5-127.fc12.i686.PAE/kernel/drivers/gpu/drm/ drm_kms_helper.ko i2c i830 mga r128 savage tdfx via drm.ko i810 i915 nouveau radeon sis ttm
[root@localhost kernel]# ls /lib/modules/2.6.33.3-5.3-netbook/kernel/drivers/video/ i810 vgastate.ko [root@localhost kernel]# ls /lib/modules/2.6.33.3-5.3-netbook/kernel/drivers/video/i810/ i810fb.ko [root@localhost kernel]# ls /lib/modules/2.6.33.3-5.3-netbook/kernel/drivers/gpu/drm/ mga [root@localhost kernel]# ls /lib/modules/2.6.33.3-5.3-netbook/kernel/drivers/gpu/drm/mga/ mga.ko
Kernel video drivers for non-intel graphics chips need to be added.
Package number of MeeGo and main distros:
See http://otc-files.bj.intel.com/pub/MeeGo/desktop/solution_for_new_packages_by_max.html
java eclipse OpenOffice.org rdesktop
xchat
In Ubuntu, contributors are fall into several categories.
In Fedora, external contributors are in the same role.
In OpenSUSE, OBS is used, and it is open to external developers.