This post has been made obsolete.
To download bleeding-edge development builds, see the Download article in RawPedia.
This post has been made obsolete.
To download bleeding-edge development builds, see the Download article in RawPedia.
Hi,
With all due respect, but not entirely obsolete, I suppose.
The old âDownload RawTherapee development buildsâ pinned topic also provided links to the AndrĂ© Gauthier vel âgaaned92â various RawTherapee compilations.
There is currently no easy way to find these links, I suppose.
The link provided in RawPedia only leads to automatic builds on GitHub.
If, of course, André does not mind, maybe it would be possible to put a link to his compilations somewhere on the forum or possibly made a topic also for other people who have knowledge and capabilities do it.
Regards,
The automated build toolchain is transparent and consistent, and is also used for stable releases, and so it should be used for testing.
What is your reason for wanting @gaaned92âs builds?
I donât know about windows builds, but maybe itâs interesting keeping those and the appimages links, just to have them in a well known place .
@Morgan_Hardwood @gaaned92 @heckflosse
I have been thinking about the naming of the development builds I am providing.
The current scheme is the following:
RawTherapee-${RT_BRANCH}-${GIT_DESCRIBE}-${DATE}.AppImage
RawTherapee_${RT_BRANCH}-win64-${GIT_DESCRIBE}.zip
RawTherapee_${RT_BRANCH}-win64-${GIT_DESCRIBE}_WinVista_64.exe
While this allows to determine the git commit from the package name, it generates packages with names that change every time.
This might be a problem if you want to provide links to the most recent development builds. Moreover, the git commit information is also available in the AboutThisBuild.txt
file.
So I would propose the following alternative scheme:
RawTherapee_${RT_BRANCH}_linux.AppImage
AboutThisBuild.txt
asRawTherapee_${RT_BRANCH}_linux.txt
RawTherapee_${RT_BRANCH}_WinVista_64.exe
RawTherapee_${RT_BRANCH}_WinVista_64_portable.zip
AboutThisBuild.txt
asRawTherapee_${RT_BRANCH}_WinVista_64.txt
What do you think?
Another consideration: currently the packages are built with very generic processor flags (-DPROC_TARGET_NUMBER="0"
for the AppImage, -DPROC_TARGET_NUMBER="1"
for the Windows builds). However it would be rather easy to create additional builds for more specific target processors, in order to take advantage of specific optimizations. This would mostly boil down to adding another environment variable in the Travis build matrix, and then updating the build script to adjust the processor target according to the specified environment.
Would this be useful? Any suggestion for specific processor targets? I think that one or two specific targets would be a reasonable compromiseâŠ
Yes and no!
No, use features (e.g. -msse4 or so) instead of targets
Fine as well. Then we should agree on the list of features to be enabledâŠ
Imho a default build without additional features being enabled, a build with -msse4 and a build with -mavx would be fine
naming of builds
I agree with de suppression of commit identification that can be found in the AboutThisBuild.txt.
I was also asked to provide a date in the build name to identify if it is recent or old.
If you build for different architectures, I think you will have to include an architecture identification in the name
different architecture
I know the position of @heckflosse. I still donât understand why building for a modern architecture would not be beneficial compared to -mtune=generic -msse4 -mavx
.
But he is the performance wizzard
@heckflosse I remember that you made some posts about multiversionning (perhaps FMV?). What dou you think of that?
Building for the exact architecture you use will always be beneficial if the machine you run the program does use the same architecture.
But for example a -march=bdver1 build might or might non run at all on a Intel cpu and vice versa. And even if it runs, it might not run optimal, maybe even worse, as the compiler also takes into account things like L1 cache-size of the target you compile for and which the preferred SIMD size of the target is and so on.
@gaaned92 Also, itâs not only about performance. Assume you make a build for a target which supports AVX
and also, though you didnât notice that: F16C
.
Now a user downloads that build because his machine supports AVX
. If his machine does not support F16C
(though I donât know if there are cpus which support AVX but not F16C) he will get a crash as soon as he opens a 16-bit-float DNG from hdrmerge.
That is not a problem. Development builds are for testing by experienced users, who may want to download and concurrently run several different builds. Not having the necessary info in the filename means youâd end up with:
RawTherapee_${RT_BRANCH}-win64.zip
RawTherapee_${RT_BRANCH}-win64-1.zip
RawTherapee_${RT_BRANCH}-win64-2.zip
etc.
That would be a regression.
Itâs more useful in the filename.
And speaking of AboutThisBuild.txt
, it was necessary to package this text file inside the ZIP for historical reasons. We no longer need that. Itâs still a good idea to include AboutThisBuild.txt
in the build, but it can now be left within the installer/appimage/dmg, it no longer needs to be outside of it.
Having âVistaâ in the filename was needed when we still provided WinXP builds. That is no longer the case, so we can drop âvistaâ (it sounds bad).
So I would propose:
RawTherapee_lin_${RT_BRANCH}-${GIT_DESCRIBE}-${DATE}.AppImage
RawTherapee_win_${RT_BRANCH}-${GIT_DESCRIBE}-${DATE}.zip
(containing the installer)RawTherapee_mac_${RT_BRANCH}-${GIT_DESCRIBE}-${DATE}.zip
(containing the DMG)I donât know whether 1
is still the best value, being 2019 and considering we donât ship 32-bit builds. I agree with @gaaned92 that we should build for a more modern arch if possible. Maybe @heckflosse can suggest better optimizations safe for 64-bit CPUs capable of running Vista and upwards.
I donât want to go down that rabbit hole. User goes to our website, hits a wall of confusion, âWhich one do I want?â, downloads one, and it crashes. Itâs not something users would understand, itâs not something other programs do, and it would cost 3x the bandwidth. Letâs decide on one build with better features.
Those extremely few users who need every last bit of performance can always compile a native build for their CPUs themselves. Since those users happen to be companies and can afford consultation, compilation is not a problem.
Ok, letâs go for this. What about the portable Windows version, the one without an installer? Should I simply drop it or the future, or is there an interest for it?
Stable releases need the installer, while development builds would be more handy without one.
I just installed one yesterday (with the installer) on an external drive. Worked perfectly. I have the current 5.7 final on the main SSD.
Morgan, can you tell me where âCamera Calibrationâ heading is please on Raw Therapee