Libpciaccess Ported To Windows To Help Nouveau

Written by Michael Larabel in Nouveau on 28 January 2014 at 01:04 PM EST. 3 Comments
NOUVEAU
The generic PCI access library (libpciaccess) used on Linux and other POSIX platforms by the X.Org Server and other components has now been ported to Windows via Cygwin. This porting to Windows was done to help in the Nouveau open-source NVIDIA reverse-engineering process.

Samuel Pitoiset is the former Google Summer of Code developer on the Nouveau project that was working on basic compute support as part of his broader project for Nouveau to support performance counters and provide an open-source NVPerfKit for Linux.

NVIDIA's NVPerfKit performance tools are Windows-only so Samuel Pitoiset ended up having to do some reverse-engineering work on Windows for understanding the NVIDIA hardware counters. The tool used by Nouveau for reverse-engineer, EnvyTools, depends upon libpciaccess for interfacing with the graphics card. So in turn he ported libpciaccess to Windows/Cygwin to run the Nouveau EnvyTools reverse-engineering programs on Windows.

This work was successful in helping him understand the performance counters on the NVIDIA Tesla. The Windows/Cygwin support uses the WinIO library and has now been merged to master in upstream libpciaccess. More details on this work can be found via Samuel's blog post.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week