ardura / Actuate

Synthesizer, Sampler, Granulizer written in Rust with Nih-Plug and egui
GNU General Public License v3.0
93 stars 2 forks source link

Entry Point Not Found #27

Open ZonderP opened 8 months ago

ZonderP commented 8 months ago

Upon loading both the VST 3 and CLAP flavor, I get this error message: Entry Point Not Found - The procedure entry point SetProcessDpiAwarenessContext could not be located in the dynamic link library USER32.dll. I assume it's worth mentioning that I'm still using good old Windows 7...

I'd very much appreciate it, if Actuate could be made to run on this OS, but if the effort is too much, I understand that this will not happen. In this case please mention somewhere (e.g. on KVR Actuate page or at least in some README coming with the download) what is the minimum supported OS (maybe not only for Windows but also the other supported OSes.

ardura commented 8 months ago

Hey Zonder, I think this has to do with the baseview dependency but I'll see what I can do and investigate some. That's also a good idea to add that to a readme so I'll do that either way 👍

ardura commented 8 months ago

Actuate_v1.2.2_Win7_Build_Attempt.zip Hi again Zonder, can you try with the following build and let me know if that works on your system?

ZonderP commented 8 months ago

Hi Ardura! Thanks for your efforts! Unfortunately this build doesn't really improve the situation. The 'SetProcessDpiAwarenessContext' error is not there anymore, but instead I get

System Error - 
The program can't start because api-ms-win-shcore-scaling-l1-1-1.dll is missing from your computer.

Thus I tried to download that dll and put it to the 'Windows/System32' folder as seen on instructions. But the I get - at least from my DAW (EXT64) an error 'Cannot open 32-bit library Actuate' - which most probably is somehow a wrong error message, but still indicates a problem with loading Actuate.

ardura commented 8 months ago

I tried making another workaround to completely skip anything involving DPI based off some code another baseview contributor wrote - so hopefully this one works. Otherwise we may need to leave this open until someone more experienced in windows - window stuff can help. Actuate_v1.2.2_Win7_Attempt2.zip

ZonderP commented 8 months ago

Thanks! I can try tomorrow.

Am 08.03.2024 um 17:33 schrieb ardura @.***>:



I tried making another workaround to completely skip anything involving DPI based off some code another baseview contributor wrote - so hopefully this one works. Otherwise we may need to leave this open until someone more experienced in windows - window stuff can help. Actuate_v1.2.2_Win7_Attempt2.ziphttps://github.com/ardura/Actuate/files/14540730/Actuate_v1.2.2_Win7_Attempt2.zip

— Reply to this email directly, view it on GitHubhttps://github.com/ardura/Actuate/issues/27#issuecomment-1986012936, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABW37M2KOUOCWKOGQR4QVS3YXHR43AVCNFSM6AAAAABEJ5O5X2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWGAYTEOJTGY. You are receiving this because you authored the thread.Message ID: @.***>

ZonderP commented 8 months ago

No, this 2nd attempt unfortunately also doesn't fix the problem. I get the same error as with the 1st attempt.

But since I'm a programmer (too), I found this: https://live.paloaltonetworks.com/t5/globalprotect-discussions/missing-api-ms-win-shcore-scaling-l1-1-1-dll-on-upgrade-from-5-2/td-p/394758 and gave it a try. Actuate loaded successfully, after I built that dll and put it in 'C:\Windows\System32', but the Actuate's GUI then didn't display properly - not usable at all: Actuate GUI Windows 7

So there is probably more just not working on Windows 7 and I fear not really worth to investigate further, unless 'egui' or whatever would provide an easy way to fix Windows 7 compatibility.

ardura commented 8 months ago

I saw that page too but didn't really like that solution. Unfortunately yeah I think this gets blocked until compatibility gets better. It's strange since using the version from https://github.com/RustAudio/baseview/pull/146 still didn't resolve your issue so at this point I'm not sure how to fix this - it's probably multiple things that are not working on Win7 platform then

ZonderP commented 8 months ago

Yeah, building my own api-ms-win-shcore-scaling-l1-1-1.dll for sure was a hack which isn't the desired solution, but if then everything would have worked afterwards, then this would at least have been a hint, that investigating further a bit to avoid being dependent on such a hack could lead to success. As said, I totally understand, that making Actuate Windows 7 compatible isn't a priority. Just out of curiosity: If I would clone the repo, is there already everything there (except for sure Rust environment etc.) to actually be able to build Actuate? Or are there build steps involved, not being in the repo? Maybe - when I find some time in the future - I could try myself to experiment.

ardura commented 8 months ago

Yeah feel free to clone/fork. Everything is there, you just need rust. So you could go in Actuate root directory and run in a terminal 'cargo build Actuate --profile release' to build it. If you do '--profile profiling' it will build with debugging symbols but it will probably tell you the same error with more information if you are debugging the process in vscode with a few extensions and config files.

I can see about adding the configs I have for debugging into the git and the extensions used once I'm back at my PC. Maybe I'll spin up a Win7 VM and see if I can be any help testing too. I've almost got a minor version of Actuate done fixing a few bugs so I may take another look into this compatibility issue as well once that is out :)

ardura commented 8 months ago

launch.json Put that json in the .vscode directory to get the option to debug from a DAW run. image

Also apart from installing rust, here is what I have for debugging rust symbols: image

Hope that helps!