(→On Ubuntu boot system) |
(→3D Graphics on Touchscreens for MeeGo IVI: More about PVR with DisplayLink.) |
||
| (28 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| - | + | [[File:Panda_IVI_thumbnail.png|400px|thumb|left|Watch the [[Media:Pandaboard_IVIhome.mp4|'''MeeGo-IVI ivihome app''']] running.]] | |
| - | [ | + | [[File:OGLES2_demo_screenshot.png|400px|thumb|left|Watch the [[Media:OGLES2_MeeGo_Pandaboard.mp4|'''one-minute video''']] showing 3D hardware acceleration.]] |
| - | + | [[Media:OGLES2_MeeGo_Pandaboard.mp4|The video]] shows the [http://en.wikipedia.org/wiki/OpenGL_ES OGLES] "Coverflow" demo from [http://www.imgtec.com/ Imagination Technologies] running on the SGX540 GPU which is part of the [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=53243&navigationId=12843&templateId=6123 OMAP 4430] processor that powers the [http://pandaboard.org/ Pandaboard]. Coverflow requires 3D hardware acceleration, so the video shows that the PVR closed-source drivers from Imagination and TI's open source Xorg shared-object libraries work with the MeeGo userland. Just to show that the platform really is MeeGo, I'm running the Handset UX's duihome alongside the graphics demo. [http://en.wikipedia.org/wiki/OpenVG OpenVG], the 2D hardware-accelerated graphics suite, also [http://www.flickr.com/photos/99725460@N00/5689146548/in/photostream works fine on Panda-MeeGo]. | |
| - | + | ||
| - | The video shows the [http://en.wikipedia.org/wiki/OpenGL_ES OGLES] "Coverflow" demo from [http://www.imgtec.com/ Imagination Technologies] running on the SGX540 GPU which is part of the [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=53243&navigationId=12843&templateId=6123 OMAP 4430] processor that powers the Pandaboard. Coverflow requires 3D hardware acceleration, so the video shows that the PVR closed-source drivers from Imagination and TI's open source Xorg shared-object libraries work with the MeeGo userland. Just to show that the platform really is MeeGo, I'm running the Handset UX's duihome alongside the graphics demo. [http://en.wikipedia.org/wiki/OpenVG OpenVG], the 2D hardware-accelerated graphics suite, also [http://www.flickr.com/photos/99725460@N00/5689146548/in/photostream works fine on Panda-MeeGo]. | + | |
== Major references == | == Major references == | ||
| - | * [[ | + | * [[ARM/N900/Install/chroot|N900 chroot method]] |
* [http://www.alwaysinnovating.com/download/ELC-AlwaysInnovating-Gentil.pdf Inspiring Always Innovating presentation] from [http://events.linuxfoundation.org/events/embedded-linux-conference/gentil Embedded Linux Conference] | * [http://www.alwaysinnovating.com/download/ELC-AlwaysInnovating-Gentil.pdf Inspiring Always Innovating presentation] from [http://events.linuxfoundation.org/events/embedded-linux-conference/gentil Embedded Linux Conference] | ||
* [http://www.omappedia.org/wiki/Ubuntu_Pre-Built_Binaries Ubuntu pre-built binaries] for Pandaboard | * [http://www.omappedia.org/wiki/Ubuntu_Pre-Built_Binaries Ubuntu pre-built binaries] for Pandaboard | ||
| Line 16: | Line 14: | ||
== Details == | == Details == | ||
| - | The demo uses the kernel and drivers from the [http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/10.10/release/ubuntu-netbook-10.10-preinstalled-netbook-armel+omap4.img.gz OMAP 4 image of Ubuntu] 10.10. The Ubuntu image is installed on a microSD card using [http://omappedia.org/wiki/Ubuntu_Pre-built_Binaries_Guide TI's instructions]. | + | The demo uses the kernel and drivers from the [http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/10.10/release/ubuntu-netbook-10.10-preinstalled-netbook-armel+omap4.img.gz OMAP 4 image of Ubuntu] 10.10. The Ubuntu image is installed on a microSD card using [http://omappedia.org/wiki/Ubuntu_Pre-built_Binaries_Guide TI's excellent instructions]. Don't forget to follow the [http://omappedia.org/wiki/Ubuntu_PPA Installing OMAP4 Addons Graphically] instructions; they're the whole point of bothering with Ubuntu in the first place! The Addons package provides the drivers for both the [http://en.wikipedia.org/wiki/PowerVR PowerVR SGX540 GPU] and the WLAN, which is handy. |
MeeGo was built using [[Media:panda-morepkgs.ks|this kickstart file]] and the 1.1.80 snapshot (just because I had that image lying around the disk) and installed on a generic Kingston 16 GB USB stick using standard methods: | MeeGo was built using [[Media:panda-morepkgs.ks|this kickstart file]] and the 1.1.80 snapshot (just because I had that image lying around the disk) and installed on a generic Kingston 16 GB USB stick using standard methods: | ||
| Line 38: | Line 36: | ||
=== On Ubuntu boot system === | === On Ubuntu boot system === | ||
* First, boot the Panda using Ubuntu on the microSD. Set up your account, create a root password, etc., following standard Ubuntu instructions. | * First, boot the Panda using Ubuntu on the microSD. Set up your account, create a root password, etc., following standard Ubuntu instructions. | ||
| + | * Verify that 3D graphics are working on the Ubuntu instance. For example, try running the binary demo /GFX_Linux_SDK/OGLES2/SDKPackage/Binaries/X11/Demos/Skybox2/OGLES2Skybox2 (or whatever path on your system). | ||
* Either reboot into runlevel 3 or change to a text window (for example using Ctrl-Alt-F2) and login as root. | * Either reboot into runlevel 3 or change to a text window (for example using Ctrl-Alt-F2) and login as root. | ||
* MeeGo will want to run its own X server, and each booted Linux system can have only one running X instance. (? I think.) Find Ubuntu'srunning gdm programs: | * MeeGo will want to run its own X server, and each booted Linux system can have only one running X instance. (? I think.) Find Ubuntu'srunning gdm programs: | ||
| Line 57: | Line 56: | ||
just to make sure. | just to make sure. | ||
| - | * As root, run [[ | + | * As root, run [[File:Panda_chroot_setup.txt|Panda_chroot_setup]]. The script copies all the needed shared object libraries from Ubuntu and bind-mounts the dynamic filesystems (/var, /proc, etc.) in MeeGo. The script is inspired by [http://wiki.meego.com/ARM/N900/Install/chroot N900 chroot instructions] although I found that MeeGo reported that dbus wasn't running unless I mounted all of /var/run. |
* Run | * Run | ||
| Line 63: | Line 62: | ||
The shell prompt will change. Welcome to MeeGo! | The shell prompt will change. Welcome to MeeGo! | ||
| + | * Note that you can change to any other virtual desktop (say via Ctrl-Alt-F4) and login into Ubuntu again. Since MeeGo's filesystem is mounted on top of Ubuntu's and they are running the same kernel, it's possible to copy binaries missing from MeeGo from Ubuntu. For example, I transferred working copies of "lsof" and "locate" that way. | ||
| + | |||
| + | === On MeeGo chroot === | ||
| + | |||
| + | * Verify that you are running in MeeGo userland by trying, for example, "which uxlaunch" or something similar for a binary that Ubuntu doesn't include. | ||
| + | * Launch GUI with | ||
| + | startx& | ||
| + | On my system, the command took me to virtual desktop 8. To get back to the text console, type Ctrl-Alt-F2 again. You may freely change among Ubuntu text console, MeeGo text console and MeeGo GUI. | ||
| + | * On the MeeGo GUI, you should get an xterm popping up under the ancient twm window manager. These are X failsafe defaults. It should be possible to start gdm instead, but I haven't tried it. | ||
| + | * Note that the graphical display where the X server runs is :0.0 and is unrelated to the number of the desktop where the GUI is running: | ||
| + | alison@ubuntu-installer:~$ echo $DISPLAY | ||
| + | :0.0 | ||
| + | * Have a look at /var/log/Xorg.0.log (or most recent similarly named file) to see if X has successfully loaded the PVR drivers for the GPU. You should see lines like | ||
| + | |||
| + | [ 2085.776] (II) LoadModule: "dri2" | ||
| + | [ 2085.776] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so | ||
| + | <more stuff omitted> | ||
| + | [ 2085.777] (II) LoadModule: "pvr" | ||
| + | [ 2085.778] (II) Loading /usr/lib/xorg/modules/drivers/pvr_drv.so | ||
| + | [ 2085.779] (II) Module PVR: vendor="X.Org Foundation" | ||
| + | [ 2085.779] compiled for 1.9.0, module version = 1.6.3758 | ||
| + | [ 2085.779] Module class: X.Org Video Driver | ||
| + | [ 2085.779] ABI class: X.Org Video Driver, version 8.0 | ||
| + | [ 2085.779] (II) pvr: Driver for PowerVR chipsets: PowerVR SGX | ||
| + | [ 2085.779] (--) using VT number 8 | ||
| + | [ 2085.798] (WW) Falling back to old probe method for pvr | ||
| + | [ 2085.800] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support | ||
| + | [ 2085.826] (II) pvr(0): Creating default Display subsection in Screen section | ||
| + | <more stuff omitted> | ||
| + | [ 2085.832] PVRPreInit: done | ||
| + | [ 2085.832] (--) Depth 24 pixmap format is 32 bpp | ||
| + | [ 2085.833] PVRScreenInit | ||
| + | [ 2085.833] (II) v4l2: enabling local-alpha for /dev/video1 | ||
| + | [ 2085.849] (II) pvr(0): [DRI2] Setup complete | ||
| + | [ 2085.849] (II) pvr(0): [DRI2] DRI driver: pvr | ||
| + | [ 2085.849] (II) EXA(0): Driver allocated offscreen pixmaps | ||
| + | [ 2085.849] (II) EXA(0): Driver registered support for the following operations: | ||
| + | [ 2085.849] (II) Solid | ||
| + | [ 2085.849] (II) Copy | ||
| + | [ 2085.849] (II) Composite (RENDER acceleration) | ||
| + | [ 2085.873] (==) pvr(0): Backing store disabled | ||
| + | [ 2085.873] (==) pvr(0): Silken mouse enabled | ||
| + | [ 2085.873] (==) pvr(0): DPMS enabled | ||
| + | [ 2085.873] (==) pvr(0): Direct rendering enabled | ||
| + | [ 2085.874] PVRScreenInit: done | ||
| + | |||
| + | and so forth. The first numbers in square brackets are timestamps that will vary from run to run. Note that the [http://groups.google.com/group/pandaboard/browse_thread/thread/f26965c05ee65df4/51e2114e105049e5?lnk=gst&q=AIGLX#51e2114e105049e5 log file contains errors]: | ||
| + | |||
| + | [ 2085.897] (EE) AIGLX error: dlopen of /usr/lib/dri/pvr_dri.so failed (/usr/lib/dri/pvr_dri.so: cannot open shared object file: No such file or directory) | ||
| + | [ 2085.897] (EE) AIGLX: reverting to software rendering | ||
| + | [ 2085.897] (II) AIGLX: Screen 0 is not DRI capable | ||
| + | |||
| + | Ignore them; they are expected. | ||
| + | * Type | ||
| + | xhost + | ||
| + | to allow clients to connect. (Not sure at this point if this is actually necessary.) | ||
| + | |||
| + | === Test 3D graphics on MeeGo === | ||
| + | * At the xterm prompt, type | ||
| + | alison@ubuntu-installer:~$ xdriinfo | ||
| + | Screen 0: pvr | ||
| + | That means the pvr driver is active on the X display. | ||
| + | * At the xterm prompt, type | ||
| + | alison@ubuntu-installer:~$ eglinfo | ||
| + | config number: 0 | ||
| + | EGL vendor string: Imagination Technologies | ||
| + | EGL version string: 1.4 build 1.6.16.3758 | ||
| + | EGL extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap | ||
| + | EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image | ||
| + | EGL_KHR_vg_parent_image EGL_KHR_fence_sync EGL_KHR_reusable_sync EGL_IMG_context_priority | ||
| + | EGL client APIs are: OpenGL_ES OpenVG | ||
| + | EGL config Attributes: | ||
| + | EGL_CONFIG_ID = 0x1 | ||
| + | <stuff omitted> | ||
| + | Creating OpenGL ES 2 context.. | ||
| + | EGL context Attributes: | ||
| + | EGL_CONFIG_ID = 0x8 | ||
| + | EGL_CONTEXT_CLIENT_TYPE = 0x30a0 | ||
| + | EGL_CONTEXT_CLIENT_VERSION = 0x2 | ||
| + | EGL_RENDER_BUFFER = 0x3038 | ||
| + | Creating OpenVG context.. | ||
| + | EGL context Attributes: | ||
| + | EGL_CONFIG_ID = 0x8 | ||
| + | EGL_CONTEXT_CLIENT_TYPE = 0x30a1 | ||
| + | |||
| + | and many more pages of such fascinating stuff. | ||
| + | *Now the fun part: try running one of the binary demos that works on Ubuntu, e.g. | ||
| + | alison@ubuntu-installer:~$ /opt/GFX_Linux_SDK/OGLES2/SDKPackage/Binaries/X11/Demos/Skybox2/OGLES2Skybox2 | ||
| + | Cool, huh? | ||
| + | |||
| + | === Running MeeGo GUI binaries === | ||
| + | * Now let's run "MeeGo Experience" binaries. First start mthemedaemon: | ||
| + | mthemedaemon& | ||
| + | In the future, you can add this line to your /etc/X11/xinit/xinitrc or similar. | ||
| + | * For handset image, launch MeeGo UX with | ||
| + | duihome& | ||
| + | at xterm. Unfortunately this makes the X cursor disappear. | ||
| + | |||
| + | == 3D Graphics on Touchscreens for MeeGo IVI == | ||
| + | |||
| + | [[File:Two_Xservers_Panda.png|400px|thumb|center|Xeyes running on HDMI monitor and Mimo USB touchscreen]] | ||
| + | |||
| + | As an environment intended for (automotive) driver interaction, meego-ivi user interface expects touchscreen, rotary knob or button input. I have tried to get a [http://www.thinkgeek.com/computing/usb-gadgets/bfa3/ Mimo Mini USB Monitor] suggested on [http://www.omappedia.org/wiki/PandaBoard_Accessories_%26_Peripherals Pandaboard wiki] to work. The current status is: | ||
| + | |||
| + | * The touch sensor is not yet working; | ||
| + | * The MeeGo IVI 1.1 ivihome does not magically resize to accomodate the smaller screen; | ||
| + | * Hardware-accelerated graphics won't talk over DisplayLink. | ||
| + | |||
| + | The touchscreen problem should be soluble. The IVI graphics are much improved in the new 1.2 release. Solution of the [http://www.spinics.net/lists/dri-devel/msg11652.html third problem] is more complex, likely requiring some changes to the pvrsrvkm.ko kernel driver. According to the authoritative Rob Clark of TI, what's needed is to "tell PVR to render to whatever buffer whatever fb device you are using and then trigger it to scanout" by "replacing the omapfb code in dc_linuxfb_linux." | ||
| + | |||
| + | [[File:MeeGoIVI1.1_Mimo.jpg|400px|thumb|center|Mimo running MeeGo IVI 1.1 ivihome app using udlfb.ko kernel driver and displaylink_drv.so X11 driver]] | ||
| + | |||
| + | === Resources === | ||
| + | |||
| + | * [http://www.pur3.co.uk/DisplayLink Mimo UM-740 on Ubuntu Linux 9.10/10.04] | ||
| + | * [http://karuppuswamy.com/wordpress/2010/07/19/how-to-get-lilliput-displaylink-based-usb-monitor-um-70-17e902a9-working-in-ubuntu-linux/ How to get Lilliput DisplayLink based USB Monitor UM-70 (17e9:02a9) working in Ubuntu Linux] | ||
| + | * [http://www.omappedia.org/wiki/IMO-AT7-Configure_and_Setup IMO-AT7-Configure and Setup] | ||
| + | * [http://www.phoronix.com/scan.php?page=news_item&px=OTEwMA Reverse Engineering PowerVR Is Now A High Priority] | ||
== Future plans == | == Future plans == | ||
| + | * Create bootable microSD card using MeeGo userland and Ubuntu 10.10 kernel. | ||
| + | * Change userland to [[In-vehicle|meego-ivi]] instead of handset. | ||
| + | * Run [http://gitorious.org/qtmediahub qtmediahub] and [http://www.youtube.com/watch?v=ZWbfGzyLoh8 ICS IVI] demos and measure graphical performance benchmarks. | ||
| + | * Compile [http://adventuresinsilicon.blogspot.com/2011/04/powervr-how-to-get-gles-examples-to.html PowerVR drivers from source] against a newer kernel. | ||
| + | * Add a ''working'' [http://groups.google.com/group/pandaboard/browse_thread/thread/6b6c214b6d224fb3/6eb2079798223933?lnk=gst&q=touchscreen#6eb2079798223933 touchscreen] to the Pandaboard. | ||
| + | |||
| + | == Problem: [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0041c/Babdhhdi.html hardfp vs. softfp] == | ||
| + | |||
| + | According to the authoritative Sage, Stskeeps and vgrade, the Ubuntu PVR drivers from TI are built for softfp libraries, while the new MeeGo 1.2 ABI requires hardfp extensions. That means that the Ubuntu 10.10 PowerVR drivers will not work with MeeGo 1.2. [http://groups.google.com/group/pandaboard/browse_thread/thread/cd69411c1cb6091b/1190a19cc6c626a9#1190a19cc6c626a9 TI is working on hardfp support] with Canonical and Linaro. The good news is that, according to Mike Anderson of PTR group, [http://elinux.org/images/4/40/Elc2011_anderson_arm.pdf use of NEON instructions] can speed up media processing by a factor of 2 to 8. | ||
| + | |||
| + | == Acknowledgements == | ||
| + | |||
| + | Thanks much to Jayabharath Goluguri, tripzero, Stskeeps, prpplague, sage, Nishanth Menon and all the rest of the gang on the Pandaboard discussion list. And thanks to TI for another high-performance, inexpensive, well-documented product. | ||
The video shows the OGLES "Coverflow" demo from Imagination Technologies running on the SGX540 GPU which is part of the OMAP 4430 processor that powers the Pandaboard. Coverflow requires 3D hardware acceleration, so the video shows that the PVR closed-source drivers from Imagination and TI's open source Xorg shared-object libraries work with the MeeGo userland. Just to show that the platform really is MeeGo, I'm running the Handset UX's duihome alongside the graphics demo. OpenVG, the 2D hardware-accelerated graphics suite, also works fine on Panda-MeeGo.
Contents |
The demo uses the kernel and drivers from the OMAP 4 image of Ubuntu 10.10. The Ubuntu image is installed on a microSD card using TI's excellent instructions. Don't forget to follow the Installing OMAP4 Addons Graphically instructions; they're the whole point of bothering with Ubuntu in the first place! The Addons package provides the drivers for both the PowerVR SGX540 GPU and the WLAN, which is handy.
MeeGo was built using this kickstart file and the 1.1.80 snapshot (just because I had that image lying around the disk) and installed on a generic Kingston 16 GB USB stick using standard methods:
[alison@bonnet]$ dmesg| grep sd [789217.011903]$ sd 33:0:0:0: [sdc] Attached SCSI removable disk [alison@bonnet]$ mkdir -p /media/meego_usb [alison@bonnet]$ sudo umount /media/meego_usb [alison@bonnet]$ sudo mkfs.ext3 -L meego_usb /dev/sdc1 [alison@bonnet]$ sudo cp -rfp meego-panda-rootfs-morepkgs/* /media/meego_usb [alison@bonnet]$ sudo mount -t ext3 /dev/sdc1 /media/meego_usb [alison@bonnet]$ ls /media/meego_usb \/ boot/ etc/ lib/ media/ opt/ root/ srv/ tmp/ var/ bin/ dev/ home/ lost+found/ mnt/ proc/ sbin/ sys/ usr/ [alison@bonnet]$
Note that the image is not bootable. It doesn't need to be for the chroot hack to work.
ps axl | grep gdm
Locate the PIDs of gdm-binary and gdm-simple-slave and kill them:
kill -TERM <gdm-binary-pid> kill -TERM <gdm-simple-slave-pid>
If you type Ctrl-Alt-F7 to return to the workspace where Ubuntu was running X and gdm-greeter, you should now see a blank screen. Type
ps axl | grep gdm
and
ps axl | grep X
just to make sure.
chroot /media/meego_usb /bin/bash
The shell prompt will change. Welcome to MeeGo!
startx&
On my system, the command took me to virtual desktop 8. To get back to the text console, type Ctrl-Alt-F2 again. You may freely change among Ubuntu text console, MeeGo text console and MeeGo GUI.
alison@ubuntu-installer:~$ echo $DISPLAY :0.0
[ 2085.776] (II) LoadModule: "dri2" [ 2085.776] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
<more stuff omitted>
[ 2085.777] (II) LoadModule: "pvr" [ 2085.778] (II) Loading /usr/lib/xorg/modules/drivers/pvr_drv.so [ 2085.779] (II) Module PVR: vendor="X.Org Foundation" [ 2085.779] compiled for 1.9.0, module version = 1.6.3758 [ 2085.779] Module class: X.Org Video Driver [ 2085.779] ABI class: X.Org Video Driver, version 8.0 [ 2085.779] (II) pvr: Driver for PowerVR chipsets: PowerVR SGX [ 2085.779] (--) using VT number 8 [ 2085.798] (WW) Falling back to old probe method for pvr [ 2085.800] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support [ 2085.826] (II) pvr(0): Creating default Display subsection in Screen section
<more stuff omitted>
[ 2085.832] PVRPreInit: done [ 2085.832] (--) Depth 24 pixmap format is 32 bpp [ 2085.833] PVRScreenInit [ 2085.833] (II) v4l2: enabling local-alpha for /dev/video1 [ 2085.849] (II) pvr(0): [DRI2] Setup complete [ 2085.849] (II) pvr(0): [DRI2] DRI driver: pvr [ 2085.849] (II) EXA(0): Driver allocated offscreen pixmaps [ 2085.849] (II) EXA(0): Driver registered support for the following operations: [ 2085.849] (II) Solid [ 2085.849] (II) Copy [ 2085.849] (II) Composite (RENDER acceleration) [ 2085.873] (==) pvr(0): Backing store disabled [ 2085.873] (==) pvr(0): Silken mouse enabled [ 2085.873] (==) pvr(0): DPMS enabled [ 2085.873] (==) pvr(0): Direct rendering enabled [ 2085.874] PVRScreenInit: done
and so forth. The first numbers in square brackets are timestamps that will vary from run to run. Note that the log file contains errors:
[ 2085.897] (EE) AIGLX error: dlopen of /usr/lib/dri/pvr_dri.so failed (/usr/lib/dri/pvr_dri.so: cannot open shared object file: No such file or directory) [ 2085.897] (EE) AIGLX: reverting to software rendering [ 2085.897] (II) AIGLX: Screen 0 is not DRI capable
Ignore them; they are expected.
xhost +
to allow clients to connect. (Not sure at this point if this is actually necessary.)
alison@ubuntu-installer:~$ xdriinfo Screen 0: pvr
That means the pvr driver is active on the X display.
alison@ubuntu-installer:~$ eglinfo config number: 0 EGL vendor string: Imagination Technologies EGL version string: 1.4 build 1.6.16.3758 EGL extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_vg_parent_image EGL_KHR_fence_sync EGL_KHR_reusable_sync EGL_IMG_context_priority EGL client APIs are: OpenGL_ES OpenVG EGL config Attributes: EGL_CONFIG_ID = 0x1
<stuff omitted>
Creating OpenGL ES 2 context.. EGL context Attributes: EGL_CONFIG_ID = 0x8 EGL_CONTEXT_CLIENT_TYPE = 0x30a0 EGL_CONTEXT_CLIENT_VERSION = 0x2 EGL_RENDER_BUFFER = 0x3038 Creating OpenVG context.. EGL context Attributes: EGL_CONFIG_ID = 0x8 EGL_CONTEXT_CLIENT_TYPE = 0x30a1
and many more pages of such fascinating stuff.
alison@ubuntu-installer:~$ /opt/GFX_Linux_SDK/OGLES2/SDKPackage/Binaries/X11/Demos/Skybox2/OGLES2Skybox2
Cool, huh?
mthemedaemon&
In the future, you can add this line to your /etc/X11/xinit/xinitrc or similar.
duihome&
at xterm. Unfortunately this makes the X cursor disappear.
As an environment intended for (automotive) driver interaction, meego-ivi user interface expects touchscreen, rotary knob or button input. I have tried to get a Mimo Mini USB Monitor suggested on Pandaboard wiki to work. The current status is:
The touchscreen problem should be soluble. The IVI graphics are much improved in the new 1.2 release. Solution of the third problem is more complex, likely requiring some changes to the pvrsrvkm.ko kernel driver. According to the authoritative Rob Clark of TI, what's needed is to "tell PVR to render to whatever buffer whatever fb device you are using and then trigger it to scanout" by "replacing the omapfb code in dc_linuxfb_linux."
According to the authoritative Sage, Stskeeps and vgrade, the Ubuntu PVR drivers from TI are built for softfp libraries, while the new MeeGo 1.2 ABI requires hardfp extensions. That means that the Ubuntu 10.10 PowerVR drivers will not work with MeeGo 1.2. TI is working on hardfp support with Canonical and Linaro. The good news is that, according to Mike Anderson of PTR group, use of NEON instructions can speed up media processing by a factor of 2 to 8.
Thanks much to Jayabharath Goluguri, tripzero, Stskeeps, prpplague, sage, Nishanth Menon and all the rest of the gang on the Pandaboard discussion list. And thanks to TI for another high-performance, inexpensive, well-documented product.