1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

AMD Ports Open-Source Linux Driver To Windows Embedded

Michael Larabel

Published on 13 October 2011
Written by Michael Larabel
Page 1 of 2 - 67 Comments

Here's something interesting or perhaps odd: AMD has been porting the open-source Radeon Linux driver to Windows Embedded Compact 7 (WEC7) as its graphics driver.

This discovery comes to light as an AMD engineer posed a question to the public DRI development list about the S3 suspend/resume code for the Radeon driver. The AMD engineer, Frank Huang, mentions in his e-mail that he is developing a WEC7 graphics driver for the Evergreen chipset (Radeon HD 5000 series) and that Alex Deucher has been guiding him on this work. With his Windows Embedded Compact 7 driver he is up to the point of handling suspend/resume and that he has ported some of the Linux functions to (Windows) CE. (This driver for Microsoft WEC7 has hardware acceleration, but after going through the resume process, the 3D engine breaks. "I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE. Actually I have validated that the evergreen_suspend() and evergreen_resume() work already on CE. But when the resume work is done and the screen is shown up, I found the 3D engine works wrong.") He also mentions that the original Linux kernel source he is using is from October 2010 and July 2011.

For those not up to speed on Microsoft operating systems, Windows Embedded Compact 7 is the operating system that Microsoft introduced earlier in the year that is the successor to Windows CE. WEC7 is meant to cover devices that are not appropriate for Windows 7 or Windows Phone 7, such as some retail systems, medical devices, industrial systems, and other distinct form factors. Prior to Microsoft Windows 8, Windows Embedded Compact 7 might also be appearing on some tablets. In terms of graphics capabilities, this embedded Microsoft operating system supports OpenGL ES 2.0 and HD media playback.

Why port a Linux driver to Windows?

It is somewhat surprising that AMD would be porting the open-source Linux driver to a Windows platform rather than using the Catalyst driver as a base. The Catalyst driver code-base is already OS-agnostic for the most part and then there is the Windows and Linux-specific shims. It's disturbing to think just how dirty and crusty the Catalyst code-base actually is, if it's easier for AMD to port a (non-feature-complete) Linux driver to Windows rather than relying upon the mature Catalyst driver and migrating the existing Windows driver interfaces to WEC7. The Linux kernel graphics drivers aren't designed with other operating systems in mind, as even Solaris and FreeBSD are struggling to port Linux GPU drivers.


Open-source Linux driver code is finding its way to Microsoft Windows platforms.

Besides the differences between the Windows and Linux display driver interfaces, the open-source Radeon Linux driver is at a disadvantage compared to Catalyst when it comes to performance and power management. The open-source Radeon driver still lacks reliable dynamic power management (e.g. PowerPlay) and support for other features found in modern Radeon hardware.

The open-source Linux driver also lacks support for the UVD2 video engine for hardware-accelerated video playback and encoding. AMD is not providing documentation or open-source code for the video engine since the thinking right now is that it could potentially compromise their Digital Rights Management abilities under Windows. The Catalyst Linux driver meanwhile supports accelerated video playback using their XvBA interface to the UVD2 engine. At least with WEC7 they don't need to worry about CrossFire, PowerXpress, OpenGL 3.0+, OpenCL, easy-to-install driver updates, and some of the other missing Linux features that Windows users would expect out of desktop systems.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  2. KVM Benchmarks On Ubuntu 14.10
  3. X.Org Server 1.16 Officially Released With Terrific Features
  4. Ubuntu With Linux 3.16 Smashes OS X 10.9.4 On The MacBook Air
Latest Linux News
  1. GCC As A Just-In Time Compiler Is An Interesting Project
  2. Age Of Wonders III Is Still Being Ported To Linux
  3. Git 2.1 To Further Mainline Windows Support Patches
  4. Debian 8.0 Jessie Is Settling For Linux 3.16
  5. Meson: A Next-Gen Build System Showing Promise
  6. Linux 3.16-rc7 Calms Things Down For The Linux 3.16 Kernel
  7. Open-Source AMD Users Report Hawaii GPU Acceleration Is Working
  8. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  9. Cauldron 2014: GCC & LLVM Will Look To Collaborate More
  10. GCC Receives ACM Programming Languages Software Award
Latest Forum Discussions
  1. Porting Mesa to the Playstation 2
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. ASRock AM1H-ITX: One Of The Best AM1 Mini-ITX Motherboards
  4. Debian + radeonsi
  5. Open-source drivers on ATI R7 260X
  6. Table test
  7. How To Setup Radeon DPM On Ubuntu Linux
  8. New build, first Linux PC, what could go wrong? ;)