How To Install Pangolin

76 views
Skip to first unread message

Cameron Carrion

unread,
Jul 21, 2024, 8:48:21 AM7/21/24
to waivebosca

well it looks like Great news as you said @hendersj , I reached out to system76 and asked about the system76driver and associated packages and it seems that with the pangolin (pang12) none of it is really required.
From my test with the LiveUSB of tumbleweed.

how to install pangolin


Download Ziphttps://geags.com/2zvWsi



While any of above package managers is fine, it is currently recommended to use eithermicromamba or mamba (see here for installation instructions).We will show all commands using mamba below, but the arguments are the same for the twoothers.

Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.

The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.

Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):

Pangolin does it's best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake .. stage and look for the Found and Enabled lines.

I'd recommend building natively with the Build Tools for Visual Studio 2019 toolchain (and not mingw or WSL etc which is unsupported). I recommend gitbash for executing the bash snippets on this page and cloning Pangolin. You can work from within their provided console or the fancy new Windows Terminal which is a huge improvement to the developer experience on Windows.

You have to be careful about what python version Pangolin has found and is attempting to link against. It will tell you during the cmake .. step and you can change it by explicitly telling it the python executable with cmake -DPython_EXECUTABLE=/path/to/python ..or cmake -DPython_EXECUTABLE=`which python3` to use the python accessed through the python3 alias.

If python is found, the pypangolin module will be built with the default all target. A Python wheel can be built manually using the pypangolin_wheel target, and the wheel can be installed / uninstalled with pypangolin_pip_install and pypangolin_pip_uninstall targets.

Please note; most Pangolin dependencies are optional - to disable a dependency which may be causing trouble on your machine, set the BUILD_PANGOLIN_(option) variable to false with a cmake configuration tool (e.g. ccmake or cmake-gui).

Framebuffer with requested attributes not available: You're building against an old or unaccelerated OpenGL version. Either your graphics drivers are not correctly installed or you are on an unusual platform (such as within Docker, in a VM, working over an X forwarding SSH session) which has limited graphics acceleration. For the former case, you need to make sure your system is using appropriate drivers (you can test glxgears / glxinfo on linux for instance). There isn't much you can do about the latter except changing your setup (e.g. finding a VM which can better accelerate your graphics, or perhaps using the nvidia-docker wrapper around docker to correctly pass through the graphics driver)

error: unknown target 'pypangolin_wheels' : cmake didn't find your python. Go back and adjust your cmake variables (such as the tip above) until you see something like "Selected Python: '/opt/local/bin/python3.9'" in the output.

Pangolin uses an extensible factory mechanism for modularising video drivers, windowing backends and console interpreters. Concrete instances are instantiated from a particular factory using a URI string which identifies which factory to use and what parameters it should use. As strings, URI's are a useful mechanism for providing and validating configuration from an end user. The URI form is:module_name:[option1=value1,option2=value2,...]//module_resource_to_open.

Windowing in Pangolin is also backed by a factory. When an application calls CreateWindowAndBind() or similar, the default:// URI is specified. This can be overriden to use different windowing options by setting thePANGOLIN_WINDOW_URI environment variable. e.g.

I'd like to thank the growing number of kind contributors to Pangolin for helping to make it more stable and feature rich. Many features of Pangolin have been influenced by other projects such as GFlags, GLConsole, and libcvd in particular. I'd also like to thank the FOSS projects on which Pangolin depends.

e59dfda104
Reply all
Reply to author
Forward
0 new messages