Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

qDot’s Readme

I’m a code janitor!

So you want to play with the kinect right now

First off, the kinect code here is in such a massive amount of flux as to like, totally not even be funny. You are so amazingly on your own right now, but feel free to hit the #openkinect IRC channel on Freenode for questions.

What you’ll get when compiling this branch:

  • the libfreenect library, not the it does a whole lot right now.

  • an executable called glview. glview will render depth data next to rgb data in a glut window.

Building with CMake

To use CMake:

  • Make a directory somewhere. Like, say, c/build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

  • freeglut3-dev (or whatever freeglut dev package your distro has)

Since there’s no udev rules yet, you’ll need to run glview as root. Deal with it.

OS X

Note
AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the libusb-1.0 repo head and patch using the files in platform/osx/. Just go to the root directory of the cloned libusb-1.0 repo and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…​). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

Windows

We’re still working on that. This branch still does not work on windows. If you’re jonesin' for windows, check out the win32-merge branch, though we’ll be moving toward the new-api branch ASAP.

And everyone else…​

Below is the readmes of the other repos I’m organizing this from. This currently consists of:

  • Marcan’s original libfreenect repo (in the c directory here) - GPL’d.

  • ofTheo’s OS X libfreenect patched (integrated by me, with libusb-1.0 patches in platform directory) - GPL’d

  • JoshBlake’s C# OpenKinect (in the csharp directory, with inf files in platform directory) - Apache’d

  • Brandyn’s Python bindings (in c/python, see README there)

The aggregated READMEs are below.

Marcan’s Readme

Horribly hacky first take at a Kinect Camera driver. Does RGB and Depth.

main.c implements a simple OpenGL visualization. Hopefully it should be mostly self-explanatory…​ You pretty much just open the USB device, call cams_init(dev, depthimg, rgbimg), and your depthimg and rgbimg callbacks get called as libusb processes events.

TODO:

  • TONS of cleanup. I mean LOTS.

  • Determine exactly what the inits do

  • Bayer to RGB conversion that doesn’t suck

  • Integrate support for the servo and accelerometer (which have already been reverse engineered)

BIG TODO: audio. The audio chip (the Marvell) requires firmware and more init and does a TON of stuff including the crypto authentication to prove that it is an original Kinect and not a clone. Who knows what this thing does to the incoming audio. This should be interesting to look at.

Libfreenect is Copyright © 2010 Hector Martin "marcan" <hector@marcansoft.com>

This code is licensed to you under the terms of the GNU GPL, version 2 or version 3; see: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txthttp://www.gnu.org/licenses/gpl-3.0.txt

Credits:

Adafruit, for providing the USB logs that I used to work out the initialization sequence and data format.

bushing, for trying to provide USB logs, although he got preempted by Adafruit ;)

A few other people who provided hints and encouragement along the way, you know who you are!

Josh Blake’s Readme

OpenKinect project

Copyright (c) 2010 Joshua Blake and other contributors

The folder INF contains Windows drivers. Plug in Kinect and during the driver installation browse to the proper folder. The drivers were generated via libusbdotnet tools and are distributed under their own licenses.

The rest of the project is distributed under the Apache 2 license.

About

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages