(→Required changes in detail) |
(→Required changes) |
||
| Line 58: | Line 58: | ||
*User experience - Enhance Netbook UX to give users better experience for desktop usage model, including: | *User experience - Enhance Netbook UX to give users better experience for desktop usage model, including: | ||
**Add menu for shut down / suspend / reboot / lock the system in the UX. | **Add menu for shut down / suspend / reboot / lock the system in the UX. | ||
| - | |||
| - | |||
*Hardware support - Enable most desktop hardware, which should be comparable to what Ubuntu, Fedora, or OpenSUSE does. | *Hardware support - Enable most desktop hardware, which should be comparable to what Ubuntu, Fedora, or OpenSUSE does. | ||
**Enable more kernel drivers. | **Enable more kernel drivers. | ||
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.
In fact, the Netbook branch of MeeGo has some support for desktop boxes already, as following:
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.
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.