It all started few months back when Citrix announced the HDX Ready SoC initiative with the goal of producing the low cost, low power and high performance end point devices which would significantly reduce the cost of XenDesktop deployment. A lot of thought went into the Linux Receiver for SoC design to make sure that any new receiver releases by Citrix in future would still work best on the old SoC devices. With this the customer could buy a HDX Ready thin client device for low cost and use it for years to come but always with the latest Citrix technologies. The ARM based SoC with Linux operating system makes it low cost. The small size of the SoC board makes it possible to build into any kind of devices like All-in-one monitors, keyboards, televisions and many more.

By now, many OEMs have come up with the low cost, low power and high performance SoC devices with different form factors. This was possible with the collective effort of Citrix and partners. We started working with TI and nComputing to come up with the reference SoC design to be consumed by the OEMs. Then the likes of Hisilicon and Marvell came to the party. This collaborative effort has shown great results for all stakeholders. We should expect more SoC partners and OEMs come together with Citrix with a common goal of producing the HDX Ready SoC devices. But is there a one stop place where all stakeholders can come together? The answer is ‘Yes’, the Citrix SoC builder community is that place where the partners can get everything that is needed to build the HDX Ready SoC device.

Now let’s talk about the core reason for all this, ‘HDX’ meaning ‘High Definition User Experience’. HDX in other words is the best way of delivering the different desktop technologies like graphics, audio, video, peripheral devices, smartcard etc. Essentially there are two ways in which the computation is done for VDI that is Server side rendering and Client side rendering. XenDesktop with its smart rendering technology makes the decision for either of them based on server, client and network capabilities. In general for getting the best performance with VDI we either need the horsepower on server and good network bandwidth and/or a powerful endpoint device. Now what the customers want? They want the best HDX experience with high scalability on server by using a low power, low cost endpoint device in WAN environment.

Citrix HDX is designed keeping this goal in mind. HDX Ready SoC is a successful attempt towards that goal where the computing of different HDX features is offloaded to the DSP or hardware which enables our customers to save endpoint cost and energy without compromising on the performance.

In case of the traditional thin clients the OEMs used to take only the Receiver from Citrix and build all other components themselves. This created lot of variation in the market with more time to market for the OEMs. With HDX Ready SoC, the process is channelized where Citrix gives Linux Receiver and SDK to the SoC vendors who develop the reference designs and give OS and required drivers. This complete package helps the OEMs to put directly in their devices with reduced time to market at considerably low cost.

Now let’s go through what SoC vendors need to do for optimizing some of the key HDX technologies mentioned below:

HDX Graphics: All the graphics that is rendered on the server side comes in HDX Graphics or 2D Graphics category. From client perspective this mainly comprises of the encoded bitmaps coming from the server. Citrix shares the SDK with partners, which enables them to implement the abstraction layer for decoding these encoded bitmaps on the DSP or hardware. On top of this, Citrix has done performance optimizations in the Receiver code to get the best performance out of this architecture.

HDX MediaStream – Windows media redirection: Citrix’ HDX Mediastream Windows Media Redirection technology redirects audio and video content from the windows media foundation on the server to run inside a local media player on the endpoint. Citrix Receiver for Linux uses the available appropriate multimedia pipeline on Linux to run the streamed multimedia content on the endpoint. Our partners can leverage the DSP or hardware to accelerate one or more stages of the pipeline For example, audio or video decoding. This can result in local like experience of media playback with low CPU consumption on the endpoint device.

HDX MediaStream for Flash: Citrix’ HDX MediaStream for Flash technology redirects flash content on web sites to the endpoint. This enables Flash content to run locally on the endpoint provided that Adobe Flash Player is installed on that endpoint. In case of the ARM based SoC devices the partners need to make the optimized Flash player for ARM available on their devices.

Additionally Citrix and partners are working on optimizing the following key HDX features further by working in collaboration.

HDX RealTime – Audio input, output: Audio output is the audio coming from server and audio input is the audio input from the client. Both can be used simultaneously in VOIP applications. In case of Audio input the raw audio is compressed using the audio codec on the endpoint and sent to the server whereas, in case of audio output the server encoded audio is decoded on the client. This encoding and decoding can be CPU intensive and can result in poor performance especially when there is less room left on client CPU. The audio latency and quality are the most important factors for VOIP use case which has to be kept in control for the good user experience. Citrix has done optimizations in the Linux receiver which enables the partners to carry out the encoding and decoding on the DSP or hardware in order to deliver the best performance for audio.

HDX RealTime Webcam redirection: In this case the webcam on the endpoint can be used for the video conferencing application on the server. To enable this, webcam output is captured locally and encoded on the endpoint. The encoded stream of webcam output is then sent to the server and decoded and presented to the application. An available appropriate multimedia pipeline on Linux is used to encode the webcam output on the endpoint. The partners can leverage the DSP or hardware to carry out the encoding of the webcam output.

In addition to the features mentioned above the effort is being made by Citrix and partners to make all other HDX features work optimally on the ARM based SoC devices.

Over the next few months we expect more partners to join us with more type of non-traditional SoC devices for the enterprise. This means more options for the end users in the manner that they like. After all we say ‘Work better, live better’. We can’t live better without having fun. Hope you will have fun using the next gen SoC devices!

HDX 3D Pro support with DSP or hardware decoding on SoC is on our roadmap. Items listed in the blog are certainly the highest priority at the moment.
At present there is an experimental support for HDX 3D Pro deep compression codec hardware decoding using Libva on Linux x86 endpoints.