Skip to content


Subversion checkout URL

You can clone with
Download ZIP
171 lines (109 sloc) 6.08 KB
Building and running the PS Move API on a legacy operating system
We usually build PS Move API for Windows on Linux via cross-compliation, as
we don't run Windows for day-to-day work. For cross-compiling the PS Move API
for Windows on Linux, you can use the following script:
Please take into account that Bluetooth pairing on Windows still does not work
as smoothly as on both Mac OS X and Linux. If you plan to do serious
development, it's time to switch to Mac OS X or Linux. As an alternative, you
can use a Linux host for Bluetooth communcation, and export the controller via
"moved" to the Windows host. This setup has reliable pairing, and you can still
develop and build your applications in Windows if you have to.
- MinGW
- CMake
- OpenCV
- Git
- CL Eye Driver (if you plan to use the PS Eye camera)
Optional dependency:
IMPORTANT: Get the right MinGW version!
-> "Regular" MinGW might not be able to build the PS Move API, as we are
using some features that are only included in MinGW-w64.
-> Get "MinGW-w64" instead. Despite its name, it also works for 32-bit
systems (and you probably have to/want to build PS Move API as 32-bit
library on Windows, anyway. This is also what we use, both for cross-
compiling it on Linux, and for building it directly on Windows.
-> The build has been successfully tested on Windows XP, Windows 7,
and Windows 8 using MinGW-w64 version 4.9.1. To get it, you can either
A) use the online installer or B) download the archive directly for
manual setup:
A) Get the online installer at
Run the installer using these setup settings:
Version: 4.9.1
Architecture: i686 or x86_64
Threads: posix
Exception: sjlj or seh
Build revision: 1
B) For 64-bit Windows, get the archive at
For 32-bit Windows, get the archive at
Extract the archive (using 7-Zip) and add the path to its "bin" subdirectory to the
PATH environment variable like so, for instance:
set PATH=C:\mingw32\bin;%PATH%
NOTE: If you want to use the CL Eye Driver (for PS Eye camera) you *must*
build everything as 32-bit binaries. The driver is, as of writing,
only available in a 32-bit version that will not work together with
64-bit builds of OpenCV and the PS Move API. The easiest way to
achieve this is to install the i686 version of MinGW-w64 (see above)
for the following build steps.
1. Clone the PS Move API repository
git clone --recursive git://
cd psmoveapi
2. Clone the OpenCV repository
Since OpenCV binary distributions typically do not come with
MinGW builds, we build our own. First, get version 2.4.10 from
the OpenCV repository.
git clone --depth 1 --branch 2.4.10 git://
cd opencv
3. Configure the OpenCV build to produce static libs
mkdir build
cd build
cmake .. -G "MinGW Makefiles" -DBUILD_DOCS=0 -DBUILD_PACKAGE=0 -DBUILD_PERF_TESTS=0 -DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=0 -DBUILD_opencv_apps=0 -DBUILD_opencv_calib3d=0 -DBUILD_opencv_contrib=0 -DBUILD_opencv_features2d=0 -DBUILD_opencv_flann=0 -DBUILD_opencv_gpu=0 -DBUILD_opencv_java=0 -DBUILD_opencv_legacy=0 -DBUILD_opencv_ml=0 -DBUILD_opencv_nonfree=0 -DBUILD_opencv_objdetect=0 -DBUILD_opencv_ocl=0 -DBUILD_opencv_photo=0 -DBUILD_opencv_python=0 -DBUILD_opencv_stitching=0 -DBUILD_opencv_superres=0 -DBUILD_opencv_ts=0 -DBUILD_opencv_video=0 -DBUILD_opencv_videostab=0 -DBUILD_opencv_world=0 -DWITH_FFMPEG=0 -DWITH_JASPER=0 -DWITH_OPENEXR=0 -DWITH_TIFF=0
4. Build and install OpenCV
It will install to psmoveapi's opencv/build/install subdirectory.
mingw32-make install
5. Configure the PS Move API build
Switch back to the psmoveapi root directory.
cd ..\..
mkdir build
cd build
cmake .. -G "MinGW Makefiles" -DPSMOVE_USE_LOCAL_OPENCV=1
Alternatively, if you want to use the CL Eye SDK:
6. Finally build the PS Move API
7. Pair the controller to the host
Using the controllers' Bluetooth capabilities requires you to pair the
controller to the host computer first. That is what the psmovepair utility
is for. It is automatically built as part of the PS Move API.
Make sure that Bluetooth is enabled on your computer, then connect a Move
controller via USB and run
to store the host's Bluetooth device address in the Move and register the
controller. Follow the instructions on the screen until the Move's red
status LED eventually remains lit to indicate a working Bluetooth
Note that the pairing step is necessary only once per controller. From that
point on you can enable the Bluetooth connection simply by pressing the
PS button. Only if you switched to a different Bluetooth adapter or deleted
the controller from the list of Bluetooth devices you need to run
psmovepair again for that controller.
8. Start one of the desired test applications
If you previously chose to build the example applications (which is the
default), you can then run
for a basic example.
For questions, please read the archives of the PS Move Mailing List. If you
cannot find an answer to your question in the archives, send an e-mail:!aboutgroup/psmove
Jump to Line
Something went wrong with that request. Please try again.