Drivers justification

m (5 Mbit SRAM Framebuffer: Beautifying link)
 
(14 intermediate revisions not shown)
Line 1: Line 1:
-
== Overview ==
+
The tablets contain a number of components which are not documented or utilized at all. We believe these components are holding back further development and advancement of the platform.
-
 
+
-
The Nokia Internet Tablets contain a number of components which are not documented or utilised at all.
+
-
We believe these components are holding back further development and advancement of the platform.
+
If we had drivers and documentation for each element we could get the most out of our devices.
If we had drivers and documentation for each element we could get the most out of our devices.
Line 8: Line 5:
== PowerVR MBX ==
== PowerVR MBX ==
-
The N8x0 devices contain a 3D graphics processor, which is currently not used. We (the
+
The OMAP2-based devices contain a 3D graphics processor, which is currently not used. We (the maemo.org community) would like to ask Nokia to release a driver for this component so that we can develop more advanced GUIs, games, etc.
-
Maemo.org) community would like to ask Nokia to release a driver for this component so
+
-
that we can develop more advanced GUIs, games and <...>.
+
-
With desktop computers, 2D and 3D effects are becoming the norm (e.g. Windows Aero on Vista, Quartz on Mac OS X, and Compiz
+
With desktop computers, 2D and 3D effects are becoming the norm (e.g. Windows Aero on Vista, Quartz on Mac OS X, and Compiz on Linux desktops). Embedded devices such as the iPhone are also using graphics acceleration (in that case a PowerVR too) to provide very polished, visually pleasing, and interesting interfaces to the their respective "desktops" and making that acceleration available to applications as well.
-
on Linux desktops). Embedded devices such as the iPhone are also using graphics
+
-
acceleration (in that case a PowerVR too) to provide very polished, visually pleasing, and interesting interfaces to the their respective "desktops" and making that acceleration available to applications as well.
+
-
We believe that having access to the graphics acceleration hardware on the N8x0 will
+
We believe that having access to the graphics acceleration hardware on the N8x0 will allow developers to create new and compelling interfaces, applications and games, which will give us a head-start in developing for future Nokia tablet devices (which will presumably have 3D acceleration available from the outset).
-
allow developers to create new and compelling interfaces, applications and games, which
+
-
will give us a head-start in developing for future Nokia Internet Tablet devices (which
+
-
will presumably have 3D acceleration available from the outset).
+
-
Therefore, we would like to ask Nokia to make available to us the PowerVR driver and
+
Therefore, we would like to ask Nokia to make available to us the PowerVR driver and OpenGL ES implementation. We understand that the driver in question has some issues (e.g. stability, awkward implementation details - console must be left open, etc.), but it would be a great help.
-
OpenGL ES implementation. We understand that the driver in question has some issues (e.g.
+
-
stability, awkward implementation details - console must be left open, etc.), but it
+
-
would be a great help.
+
-
Ideally we would like the source code for the driver, support library and OpenGL ES library,
+
Ideally we would like the source code for the driver, support library and OpenGL ES library, but we understand that this is ImgTech's IP and therefore they will probably be unwilling to support this; as a second we would like a binary-blob style driver, which can then be used with different Linux kernels, but we do not know whether this is the form the current driver takes, or if it would entail extra effort and expense for Nokia (it would surely be in Texas Instruments' and ImgTech's best interest to do this, to push the use and acceptance of their technology, but that is a moot point in this discussion). As a last option, we would simply like access to the existing binary driver, support library and OpenGL ES library.
-
but we understand that this is ImgTech's IP and therefore they will probably be unwilling
+
-
to support this; as a second we would like a binary-blob style driver, which can then be
+
-
used with different Linux kernels, but we do not know whether this is the form the
+
-
current driver takes, or if it would entail extra effort and expense for Nokia (it would
+
-
surely be in Texas Instruments' and ImgTech's best interest to do this, to push the use
+
-
and acceptance of their technology, but that is a moot point in this discussion). As a
+
-
last option, we would simply like access to the existing binary driver, support library
+
-
and OpenGL ES library.
+
== IVA ==
== IVA ==
-
The OMAP2420 contains something called an IVA (imaging and video accelerator), which we
+
The OMAP2420 contains something called an IVA (imaging and video accelerator), which we are told<ref  name=TIOMAP2420>http://focus.ti.com/pdfs/wtbu/TI_omap2420.pdf</ref> is able to do full motion video encoding/decoding at up to 30fps and also fast JPEG compression/decompression. This hardware is not used at present, but is apparently able to do quite a lot. The tablets are currently limited by the LCD controller bandwidth, but are also limited by the ARM CPU in the quality and size of the videos they are able to decode.
-
are told (http://focus.ti.com/pdfs/wtbu/TI_omap2420.pdf) is able to do full motion video
+
-
encoding/decoding at up to 30fps and also fast JPEG compression/decompression. This
+
-
hardware is not used at present, but is apparently able to do quite a lot. The Internet
+
-
Tablets are currently limited by the LCD controller bandwidth, but are also limited by
+
-
the ARM CPU in the quality and size of the videos they are able to decode.
+
-
We would like to know why the IVA is not being used, and if possible to obtain technical
+
We would like to know why the IVA is not being used, and if possible to obtain technical information about it to allow us to program and use it. We understand that it consists of
-
information about it to allow us to program and use it. We understand that it consists of
+
an ARM7 core plus some coprocessors to speed up a variety of operations including VLC (variable length coding/decoding) and iMX (programmable parallel operations).
-
an ARM9 core plus some coprocessors to speed up a variety of operations including VLC
+
-
(variable length coding/decoding) and iMX (programmable parallel operations).
+
-
Being able to use this IVA would greatly enhance the abilities of the Internet Tablets as
+
Being able to use this IVA would greatly enhance the abilities of the tablets as a multimedia device for both photos/photo manipulation and video watching (currently videos must be encoded specifically for it, which is fine as they become smaller, but with cheaper microSD storage available now, the convenience of having the same data files outweighs the inefficiency of storage).
-
a multimedia device for both photos/photo manipulation and video watching (currently
+
-
videos must be encoded specifically for it, which is fine as they become smaller, but
+
-
with cheaper microSD storage available now, the convenience of having the same data files
+
-
outweighs the inefficiency of storage).
+
 +
It's also likely that the additional processing power could enable better support of newer, more efficient codecs, such as h264, that currently require too much CPU power to be generally useful. As h.264 video podcasts intended for use with iPods are popular, but usually have bitrates too high for the tablets to handle, this would be a great improvement in usefulness.
-
== 5 Mbit SRAM ==
+
== 5 Mbit SRAM Framebuffer ==
-
The OMAP2420 contains a 5Mbit SRAM buffer which is meant to allow a VGA display (http://focus.ti.com/pdfs/wtbu/TI_omap2420.pdf).
+
The OMAP2420 contains a 5Mbit SRAM buffer which is meant to allow a VGA display.<ref name=TIOMAP2420/> According to our research, this buffer is not being utilised by this device. We believe this buffer may be used as a fast destination render target for the PowerVR. This onchip framebuffer will provide a very fast RGB surface for use in X11 and SDL gaming.  
-
According to our research, this buffer is not being utilised by this device.
+
-
We believe this buffer is required as a destination render target for the PowerVR.
+
-
This onchip framebuffer will provide a very fast RGB surface for use in X11 and SDL gaming.
+
-
 
+
-
This is semi documented within http://mxr.maemo.org/diablo/source/kernel-source-diablo-2.6.21/kernel-source/drivers/video/omap/dispc.c
+
 +
This is semi documented within [http://mxr.maemo.org/diablo/source/kernel-source-diablo-2.6.21/kernel-source/drivers/video/omap/dispc.c dispc.c].
== Bringing it together ==
== Bringing it together ==
-
 
-
 
On their own each component has limited purpose and use, however a work flow which involves rendering 3d objects with the PowerVR  (or 2d from the CPU or IVA) onto the 5Mbit SRAM buffer which can then be converted from RGB to YUV and copied to main DDR memory by the IVA would allow us to achieve improved performance over the current all software approach.
On their own each component has limited purpose and use, however a work flow which involves rendering 3d objects with the PowerVR  (or 2d from the CPU or IVA) onto the 5Mbit SRAM buffer which can then be converted from RGB to YUV and copied to main DDR memory by the IVA would allow us to achieve improved performance over the current all software approach.
 +
We have software which successfully confirms there is enough bandwidth between the main memory and the Epson LCD chip using a specialised YUV mode, however it will require the help of the hardware components listed above to bring these benefits to all software running on the device.
We have software which successfully confirms there is enough bandwidth between the main memory and the Epson LCD chip using a specialised YUV mode, however it will require the help of the hardware components listed above to bring these benefits to all software running on the device.
 +
 +
Using specialized hardware should also drastically decrease battery consumption for demanding tasks, the likes of which are becoming more common on handheld platforms.
 +
 +
== References ==
 +
 +
<references/>
 +
 +
 +
[[Category:Community]]
 +
[[Category:Development]]

Latest revision as of 18:36, 20 April 2009

The tablets contain a number of components which are not documented or utilized at all. We believe these components are holding back further development and advancement of the platform.

If we had drivers and documentation for each element we could get the most out of our devices.

Contents

[edit] PowerVR MBX

The OMAP2-based devices contain a 3D graphics processor, which is currently not used. We (the maemo.org community) would like to ask Nokia to release a driver for this component so that we can develop more advanced GUIs, games, etc.

With desktop computers, 2D and 3D effects are becoming the norm (e.g. Windows Aero on Vista, Quartz on Mac OS X, and Compiz on Linux desktops). Embedded devices such as the iPhone are also using graphics acceleration (in that case a PowerVR too) to provide very polished, visually pleasing, and interesting interfaces to the their respective "desktops" and making that acceleration available to applications as well.

We believe that having access to the graphics acceleration hardware on the N8x0 will allow developers to create new and compelling interfaces, applications and games, which will give us a head-start in developing for future Nokia tablet devices (which will presumably have 3D acceleration available from the outset).

Therefore, we would like to ask Nokia to make available to us the PowerVR driver and OpenGL ES implementation. We understand that the driver in question has some issues (e.g. stability, awkward implementation details - console must be left open, etc.), but it would be a great help.

Ideally we would like the source code for the driver, support library and OpenGL ES library, but we understand that this is ImgTech's IP and therefore they will probably be unwilling to support this; as a second we would like a binary-blob style driver, which can then be used with different Linux kernels, but we do not know whether this is the form the current driver takes, or if it would entail extra effort and expense for Nokia (it would surely be in Texas Instruments' and ImgTech's best interest to do this, to push the use and acceptance of their technology, but that is a moot point in this discussion). As a last option, we would simply like access to the existing binary driver, support library and OpenGL ES library.

[edit] IVA

The OMAP2420 contains something called an IVA (imaging and video accelerator), which we are told[1] is able to do full motion video encoding/decoding at up to 30fps and also fast JPEG compression/decompression. This hardware is not used at present, but is apparently able to do quite a lot. The tablets are currently limited by the LCD controller bandwidth, but are also limited by the ARM CPU in the quality and size of the videos they are able to decode.

We would like to know why the IVA is not being used, and if possible to obtain technical information about it to allow us to program and use it. We understand that it consists of an ARM7 core plus some coprocessors to speed up a variety of operations including VLC (variable length coding/decoding) and iMX (programmable parallel operations).

Being able to use this IVA would greatly enhance the abilities of the tablets as a multimedia device for both photos/photo manipulation and video watching (currently videos must be encoded specifically for it, which is fine as they become smaller, but with cheaper microSD storage available now, the convenience of having the same data files outweighs the inefficiency of storage).

It's also likely that the additional processing power could enable better support of newer, more efficient codecs, such as h264, that currently require too much CPU power to be generally useful. As h.264 video podcasts intended for use with iPods are popular, but usually have bitrates too high for the tablets to handle, this would be a great improvement in usefulness.

[edit] 5 Mbit SRAM Framebuffer

The OMAP2420 contains a 5Mbit SRAM buffer which is meant to allow a VGA display.[1] According to our research, this buffer is not being utilised by this device. We believe this buffer may be used as a fast destination render target for the PowerVR. This onchip framebuffer will provide a very fast RGB surface for use in X11 and SDL gaming.

This is semi documented within dispc.c.

[edit] Bringing it together

On their own each component has limited purpose and use, however a work flow which involves rendering 3d objects with the PowerVR (or 2d from the CPU or IVA) onto the 5Mbit SRAM buffer which can then be converted from RGB to YUV and copied to main DDR memory by the IVA would allow us to achieve improved performance over the current all software approach.

We have software which successfully confirms there is enough bandwidth between the main memory and the Epson LCD chip using a specialised YUV mode, however it will require the help of the hardware components listed above to bring these benefits to all software running on the device.

Using specialized hardware should also drastically decrease battery consumption for demanding tasks, the likes of which are becoming more common on handheld platforms.

[edit] References

  1. 1.0 1.1 http://focus.ti.com/pdfs/wtbu/TI_omap2420.pdf