AC100
5062
Comment: tidy up
|
5254
|
Deletions are marked like this. | Additions are marked like this. |
Line 61: | Line 61: |
== Adobe Flash == Dropping this library into ~/.mozilla/plugins allows flash playback. It warns though that it is out of date. http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so |
Status of the Ubuntu port to the AC100/Dynabook Tegra based netbook
This page collects information necessary to get a working Ubuntu port on the AC100 using only open source components and everything in the official archives (or temporarily in PPAs)
A Note About Fragmentation
The effort the bring hardware support has always been fragmented. We are thankful for phh who provided a solution based on (now) older L4T releases, ogra who made Ubuntu work without proprietary daemon, marvin24 who has put effort in porting Chrome OS to the AC100, and the many others who were involved.
The downside of this fragmentation is that documentation is fragmented too. The goal of this wiki is to provide good quality information for the latest and most promising effort.
Wiki maintainers: don't reference the old "wetpaint" wiki. It is virtually unmaintained and will cause confusion. Information about the inner workings of the device and drivers must go here: http://ac100.grandou.net/
Hardware
The AC100 is an nVidia Tegra2 based device which has Android 2.1 as factory default. It has dual ARM Cortex-A9 cores at 1 GHz and nVidia GPU technology on its System On Chip. Some models come with 3G modems and the eMMC flash storage comes in various sizes.
Strengths
- Very slim and light
- Long battery life
- HDMI out
Weaknesses
- Slow eMMC storage (not an SSD)
- No VGA out (must use a displaylink device for most projectors)
Features known to work on Ubuntu: webcam, touchpad, 3G modem, WiFi, OpenGL ES (proprietary), indicator LEDs, card reader
Incomplete support: video acceleration, HDMI out, audio
For details and a list of models, see http://ac100.grandou.net/models
Boot loader
The current first stage bootloader is Android Fastboot which uses the kernel and initramfs images found on partition 6 of the device. The partition can be written via the mini-USB port from another computer using the closed source nvflash utility from nvidia or opensource putusb, or updated from an already running system. The boot partition can be handled using the abootimg tool.
The ac100 PPA has a kernel that reads the (nvidia-proprietary format) main partition table, so kernel upgrades are possible. The flash-kernel package in the PPA takes care of this.
U-Boot
The default boot loader is inflexible, and there is interest in adding U-Boot as a second stage boot loader. There are Tegra based U-Boot using devices but there's no working AC100 image yet that can handle the eMMC or the screen to be actually useful for a wider audience.
Kernel
As of early August 2011 a 2.3.38-chromeos kernel fork is used in Ubuntu. It does not support suspend/resume and sound yet. Work is done to upstream AC100 support patches in 3.1 and 3.2 kernels so we can use mainline eventually.
Built kernels are in the ppa: https://launchpad.net/~ac100/+archive/ppa
Kernel tree is at https://gitorious.org/~marvin24/ac100/marvin24s-kernel
Adobe Flash
Dropping this library into ~/.mozilla/plugins allows flash playback. It warns though that it is out of date. http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so
Graphics
Latest Linux4Tegra SDK from Nvidia is 12alpha1 for kernel 2.6.38.
WebGL
Chromium browser v 13 from the Oneiric Ocelot archive works with some WebGL demos if passed --use-gl=egl --ignore-gpu-blacklist at the command line.
http://www.khronos.org/webgl/wiki/Demo_Repository
GLES demos
The native visual ID for all EGL fbconfigs seems to be returned as 0
eglGetConfigAttrib(ed, &config, EGL_NATIVE_VISUAL_ID, &id); //id = 0
so most GLES apps will not work as there appears to be no visual with that ID.
Example of change needed in es2tri.c from the mesa-utils-extra package
- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals); + visInfo = XGetVisualInfo(x_dpy, VisualNoMask, &visTemplate, &num_visuals);
Screen depth
In the Xorg config file, a depth should be set as 16 or else not even the limited support for GLES as seen above is available.
Section "Screen"
Identifier "<myscreen>"
Device "Tegra"
DefaultDepth 16
EndSection
Installer
There is an installer using the 2.6.37 kernel which is known not to work on the 10Z model and others that use a SanDisk internal eMMC for storage.
http://people.canonical.com/~ogra/tegra/2.6.37/
A new installer based on the 2.6.38 kernel is in the works.
Contact
IRC: #ac100 on freenode
Mailing list archives: https://lists.launchpad.net/ac100/
Launchpad team: https://launchpad.net/~ac100
Misc links
Only put here links that are still relevant for present and future development and do not lead to unnecessary work and confusion. In particular, try to avoid the wetpaint wiki.
Detailed info, useful for developers and power users: http://ac100.grandou.net/
ARM/TEGRA/AC100 (last edited 2021-07-13 10:07:57 by ogra)