Comments (9)
I saw this thread as well. I'll have to get a Pi4 to test.
from openvg.
The RPi 4 doesn't support OpenVG, it uses Mesa for controlling the GPU and OpenVG was removed from Mesa years ago (through little use and lack of anybody maintaining it I think).
from openvg.
FYI, the code will build on the Pi4, but running the executable fails with this message:
* failed to add service - already in use?
from openvg.
If you get this error
* failed to add service - already in use?
You'll need to comment out the following line with a hash:
dtoverlay=vc4-fkms-v3d
But it then hangs on a futex (with strace):
futex(0xb6e4c518, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0xc4, 0x2, 0x1c), 0xbef8b35c) = 0
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0xc4, 0x2, 0x1c), 0xbef8b35c) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xd, 0), 0x44015) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xd, 0), 0x45016) = 0
mmap2(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb49fd000
mprotect(0xb49fe000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0xb51fcf98, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb51fd4c8, tls=0xb51fd920, child_tidptr=0xb51fd4c8) = 1062
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xc, 0), 0x3f010) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xc, 0), 0x3f010) = 0
ioctl(3, _IOC(_IOC_WRITE, 0xc4, 0x4, 0xc), 0xbef8b3fc) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xd, 0), 0x3f010) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xc, 0), 0x3f010) = 0
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0xc4, 0x8, 0x10), 0xbef8b3d8) = 13
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xd, 0), 0x3f010) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0xd, 0), 0x3f010) = 0
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0xc4, 0x2, 0x1c), 0xbef8b3d4) = 0
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0xc4, 0x2, 0x1c), 0xbef8b3d4) = 0
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0xc4, 0x2, 0x1c), 0xbef8b3d4) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0x9, 0), 0x47018) = 1058
ioctl(3, _IOC(_IOC_WRITE, 0xc4, 0x4, 0xc), 0xbef8b3bc) = 0
ioctl(3, _IOC(_IOC_NONE, 0xc4, 0x9, 0), 0x47018) = 1058
futex(0xb6eaca58, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, FUTEX_BITSET_MATCH_ANY
I've got your library working on a standard x86 Ubuntu 16.04 machine via MESA (rather messily currently, so that might be a way to make it work everywhere, although possibly not if they've dropped it).
from openvg.
I've got your library working on a standard x86 Ubuntu 16.04 machine via MESA (rather messily currently, so that might be a way to make it work everywhere, although possibly not if they've dropped it).
So I've just tried running the code I tweaked on a Pi and after a little more minor tweaking, it compiles and displays, but it looks like each pixel is much bigger than it should be, for example particles is all squares, shapedemo looks similarly distorted.
from openvg.
Thanks for trying this. Can you post details of your tweaks?
from openvg.
Hi @ajstarks ,
I'm using https://github.com/simonhyde/PiClock/ so I thought I might have to learn about git submodules, but I realised as I got your examples working first, I could just push that so here it is:
https://github.com/peternewman/openvg/tree/crossplatform
Apologies it's quite so hacky, I've not really tidied it up, this version works what I assume is fine (I get circular particles for example on Ubuntu 16.04 with the following MESA related packages installed:
ii libegl1-mesa:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the EGL API -- runtime
ii libegl1-mesa-dev:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the EGL API -- development files
ii libegl1-mesa-drivers:amd64 12.0.6-0ubuntu0.16.04.1 amd64 transitional dummy package
ii libgl1-mesa-dev:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the OpenGL API -- GLX development files
ii libgl1-mesa-dri:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the OpenGL API -- DRI modules
ii libgl1-mesa-glx:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the OpenGL API -- GLX runtime
ii libglapi-mesa:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the GL API -- shared library
ii libgles2-mesa:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the OpenGL|ES 2.x API -- runtime
ii libgles2-mesa-dev:amd64 18.0.5-0ubuntu0~16.04.1 amd64 free implementation of the OpenGL|ES 2.x API -- development files
ii libglu1-mesa:amd64 9.0.0-2.1 amd64 Mesa OpenGL utility library (GLU)
ii libglu1-mesa-dev:amd64 9.0.0-2.1 amd64 Mesa OpenGL utility library -- development files
ii libopenvg1-mesa-dev-lts-utopic:amd64 3:13 amd64 Transitional package for libopenvg1-mesa-dev-lts-utopic
ii libopenvg1-mesa-lts-utopic:amd64 3:13 amd64 Transitional package for libopenvg1-mesa-lts-utopic
ii libtxc-dxtn-s2tc0:amd64 0~git20131104-1.1 amd64 Texture compression library for Mesa
ii libwayland-egl1-mesa:amd64 18.0.5-0ubuntu0~16.04.1 amd64 implementation of the Wayland EGL platform -- runtime
ii mesa-common-dev:amd64 18.0.5-0ubuntu0~16.04.1 amd64 Developer documentation for Mesa
ii mesa-utils 8.3.0-1 amd64 Miscellaneous Mesa GL utilities
ii mesa-vdpau-drivers:amd64 18.0.5-0ubuntu0~16.04.1 amd64 Mesa VDPAU video acceleration drivers
I may have had to make some very trivial Makefile changes so it would compile on Pi 4, but I probably can't check that until tomorrow, but I suspect you can figure them out easily enough, it certainly didn't take me long.
from openvg.
Now with a minor change so it compiles, but doesn't work, on a Pi 4. Reading around it sounds like it could be because I haven't turned on the stencil buffer, inspired by this:
https://github.com/memononen/nanovg#rendering-is-wrong-what-to-do
See also a lot of the code in here:
https://github.com/FlightGear/flightgear/blob/8e6500ae47ff74539cd2c0a9c4eebe96e69ca81d/utils/fgpanel/GLES_utils.cxx#L262
from openvg.
I got it working on ShivaVG and GLUT (like the ShivaVG examples). This did mean changing the way the library worked to being driven by a callback loop, which was fine for my requirements, but obviously might not work for other applications. https://github.com/simonhyde/openvg
from openvg.
Related Issues (20)
- Frozzen screen with the examples with alt-tab or mouse click HOT 2
- Performance optimizations HOT 1
- Move scaling origin point ? HOT 1
- followed the instructions for shapedemo
- How do I print a text in front of a video that is played in omxplayer? HOT 2
- Golang make failed HOT 3
- * Failed to add service - already in use? When openGL driver is enabled. HOT 2
- Degree sign doesn't get rendered HOT 6
- Segfault error when drawing emoji HOT 1
- [Suggestion] Changing CGO flags on Raspbian Stretch HOT 1
- OpenVG Crash with recent firmwares... HOT 7
- Inconsistency on Circle/CircleOutline third parameter HOT 1
- Python version?
- Multiple instances one over other
- Screen recording?
- How to rotate an image, with specific rotation
- End() fails after a finish() and a init(). I'm trying to go back and forth from and to the raw terminal
- Animation HOT 1
- How to paint a circle HOT 10
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 openvg.