diablodale / dp.oak

Luxonis OAK sensor plugin for Cycling74 Max
4 stars 0 forks source link

Execution error on lattepanda 3 delta #7

Closed zhikto closed 1 year ago

zhikto commented 1 year ago

Description

This externals has helped my project immensely. Thanks again. I am currently working on downsizing in my project. So I wanted to use max msp on a single board computer running windows OS called lattepanda 3 delta and run dp.oak as well. However, when I open the help file, I get the following error and when I press the registration button, nothing responds.

Setup

{ "version" : "Version 8.5.6 (13186257284) (x64 windows)", "platform" : "windows", "arch" : "x64", "osversion" : "Microsoft Windows 10 (build 19044), 64-bit", "samplerate" : 44100, "iovs" : 512, "sigvs" : 64, "scheduler_in_audio_interrupt" : "off", "audio_drivername" : "ad_mme", "audio_driver_subname" : "", "license" : "permanent full", "eventinterval" : 2, "schedinterval" : 1.0, "overdrive" : "off", "pollthrottle" : 40, "queuethrottle" : 100, "sysqelemthrottle" : 1000, "refreshrate" : 30.0, "schedslop" : 25.0, "eventprobing" : 0, "mixerparallel" : "off", "mixercrossfade" : 0, "mixerlatency" : 30.0, "mixerramptime" : 10.0, "videoengine" : "viddll", "gfxengine" : "glcore", "packages" : { "BEAP" : "1.0.4", "cv.jit" : "2.0.1", "gl3" : "0.3.3", "jit.mo" : "1.1.6", "Jitter Tools" : "1.0.10", "max-mxj" : "8.2.0", "maxforlive-elements" : "1.0.9", "Mira" : "1.2.1", "Node for Max" : "2.0.4", "RNBO" : "1.2.1", "VIDDLL" : "1.2.8", "Vizzie" : "2.2.2" }

}

lattepanda 3 delta https://www.lattepanda.com/lattepanda-3-delta

dp.oak version dp.oak-v1.3.20231024-alpha

Reproduce steps

  1. Start Max
  2. open dp.oak Helpfile
  3. max console show "Error 1114 loading external dp.oak"
  4. also, if click register button, but it is not work anything.

Max console output

Error 1114 loading external dp.oak

Conclusion

The max msp itself is working very well, but I am getting errors when starting dp.oak. I know this is a special use case, but if you have a solution, I would appreciate it if you could let me know. Thanks!

diablodale commented 1 year ago

Error 1114 is directly not part of my plugin's code. It is caused by Microsoft's C++ runtime and/or Max.

But that is not so important because even without an error 1114, dp.oak will not work on that panda board. I read the specification of that panda board and it has https://www.intel.com/content/www/us/en/products/sku/212328/intel-celeron-processor-n5105-4m-cache-up-to-2-90-ghz/specifications.html CPU. That CPU does not have the AVX instruction set (released 12 years ago in 2011). Intel writes it only has SSE 4.2. But it is somewhat curious because that CPU does have the newer AES-NI instructions.

My plugins need AVX instructions. I have code in the very start of the plugin to check for AVX and report to the Max console if it is not found. So even without error 1114, my plugin's code will prevent dp.oak working...and it would not work because the graphics and AI features in dp.oak need AVX. It is possible the newest Microsoft compilers (dp.oak uses them) may use AVX in their internal startup code before my plugin's CPU check can run. Which might cause error 1114 and therefore the DLL won't load.

But maybe that's not the cause of error 1114. Other causes may be...

  1. The plugin is not completely setup. https://docs.hidale.com/max/dp-oak#setup has all setup steps.
  2. There may be multiple installs of dp.oak on the computer. Max does not deal well with the same plugin installed in multiple locations. Max caches the past locations. Then, when Max loads a patch, it will retrieve the plugin from any of those locations. It does not always load the plugin from the same folder as the patch. 😱 I recommend all plugins to only be installed once.
  3. The graphics capabilities of the panda board may be limited. The Intel link writes it has UHD...and that is one of the GPUs that I use for testing. I see multiple posts on error 1114 related to GPU settings https://www.google.com/search?q=error+1114+dll. Please ensure you have recent graphic drivers installed for the panda board.

If you get past error 1114, you will eventually get to my check for AVX. If your CPU has AVX, then all will work fine. If your CPU does not have AVX, then the plugin will run, report the missing AVX to the Max console, and be disabled.

zhikto commented 1 year ago

Quick response, thanks. I see, so it must be a cpu that supports the avx instruction set. As you said, it is difficult because the lattepanda 3 delta cpu is listed as supporting only SSE 4.2. As advised, I tried again after checking the driver and setup again, but the same error occurred. lattepanda 3 delta will give up its use.

By the way, is there any chance that it would work on a higher-end model called lattepanda sigma , the cpu of which is Intel® Core™ i5-1340P?

diablodale commented 1 year ago

I recommend checking Intel or Panda's website to ensure it has AVX support. I recommend both because (I think) it is technically possible for the BIOS of a computer to enable/disable CPU instructions. So I recommend asking Panda if they support AVX.

This link to intel's website might be the same CPU and it writes AVX2 (which is a superset of AVX) https://www.intel.com/content/www/us/en/products/sku/232126/intel-core-i51340p-processor-12m-cache-up-to-4-60-ghz/specifications.html?wapkw=Intel%C2%AE%20Core%E2%84%A2%20i5-1340P

zhikto commented 1 year ago

OK, i check to Panda's support and try it. thanks for your support!