Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HELP NEEDED] Prepare Linux binary distrib of Natron 2.6 #990

Open
5 of 7 tasks
devernay opened this issue Jul 23, 2024 · 20 comments
Open
5 of 7 tasks

[HELP NEEDED] Prepare Linux binary distrib of Natron 2.6 #990

devernay opened this issue Jul 23, 2024 · 20 comments
Labels
type:feature New feature or request

Comments

@devernay
Copy link
Member

Make sure to follow our issue report guidelines

Provide a description of your feature request

We should try to release the Qt5-based Natron 2.6.0 anytime soon (see #827 ).
This requires having macOS, Linux and Windows binary distributions. I'm working on the Mac distrib (Intel and Apple Silicon), @acolwell and @rodlie are working on Windows (MINGW64 probably, since MSVC doesn't seem to be ready), but we need help with the Linux builds:

  • Upgrading packages and dependencies from the toolchain (easy, I may even do it as I'm used to it)
  • Packaging with Qt5
  • Installer (or do we only distribute a zip with no installed?)

Is this a realistically implementable feature?

  • My feature is realistically implementable
  • My feature is NOT realistically implementable

Can you contribute in creating this feature?

  • I am unable, or not willing to contribute to creating this feature
  • I am able and willing to contribute to the creation of this feature

Additional details

No response

@devernay devernay added the type:feature New feature or request label Jul 23, 2024
@rodlie
Copy link
Contributor

rodlie commented Jul 23, 2024

I can help with the Qt5 packaging.

Installer (or do we only distribute a zip with no installed?)

We drop the installer and I will provide a "desktop integration" script that copies the desktop/meta/icons where they should be for integrations with launchers and file managers.

@devernay
Copy link
Member Author

Sounds good to me

@bhack
Copy link

bhack commented Aug 13, 2024

Can you verify this bug before the release?
#996

@devernay
Copy link
Member Author

Can you verify this bug before the release? #996

Done. This is not a bug. I updated the doc in NatronGitHub/openfx-io@f547e5f

@Beryesa
Copy link

Beryesa commented Sep 28, 2024

Would you consider taking over the flatpak (as an official distribution)?
It'd be packaged once just like win and mac, and work everywhere.
Distributions can otherwise deal with their native packaging themselves as usual.

@rodlie
Copy link
Contributor

rodlie commented Sep 28, 2024

Would you consider taking over the flatpak (as an official distribution)?

Anyone can maintain that, it's just a simple repack. If the current maintainer of the flatpak can't then someone else will (probably) step up. Official support means one of the devs need to maintain it, that will probably not happen.

It'd be packaged once just like win and mac, and work everywhere.

Our existing Linux builds works everywhere.


Regarding updating the SDK, been busy with other stuff, so I have not done much. Will try to dedicate some time next weekend (I already maintain other SDK's with almost identical depends, so shouldn't take that long).

@Beryesa
Copy link

Beryesa commented Sep 28, 2024

Anyone can maintain that, it's just a simple repack. If the current maintainer of the flatpak can't then someone else will (probably) step up. Official support means one of the devs need to maintain it, that will probably not happen.

I meant as verifying the flatpak if you have interest, but on that topic, it can be directly implemented to the CI process and help with testing as well, which is what they're pushing towards, though the documentation doesn't seem ready yet.

Our existing Linux builds works everywhere.

Sure but some app store integration would be nice, one-click-install shouldn't be underestimated imo (with desktop integration) :D

Regarding updating the SDK, been busy with other stuff, so I have not done much. Will try to dedicate some time next weekend (I already maintain other SDK's with almost identical depends, so shouldn't take that long).

I can help on that part :P
I've quickly put up a PR today, flathub/fr.natron.Natron#39
It works fine in my limited testing but let's see.

@rodlie
Copy link
Contributor

rodlie commented Sep 29, 2024

I meant as verifying the flatpak if you have interest, but on that topic, it can be directly implemented to the CI process and help with testing as well, which is what they're pushing towards, though the documentation doesn't seem ready yet.

Sure, I see no problem with verifying the flatpak. What do we need to do?

I can help on that part :P I've quickly put up a PR today, flathub/fr.natron.Natron#39 It works fine in my limited testing but let's see.

With the SDK part I meant the Linux SDK we use in Natron, it was a general reply to this thread.

Thanks for the PR for the flatpak, sadly none of us (in Natron as far as I know) have admin/write access to the repo, only the maintainer of the flatpak.

@Beryesa
Copy link

Beryesa commented Sep 29, 2024

With the SDK part I meant the Linux SDK we use in Natron, it was a general reply to this thread.

Oh, right, GitHub merged them so I thought you were talking about the Freedesktop SDK 😅

Sure, I see no problem with verifying the flatpak. What do we need to do?

It'd be easy to add a .well-known file but since natron.fr is not in use any more, I think you should contact flathub on matrix or open an issue.

As per https://docs.flathub.org/docs/for-app-authors/verification

I'd like to verify my app that someone else already published

The first step is to gain ownership over your app; see Someone else has put my app on Flathub—what do I do?

I have an existing app but I cannot verify it due to wrong application ID

In most cases, the application needs to be resubmitted with the correct application ID. Please read the application ID requirements carefully and then follow the resubmition guide to resubmit it.

The best approach would be resubmitting for a new ID and authenticate/verify with GitHub, but I'd say let's do it for the 2.6 release like a comeback 😁

@Emmett-Brown82
Copy link

hi, my name is JC.
Mind me interrupting but i am really really interested in the release of Natron-2.6 shipped with Qt5/6. The official 2.5.0 version has a bug, which i presume to be a memory leak cuz i got a memory access violation after creating and deleting several times a simple PyPanel.
My question: when should we expect a linux based (i am using Rocky 8) Natron 2.6.0 release? If you could provide with instructions on how to build the alpha1 version that would be nice.
I am a pipeline TD from Spain and all i need is Natron not to crash when repeatedly adding and deleting the pypanel.
I am submitting my project to the University next July 2025 and it would be nice to have Natron 2.6 integrated along with Blender and Krita.
Thanks.

@rodlie
Copy link
Contributor

rodlie commented Jan 10, 2025

My question: when should we expect a linux based (i am using Rocky 8) Natron 2.6.0 release?

Been busy with other projects, so my Natron contributions has been more or less non-existing.

On a positive note, I have a SDK (plus/minus some depends) needed for Natron 2.6 on Linux done through another project with similar depends (built on the same distro as Natron). It's more or less a matter of adapting the changes. Just to find the time to do it (famous last words).

Btw, does this build work better than the 2.5 release you are using: https://download.openfx.no/software/Natron/Natron-RB-2.5-202409220000-93c6837-Linux-x86_64.tgz ? (still Qt4)

@Emmett-Brown82
Copy link

hi @rodlie , no it doesnt. Same behaviour.

Thanks.

@Emmett-Brown82
Copy link

Another option for me would be to test in Windows the Natron 2.6.0 version. I just need to confirm that the bug disappears with the new Qt5 PySide2 library.....
Is it possible to build in windows Natron 2.6.0 already? Can u provide instructions?

@rodlie
Copy link
Contributor

rodlie commented Jan 10, 2025

https://github.com/acolwell/Natron/releases/tag/nightly

@Emmett-Brown82
Copy link

Thanks @rodlie but all i get when i install two of the latest nightly builds is a blank window with natron's frame and the following error dumped by the console:

QOpenGLWidget: Failed to create context
QOpenGLWidget: Failed to create context
composeAndFlush: makeCurrent() failed
composeAndFlush: makeCurrent() failed
composeAndFlush: makeCurrent() failed

Do you know what is happening and if this is normal behaviour and i need to do something else i am missing?

Thanks.

@rodlie
Copy link
Contributor

rodlie commented Jan 10, 2025

Been a while since I tested the builds, I now for a fact they worked sometime last year (not much help I know).

Try the oldest? https://github.com/acolwell/Natron/releases/download/nightly/Natron-AJC-RB-2.6-202410311214-8726092-Windows-x86_64.zip

@acolwell
Copy link
Collaborator

Last night's build, Natron-AJC-RB-2.6-202501101214-957e5fe-Windows-x86_64.zip, works perfectly fine for me on Windows 10. I'm not seeing any of those error messages.

What version of windows are you using?
What GPU do you have?
Are you using Windows natively or running it in a VM?

@Emmett-Brown82
Copy link

hi! @acolwell im running it in windows 11.
I managed to run Natron correctly without the blank window. Cool.
I can now test the PySide2 porting. Cool.
The Problem now: i get pretty much the same behaviour with this nightly build than i did with Natron 2.5.0 official (Qt4).

Dont know now if the problem is something im doing wrong, or that the same bug persists in both versions.
Can i ask, has the PySide2 C++ code been tweaked for this release as well, as it was done with PySide1 for Natron 2.5.0?

I get a crash after closing tab and reopening it again after a few repetitions.

Thanks in advance,
JC

@acolwell
Copy link
Collaborator

I'm glad you were able to get the Windows build working.

We don't modify PySide2 in Natron on Windows. We are using the stock msys2 build.

The easiest way to proceed is for you to provide a minimal plugin in #1029 so that I can try to reproduce the bug locally.
We should resume this conversation in that bug now since we've verified it does not appear to be a Linux specific issue.

@Emmett-Brown82
Copy link

@acolwell thanks a lot for your time in replying.

Actually, AFAIK, it is a common bug in official release 2.5.0 (Qt4 - PySide 1.2.4) both in windows and linux. Plus, pretty much the same behaviour when testing in windows for that release 2.6.0 alpha from 31st October 2024.

It doesnt look like a bug to a specific OS.

Will shortly provide some plugin to be able to reproduce the behaviour. I am still not sure entirely it s not me who is causing it by misusing the Natron API.

Thanks for your kind replies, both of you!

Best,
JC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants