Experimenting with WES 8 CTP and Kinect

Tuesday, April 3, 2012

For a demo project involving Kinect, my colleague Dorangela Daniele and I started to play around with the recently released Windows Embedded Standard 8 CTP. I already tested both Kinect SDK 1.0 Beta 2 and Kinect SDK 1.0 RTM in Windows 8 Consumer Preview, so we were confident that it would have worked fine in WES8, too.

Using IBW, Dora installed WES8 on two embedded devices: an Asus Eee Top 1602 and an Advantech AIMB-212. At the moment, in the CTP version, there are no "Application Compatibility" or "Kinect for Windows Embedded" templates to start with. Also, there is no automatic dependency resolver. This way, she had to build the image from scratch: to be sure that all the required components were included during the setup process, she added almost every module, including the Kinect SDK requirements (.NET Framework 4.0, DirectX runtime), Internet Explorer e Metro UI.

Advantech DeviceAfter the setup completed successfully and all device drivers had been installed manually (drivers for Windows 8 don't exist yet, so we used Windows 7 drivers, which can be downloaded from each manufacturer's website), she installed the Visual C++ 10 Runtime and tried to run Kinect SDK 1.0 Beta 2 setup. Unfortunately, something was still missing and the setup wizard failed…

To figure out what was missing, she created a new WES7 answer file in ICE using the "Kinect for Windows" template. Then, package by package, she compared the included ones with the modules listed in the unattend.xml file, took from the WES8 installed image.

Here are some screenshots which show ALL the modules installed by IBW:

ICE-WES8_Kinect01 ICE-WES8_Kinect02 ICE-WES8_Kinect03 ICE-WES8_Kinect04 ICE-WES8_Kinect05 ICE-WES8_Kinect06 ICE-WES8_Kinect07

and these were the missing components:

  • Microsoft-Windows-Embedded-DeviceUX-Package31bf3856ad364e35x86~~6.2.8250.0.cab
  • Microsoft-Windows-Embedded-INF-ksfilter31bf3856ad364e35x86~~6.2.8250.0.cab
  • Microsoft-Windows-Embedded-INF-wdmaudio31bf3856ad364e35x86~~6.2.8250.0.cab
  • Microsoft-Windows-Embedded-INF-wdma-usb31bf3856ad364e35x86~~6.2.8250.0.cab
  • Microsoft-Windows-Embedded-INF-winusb31bf3856ad364e35x86~~6.2.8250.0.cab
  • Microsoft-Windows-Embedded-MediaPlayer-Package31bf3856ad364e35x86~~6.2.8250.0.cab

They have been added to the existing WES8 image using DISM.

After the additions, she ran again the Kinect SDK setup and this time it completed successfully.

We had some issues on enabling Kinect on the Advantech device, probably caused by the integrated graphics card and its drivers. Instead, these are the Kinect samples running in WES8 on the Asus Eee Top:

Kinect performance are not so good, due to the hardware we used, but Windows Embedded Standard 8 and its Metro interface are very fast and fluid!

If you have any questions/suggestions or if you are experiencing with WES8, please share your thoughts! And stay tuned for updates and new projects with the next version of Windows Embedded Standard in the next weeks.