OpenLase hardware and simulator
I apologize for taking this long to post this! I’ve been busy non-stop since 27c3 and never got a chance to get around to it. Finally, though, here it is: the description of the Mark 1 laser projector that I use with OpenLase.
But wait, there’s more! If you don’t have the hardware and don’t want to build it, or you want to try out OpenLase, or you want to be able to mess around with it on the go, you can now do that. There’s a new OpenGL-based simulator in the OpenLase tree. It works off of the JACK data (so you still need JACK) and it tries to simulate the dynamics of my laser scanner, including brightness effects and some of the physical limitations of the galvos. Here’s a comparison of the simulator vs. the real thing:
I’m aware that documentation on the software is still sorely lacking. Please bear with me while I get my act together and write that up
January 31st, 2011 at 9:08 pm
[...] This post was mentioned on Twitter by Mohamed Ik Boulabiar, Hector Martin. Hector Martin said: Sorry for taking this long! OpenLase hardware description is up: http://goo.gl/G8crS [...]
January 31st, 2011 at 9:13 pm
LOL
you´re anmie freak.
Love your Project, but may a little bit to expensive for me
:-/
January 31st, 2011 at 9:27 pm
Really cool work. I had some fun toying with the simulator but I took me a bit to get it to compile. Would you be willing to post some more information on which libraries you are using to build it? It would make the job of working on it a lot easier.
February 1st, 2011 at 11:56 am
Hey!
I’m not going to use laser anytime soon, but your work is simply SUPERB and a pleasure to read about!
February 1st, 2011 at 3:53 pm
What is that (awesome) soundtrack?
February 2nd, 2011 at 5:48 pm
[...] see this post for hardware info and also a new GL laser simulator for those without [...]
February 2nd, 2011 at 5:51 pm
@Nathan
The dependencies are straightforward: cmake, JACK, ffmpeg (for playvid and the slides), ALSA (only for midiview), Qt4 (output processor only), and Python2.x for some scripts. The usual cmake build process applies:
$ mkdir build && cd build && cmake .. && make(or similar).It should also build with very minor changes on OSX (just comment out the midiview target, since that needs ALSA for MIDI). Windows is more of a challenge but I know one enterprising soul who did manage to get most of it built there.
@Andreas
The source video/soundtrack is Marisa Stole the Precious Thing by IOSYS. The video is automatically traced by playvid
February 9th, 2011 at 7:42 pm
I dont realy understand whats so fascinating about this?
I dont mean to be rude, but i dont know/understand what purpose this has? what can i be used for and why is it being developed?
March 10th, 2011 at 7:14 am
@jorrick its a DIY laser projector, and its associated software. not all of us have several hundred to shell a professional laser projector, or jsut want to build our own for geek cred, a hobby, or WTH value.
@marcan more project touhou? also exelent work, looking forward to more.
March 27th, 2011 at 12:02 am
http://www.marcansoft.com
April 5th, 2011 at 2:52 pm
Hey there!
Thanks for sharing your awe inspiring work, I was so knocked off my socks from your presentation that I went ahead and bought the same Galvo set from Ebay and the same soundcard from Dealextreme in order to make a laser projector of my own. The build process will be documented on my site when the parts arrive.
Hope you will share some more of that glorious software of yours!
Thanks again!
May 15th, 2011 at 10:53 am
I just had the pleasure to see some of your work yesterday on the LinuxTag in Berlin. It’s very impressive.
Keep up the good work, that you share with others.
May 19th, 2011 at 12:29 am
I also had the chance and pleasure to see talk and presentation at LinuxTag. This was REALLY cool! Thanks for sharing this with us !!!
May 30th, 2011 at 9:39 am
hola hector, I wonder if you can help me find out how to solve this error when running make:
gracias!
[ 42%] Generating moc_qplayvid_gui.cxx
Scanning dependencies of target qplayvid
[ 44%] Building C object tools/qplayvid/CMakeFiles/qplayvid.dir/qplayvid.c.o
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c: In function ‘decode_audio’:
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c:130:2: warning: implicit declaration of function ‘avcodec_decode_audio3’
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c: In function ‘decode_video’:
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c:197:2: warning: implicit declaration of function ‘avcodec_decode_video2’
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c: In function ‘decoder_init’:
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c:428:2: warning: implicit declaration of function ‘av_audio_resample_init’
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c:428:19: warning: assignment makes pointer from integer without a cast
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c:437:2: warning: implicit declaration of function ‘av_get_bits_per_sample_fmt’
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c: In function ‘display_thread’:
/home/alejo/Desktop/openlase/openlase/tools/qplayvid/qplayvid.c:677:44: error: ‘AVStream’ has no member named ‘sample_aspect_ratio’
make[2]: *** [tools/qplayvid/CMakeFiles/qplayvid.dir/qplayvid.c.o] Error 1
make[1]: *** [tools/qplayvid/CMakeFiles/qplayvid.dir/all] Error 2
make: *** [all] Error 2
June 4th, 2011 at 6:02 am
I’m stuck with a few errors while trying to compile this, is there any chance someone could tell me all of the required packages for this and how to fix the cmake asm ysm compiler notfound error
Here is an error log
– Found JACK
– Found FFMPEG: /usr/lib/libavcodec.so;/usr/lib/libavutil.so /usr/include
– Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
– Didn’t find assembler
– Loaded CMakeASM_YASMInformation – ASM_YASM support is still experimental, please report issues
CMake Error: your ASM_YASM compiler: “CMAKE_ASM_YASM_COMPILER-NOTFOUND” was not found. Please set CMAKE_ASM_YASM_COMPILER to a valid compiler path or name.– Will NOT build simulator (OpenGL or GLUT missing)
– Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
– Will NOT build python bindings (python libs or cython missing)
– Will NOT build 27c3_slides (curses or FFmpeg missing)
– Configuring incomplete, errors occurred!
Make Error: your ASM_YASM compiler: “CMAKE_ASM_YASM_COMPILER-NOTFOUND” was not found. Please set CMAKE_ASM_YASM_COMPILER to a valid compiler path or name.
June 13th, 2011 at 8:44 pm
@iridium tracker:
You need a newer FFMpeg (or libav). Currently the check isn’t specific enough for it to fail while configuring instead of while building.
@Wolfman_123_
As the output you pasted says, you need yasm, ncurses, python, opengl, GLUT, cython. Some of those are optional and just will cause the relevant portion not to be built, but at the very least yasm is mandatory (it probably won’t be in the future). You need the -dev packages for the libs (everything except yasm and cython in that list). The specific names vary by distro so I can’t give you a concrete list of packages to install, just search for those names in your package manager and you should be able to work them out.
June 14th, 2011 at 4:00 am
Alright thanks for the help so far, got everything working so far except curses. I can’t seem to find the right curses package, I’m running a 10.04 Ubuntu 32bit with synaptic package manager
September 24th, 2011 at 8:06 pm
Hi Hector,
I’m trying to compile on OSX. I’ve commented out the ALSA dependency in the cmakelists file, but cmake is still unhappy and I’m not sure why. Any hints? I’m kind of new to cmake. Thanks…
Found JACK
Looking for Q_WS_X11
Looking for Q_WS_X11 – not found.
Looking for Q_WS_WIN
Looking for Q_WS_WIN – not found.
Looking for Q_WS_QWS
Looking for Q_WS_QWS – not found.
Looking for Q_WS_MAC
Looking for Q_WS_MAC – found
Looking for QT_MAC_USE_COCOA
Looking for QT_MAC_USE_COCOA – found
Found Qt-Version 4.7.4 (using /usr/local/bin/qmake)
Found FFMPEG: /usr/local/Cellar/ffmpeg/0.8.2/lib/libavcodec.dylib;/usr/local/Cellar/ffmpeg/0.8.2/lib/libavformat.dylib;/usr/local/Cellar/ffmpeg/0.8.2/lib/libavutil.dylib /usr/local/Cellar/ffmpeg/0.8.2/include
CMake Error at libol/CMakeLists.txt:20 (check_function_exists):
Unknown CMake command “check_function_exists”.
October 4th, 2011 at 10:36 pm
Hi,
I am in a position where I have a Minilumax USB-ILDA-adapter ( http://www.lumax.de/ ) that’s being used in conjunction with another software suite ( http://vvvv.org/ ). I would like to use your laser simulator to test this rig – so, I guess I’d need to go from ILDA to audio input & use this as the JACK source. Do you have any advice to give? The pinout for the device is available on the website (standard ILDA).
Or, do you think it’d be better to go for a different approach altogether – like transmitting the ILDA data over a network & patching together something to feed it to OpenLase? Again, any suggestions on this?
October 7th, 2011 at 11:38 am
Love it man! But I showed my Jap wife, and she thought it was shite! She said you should get a job in a club! I guess we have different tastes my wife and I!!!