[3dprinter-general] Printrun dependencies issue
Gregor Riepl
onitake at gmail.com
Mon Aug 21 12:13:35 BST 2023
>> Are you working to fix the issue, and do you need help?
>> I'm not familiar with either printrun or pyglet, but I can offer some=20
>> Python and OGL experience.
>
> I wasn't but I guess I'll need to make this a priority now. I'm not
> familiar with pyglet either to be honest so any help will be
> welcomed. Though it is something that needs to be dealt with upstream
> first really.
I started working on porting printrun to pyglet 2 / modern OpenGL.
As you might have guessed, it's a pretty large task due to the
fundamental differences between OpenGL fixed function and programmable
pipelines.
pyglet 2 has a built-in render pipeline that can be used as-is,
customized or completely overridden. Each approach has different
advantages and limitations. The current pipeline in printrun is mostly
custom (with respect to pyglet), so I think a hybrid approach would be
most appropriate.
Other options:
* Completely refactor printrun and rely on pyglet 2 features only. It
would simplify the code greatly, but reduce flexibility, and I'm not
sure if it's possible at all.
* Use an OpenGL compatibility profile and rely on the emulated fixed
function pipeline. This would require the least amount of changes on the
existing render code, but I'm not sure if it will play well with pyglet
2. Also, the required functionality is only available up to OpenGL 3.0,
and was completely left out of OpenGL ES 2+. I'd only take this approach
as a temporary workaround until printrun is completely ported.
> A manual removal from testing solves a) and an RC bug would solve b) but
> feels a bit over the top to me because the package is still usable just
> some features don't work.
What about removing the features in printrun that require pyglet 1?
As far as I can see, this only affects pronterface. printcore and
pronsole would still be usable, so how about just not installing
pronterface and removing the pyglet 1 dependency from the Debian package?
This would keep the package in Debian and "solve" the compatibility
issue until pyglet 2 support is available.
More information about the 3dprinter-general
mailing list