Comments (8)
Thanks for the report. More robust DLL loading is certainly needed, and I'm sure you're right that find_library
is the way to go. Looking in a package-local directory is fine for testing, but it will only work for release versions if the EGL library (probably Google's ANGLE) is bundled with a Windows package.
But maybe that's the best strategy? I'm not sure that Microsoft supplies libEGL.dll
with Windows. (At least, not as standard; maybe it comes with WSL or something?)
Could you check the file info on C:\WINDOWS\system32\libEGL.dll
(right click, Properties, Details)?
from pegl.
from pegl.
I haven't tested out any particular approach, but there's lots of prior discussion, e.g.:
- discuss.python.org, "Packaging DLLs on Windows"
- Vinayak Mehta, "Bundling DLLs with Windows wheels (the package_data way)"
- Stack Overflow, "How can I make a Python Wheel from an existing native library?"
from pegl.
Seems that it doesn't appear to be on my old laptop, though my new one has it.
from pegl.
Looking in a package-local directory is fine for testing, but it will only work for release versions if the EGL library (probably Google's ANGLE) is bundled with a Windows package.
Where are you currently getting the library from? I've looked at google/angle but it seems to be source-only. Of course, many general purpose DLL files are out there, but I don't trust them enough.
from pegl.
Funny, seems that Python can access a C:\Windows\System32\libEGL.dll
but even using cmd
with dir
yields nothing.
EDIT: C:\Windows\SysWOW64\libEGL.dll
exists... The created date is around when I got the laptop.
from pegl.
Where are you currently getting the library from? I've looked at google/angle but it seems to be source-only. Of course, many general purpose DLL files are out there, but I don't trust them enough.
I grabbed it from a Google Chrome installation, but I’m not positive that’s the only place I’ve gotten the DLL; I recall looking up some other projects that bundle ANGLE.
C:\Windows\SysWOW64\libEGL.dll exists
... The created date is around when I got the laptop.
Hmm. Very peculiar that it doesn’t list a product name. That in itself suggests that it’s not an official Microsoft DLL, which answers my question… but I’m still curious, if you’re willing to do a bit more digging? Is there any vendor info under the Digital Signatures tab? What about if you load it in pegl, like so:
>>> import pegl
>>> dpy = pegl.Display()
>>> dpy.vendor
'Google Inc. (adapter LUID: 000000000000b56d)'
>>> dpy.version
(1, 5, '(ANGLE 2.1.0.ea8043b73f93)')
from pegl.
Running dpy = pegl.Display()
raises pegl.errors.NotInitializedError
from pegl.
Related Issues (15)
- Native library import does not support linux3 HOT 4
- Work with current aenum version HOT 1
- Easier way to specify attributes
- Test on Python 3.10 HOT 1
- Fix exception in surface and context destructors HOT 1
- Cant run minimal example HOT 6
- pegl doesn't provide the OpenGL API HOT 2
- Pegl has no attribute display HOT 2
- a
- pegl version format HOT 5
- Set up automated testing
- Exception in Display destructor HOT 2
- Publish documentation
- Automate releases
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pegl.