<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://rawpedia.rawtherapee.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ingo</id>
	<title>RawPedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://rawpedia.rawtherapee.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ingo"/>
	<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/Special:Contributions/Ingo"/>
	<updated>2026-04-17T20:57:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Demosaicing&amp;diff=4371</id>
		<title>Demosaicing</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Demosaicing&amp;diff=4371"/>
		<updated>2018-11-29T19:04:00Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{1:1}}&lt;br /&gt;
&lt;br /&gt;
[[File:Chipincamera.jpg|thumb|Cutaway illustration of a camera showing the light sensor with a Bayer filter.]]&lt;br /&gt;
[[File:Bayer pattern on sensor.svg|thumb|Bayer pattern on sensor.]]&lt;br /&gt;
[[File:Bayer pattern on sensor profile.svg|thumb|Profile/cross-section of sensor.]]&lt;br /&gt;
Most digital cameras today use a [https://en.wikipedia.org/wiki/Color_filter_array color filter array] over their sensors. To display such raw files their data needs to be [http://www.cambridgeincolour.com/tutorials/camera-sensors.htm demosaiced]. Cameras with a [https://en.wikipedia.org/wiki/Foveon_X3_sensor Foveon X3 sensor] (Sigma) do not have color filter arrays and so do not need demosaicing. Demosaicing is why opening a raw file always takes a bit longer than opening a [https://en.wikipedia.org/wiki/JPEG JPEG] or [https://en.wikipedia.org/wiki/TIFF TIFF] file, where the data is already 'display-ready'. RawTherapee offers several demosaicing algorithms, each with its own characteristics. The differences between them are often very subtle - one might need to zoom in to 200-400% to discern them - but since the program works on a pixel-by-pixel basis and demosaicing is the basis upon which all other tools work, the choice of demosaicing algorithm can have a visually significant effect when combined with other tools, such as the sharpening ones. The choice of a certain algorithm influences, among other things, the quality of very fine details in the image, whether false maze patterns will appear, and decides how well colored edges are rendered.&lt;br /&gt;
&lt;br /&gt;
RawTherapee supports demosaicing images from sensors with [https://en.wikipedia.org/wiki/Bayer_filter Bayer filters] and [https://en.wikipedia.org/wiki/Bayer_filter#Fujifilm_.22X-Trans.22_filter Fujifilm X-Trans filters]. If you take a look inside the &amp;quot;Raw&amp;quot; tab, you will notice there are two tools: &amp;quot;Sensor with Bayer Matrix&amp;quot; and &amp;quot;Sensor with X-Trans Matrix&amp;quot;. The settings in one of these two tools have no influence over the settings in the other - if you open a raw image from a Bayer-type sensor, only the settings from the &amp;quot;Sensor with Bayer Matrix&amp;quot; tool will be used, the settings from the &amp;quot;Sensor with X-Trans Matrix&amp;quot; tool will be ignored, and vice versa if you open a raw image from an X-Trans type sensor. For simplicity, we will describe both here.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
The following demosaicing algorithms are available for raw files from Bayer sensors:&lt;br /&gt;
* AMaZE&lt;br /&gt;
* AMaZE+VNG4&lt;br /&gt;
* RCD&lt;br /&gt;
* RCD+VNG4&lt;br /&gt;
* DCB&lt;br /&gt;
* DCB+VNG4&lt;br /&gt;
* LMMSE&lt;br /&gt;
* IGV&lt;br /&gt;
* AHD&lt;br /&gt;
* EAHD&lt;br /&gt;
* HPHD&lt;br /&gt;
* VNG4&lt;br /&gt;
* Fast&lt;br /&gt;
* Mono&lt;br /&gt;
* Pixel Shift&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
The following demosaicing algorithms are available for raw files from X-Trans sensors:&lt;br /&gt;
* 3-pass+fast&lt;br /&gt;
* 3-pass (Markesteijn)&lt;br /&gt;
* 1-Pass+fast&lt;br /&gt;
* 1-Pass (Markesteijn)&lt;br /&gt;
* Fast&lt;br /&gt;
* Mono&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Comparison of RawTherapee's demosaicing algorithms&amp;quot; perrow=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
Image:Demosaicing city1 amaze.png|AMaZE&lt;br /&gt;
Image:Demosaicing city1 igv.png|IGV&lt;br /&gt;
Image:Demosaicing city1 lmmse.png|LMMSE&lt;br /&gt;
Image:Demosaicing city1 eahd.png|EAHD&lt;br /&gt;
Image:Demosaicing city1 hphd.png|HPHD&lt;br /&gt;
Image:Demosaicing city1 vng4.png|VNG4&lt;br /&gt;
Image:Demosaicing city1 dcb.png|DCB&lt;br /&gt;
Image:Demosaicing city1 ahd.png|AHD&lt;br /&gt;
Image:Demosaicing city1 fast.png|Fast&lt;br /&gt;
Image:Demosaicing city1 none.png|None&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which demosaicing method should you use?&amp;lt;br&amp;gt;&lt;br /&gt;
This page aims to tell you as much about the various algorithms as is relevant to a photographer, but there is no much to say as the explanations would quickly become technical and of a programmatical and mathematical nature. After reading though this article you should know that LMMSE and IGV are to be used on high ISO photos and that for the majority of other cases you should stick with the default AMaZE method, but of course you are free to explore for yourself and to test each method out on your own raw files. It is of no use reading an article somewhere on the internet which claims that some specific method is best because in their test that method was the sharpest, as the performance of each method depends specifically on the sensor in your camera and even on ISO, so keeping our suggestions in mind, run your own test and make up your own mind!&lt;br /&gt;
&lt;br /&gt;
RawTherapee versions 4.2.91 and newer always use the demosaicing method you choose regardless of zoom level.&lt;br /&gt;
RawTherapee versions older than 4.2.91 use the Fast algorithm to initially open the image for editing. After this, the selected demosaicing method is applied when the image is zoomed to 100% magnification or when the detail window is opened. The selected method is also used for batch processing. It is not recommended to select the Fast method for the final conversion, as it is a low-quality algorithm for display purposes.&lt;br /&gt;
&lt;br /&gt;
'''AMaZE''' (Aliasing Minimization and Zipper Elimination) is the default demosaicing method, as it yields the best results in most cases. In RawTherapee versions 2.4 and older VNG4 used to be the preferred algorithm for Olympus cameras, as AMaZE didn't exist yet and VNG4 eliminated certain maze pattern artifacts that might have been created by the other methods, but with the introduction of the AMaZE method in RawTherapee version 3.0 Olympus users might prefer that instead.&lt;br /&gt;
&lt;br /&gt;
'''RCD''' does an excellent job for round edges, for example stars in astrophotography, while preserving almost the same level of detail as AMaZE.&lt;br /&gt;
&lt;br /&gt;
'''DCB''' produces similar results to AMaZE. AMaZE can often be slightly superior in recovering details, while DCB can be better at avoiding false colors especially in images from cameras without anti-aliasing filters.&lt;br /&gt;
&lt;br /&gt;
When working with very noisy, high ISO images in conjunction with the [[Noise Reduction]] tool, it is recommended to use the '''LMMSE''' or '''IGV''' demosaicing methods. They will prevent false maze patterns from appearing, and prevent the image from looking washed-out due to heavy noise reduction.&lt;br /&gt;
&lt;br /&gt;
If you use a medium format technical camera with near-symmetrical wide angle lenses such as the Schneider Digitar 28mm or 35mm it's likely that your file will contain some crosstalk, especially if the lens is shifted (due to the low angle of incoming light from these lenses some light leaks over to the next pixel on the sensor), and in this case you can get mazing artifacts with AMaZE and DCB because of green channel separation caused by the crosstalk. If you, via adapters, combine a mirrorless camera with a wide angle lens designed for film, you may also get crosstalk. It can then be better to use the more robust '''VNG4''' algorithm (Variable Number of Gradients) which handles this situation well, at the cost of some fine detail. An alternative is to enable [[Preprocessing#Green Equilibration|green equilibration]] to even-out the green channel differences.&lt;br /&gt;
&lt;br /&gt;
'''AHD''' (Adaptive Homogeneity-Directed), '''EAHD''' (Horvath's AHD) and '''HPHD''' (Heterogeneity-Projection Hard-Decision) are old methods which are generally slow and inferior to the other methods.&lt;br /&gt;
&lt;br /&gt;
'''None''' means no demosaicing is performed. This can be useful for diagnostics, but you would not use it for photography.&lt;br /&gt;
&lt;br /&gt;
'''Mono''' is only useful for users of either monochrome cameras, or cameras with the color filter array removed.&lt;br /&gt;
&lt;br /&gt;
'''Fast''' is a very fast but simple and low quality demosaicing method, not recommended.&lt;br /&gt;
&lt;br /&gt;
'''3-Pass''' is a demosaicing method for cameras with X-Trans sensors (Fuji). It runs three passes over the image which leads to sharper results though you can only see this on low ISO photos. It is slower than 1-Pass.&lt;br /&gt;
&lt;br /&gt;
'''1-Pass''' is a demosaicing method for cameras with X-Trans sensors (Fuji). It is faster than the 3-Pass method though a bit inferior in quality, though this difference is only visible in low ISO shots, so if speed is an issue you can use this method on high ISO shots with no visual difference in quality.&lt;br /&gt;
&lt;br /&gt;
=== False Color Suppression Steps ===&lt;br /&gt;
Sets the number of median filter passes applied to suppress demosaicing artifacts when applying the demosaicing algorithm. False colors (speckles) could be introduced during the demosaicing phase where very fine detail is resolved. False color suppression is similar to color smoothing. The luminance channel is not affected by this suppression.&lt;br /&gt;
&lt;br /&gt;
False colors are generally more apparent in images from cameras without anti-aliasing filters. Note that it is foremost the chosen demosaicing algorithm which is the deciding factor in how prominent will be the false color problem with which you will have to deal. In some situations it may be better to change the demosaicing algorithm than to enable false color suppression, as the latter reduces color resolution.&lt;br /&gt;
&lt;br /&gt;
=== How to Find the Best Demosaicing Method ===&lt;br /&gt;
[[image:demosaicing_city1_example_bad.jpg|thumb|A good image to test the demosaicing algorithms on. Zoomed in to 800%, you can clearly see that VNG4 is not a good choice for this Pentax K10D raw file, as there are dots where there should be none, and the detail of the wall’s brickwork (the orange part on the right) is all washed out.]]&lt;br /&gt;
Zoom in to at least 100% (1:1) and try all the demosaicing algorithms, see which works best for you. Try them on sharp photos with fine detail and tiny patterns, such as the wavy and repetitive fabric of a sweater (watch for maze pattern artifacts), a distant brick wall, a distant round road sign (watch for aliasing along the round edges), and test with both low and high ISO shots. Use photos from your own camera; what's best for Nikon raw images may not be what's best for Olympus ones.&lt;br /&gt;
&lt;br /&gt;
=== Monochrome Cameras ===&lt;br /&gt;
A monochrome camera has the same light filter in front of all pixels, that is you get a black-and-white image and no demosaicing is required. Some of these cameras have no infrared filter and are thus sensitive to infrared light, which can be used for creative black and white photography.&lt;br /&gt;
&lt;br /&gt;
RawTherapee supports monochrome cameras, but the user interface is not adapted for it so when you load a monochrome file all color tools will still be enabled (they won't do anything meaningful of course). You will have to live with that, monochrome cameras are rare so we won't put any major effort into making the user interface morph into reduced monochrome-only version.&lt;br /&gt;
&lt;br /&gt;
There are a few additional factors to consider when working with monochrome files: some monochrome cameras report that they have only a single monochrome channel and a neutral color matrix, like Leica M Monochrom, while others report RGB channels in a bayer configuration (like Phase One IQ260 Achromatic, or IR-modified cameras). If the camera reports only one channel, RawTherapee recognizes this and won't perform any demosaicing (the demosaicer selection is still enabled but does not do anything), and everything works normally. However, if the camera reports as an RGB bayer camera, demosaicing will be performed and a color matrix will be applied. To disable this, you should select the &amp;quot;Mono&amp;quot; demosaicing option, and select &amp;quot;No profile&amp;quot; as [[Color_Management#Input_Profile|input profile]] in the Color Management panel.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Demosaicing&amp;diff=4370</id>
		<title>Demosaicing</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Demosaicing&amp;diff=4370"/>
		<updated>2018-11-29T18:44:47Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{1:1}}&lt;br /&gt;
&lt;br /&gt;
[[File:Chipincamera.jpg|thumb|Cutaway illustration of a camera showing the light sensor with a Bayer filter.]]&lt;br /&gt;
[[File:Bayer pattern on sensor.svg|thumb|Bayer pattern on sensor.]]&lt;br /&gt;
[[File:Bayer pattern on sensor profile.svg|thumb|Profile/cross-section of sensor.]]&lt;br /&gt;
Most digital cameras today use a [https://en.wikipedia.org/wiki/Color_filter_array color filter array] over their sensors. To display such raw files their data needs to be [http://www.cambridgeincolour.com/tutorials/camera-sensors.htm demosaiced]. Cameras with a [https://en.wikipedia.org/wiki/Foveon_X3_sensor Foveon X3 sensor] (Sigma) do not have color filter arrays and so do not need demosaicing. Demosaicing is why opening a raw file always takes a bit longer than opening a [https://en.wikipedia.org/wiki/JPEG JPEG] or [https://en.wikipedia.org/wiki/TIFF TIFF] file, where the data is already 'display-ready'. RawTherapee offers several demosaicing algorithms, each with its own characteristics. The differences between them are often very subtle - one might need to zoom in to 200-400% to discern them - but since the program works on a pixel-by-pixel basis and demosaicing is the basis upon which all other tools work, the choice of demosaicing algorithm can have a visually significant effect when combined with other tools, such as the sharpening ones. The choice of a certain algorithm influences, among other things, the quality of very fine details in the image, whether false maze patterns will appear, and decides how well colored edges are rendered.&lt;br /&gt;
&lt;br /&gt;
RawTherapee supports demosaicing images from sensors with [https://en.wikipedia.org/wiki/Bayer_filter Bayer filters] and [https://en.wikipedia.org/wiki/Bayer_filter#Fujifilm_.22X-Trans.22_filter Fujifilm X-Trans filters]. If you take a look inside the &amp;quot;Raw&amp;quot; tab, you will notice there are two tools: &amp;quot;Sensor with Bayer Matrix&amp;quot; and &amp;quot;Sensor with X-Trans Matrix&amp;quot;. The settings in one of these two tools have no influence over the settings in the other - if you open a raw image from a Bayer-type sensor, only the settings from the &amp;quot;Sensor with Bayer Matrix&amp;quot; tool will be used, the settings from the &amp;quot;Sensor with X-Trans Matrix&amp;quot; tool will be ignored, and vice versa if you open a raw image from an X-Trans type sensor. For simplicity, we will describe both here.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
The following demosaicing algorithms are available for raw files from Bayer sensors:&lt;br /&gt;
* AMaZE&lt;br /&gt;
* AMaZE+VNG4&lt;br /&gt;
* RCD&lt;br /&gt;
* RCD+VNG4&lt;br /&gt;
* DCB&lt;br /&gt;
* DCB+VNG4&lt;br /&gt;
* LMMSE&lt;br /&gt;
* IGV&lt;br /&gt;
* AHD&lt;br /&gt;
* EAHD&lt;br /&gt;
* HPHD&lt;br /&gt;
* VNG4&lt;br /&gt;
* Fast&lt;br /&gt;
* Mono&lt;br /&gt;
* Pixel Shift&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
The following demosaicing algorithms are available for raw files from X-Trans sensors:&lt;br /&gt;
* 3-pass+fast&lt;br /&gt;
* 3-pass (Markesteijn)&lt;br /&gt;
* 1-Pass+fast&lt;br /&gt;
* 1-Pass (Markesteijn)&lt;br /&gt;
* Fast&lt;br /&gt;
* Mono&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Comparison of RawTherapee's demosaicing algorithms&amp;quot; perrow=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
Image:Demosaicing city1 amaze.png|AMaZE&lt;br /&gt;
Image:Demosaicing city1 igv.png|IGV&lt;br /&gt;
Image:Demosaicing city1 lmmse.png|LMMSE&lt;br /&gt;
Image:Demosaicing city1 eahd.png|EAHD&lt;br /&gt;
Image:Demosaicing city1 hphd.png|HPHD&lt;br /&gt;
Image:Demosaicing city1 vng4.png|VNG4&lt;br /&gt;
Image:Demosaicing city1 dcb.png|DCB&lt;br /&gt;
Image:Demosaicing city1 ahd.png|AHD&lt;br /&gt;
Image:Demosaicing city1 fast.png|Fast&lt;br /&gt;
Image:Demosaicing city1 none.png|None&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which demosaicing method should you use?&amp;lt;br&amp;gt;&lt;br /&gt;
This page aims to tell you as much about the various algorithms as is relevant to a photographer, but there is no much to say as the explanations would quickly become technical and of a programmatical and mathematical nature. After reading though this article you should know that LMMSE and IGV are to be used on high ISO photos and that for the majority of other cases you should stick with the default AMaZE method, but of course you are free to explore for yourself and to test each method out on your own raw files. It is of no use reading an article somewhere on the internet which claims that some specific method is best because in their test that method was the sharpest, as the performance of each method depends specifically on the sensor in your camera and even on ISO, so keeping our suggestions in mind, run your own test and make up your own mind!&lt;br /&gt;
&lt;br /&gt;
RawTherapee versions 4.2.91 and newer always use the demosaicing method you choose regardless of zoom level.&lt;br /&gt;
RawTherapee versions older than 4.2.91 use the Fast algorithm to initially open the image for editing. After this, the selected demosaicing method is applied when the image is zoomed to 100% magnification or when the detail window is opened. The selected method is also used for batch processing. It is not recommended to select the Fast method for the final conversion, as it is a low-quality algorithm for display purposes.&lt;br /&gt;
&lt;br /&gt;
'''AMaZE''' (Aliasing Minimization and Zipper Elimination) is the default demosaicing method, as it yields the best results in most cases. In RawTherapee versions 2.4 and older VNG4 used to be the preferred algorithm for Olympus cameras, as AMaZE didn't exist yet and VNG4 eliminated certain maze pattern artifacts that might have been created by the other methods, but with the introduction of the AMaZE method in RawTherapee version 3.0 Olympus users might prefer that instead.&lt;br /&gt;
&lt;br /&gt;
'''DCB''' produces similar results to AMaZE. AMaZE can often be slightly superior in recovering details, while DCB can be better at avoiding false colors especially in images from cameras without anti-aliasing filters.&lt;br /&gt;
&lt;br /&gt;
When working with very noisy, high ISO images in conjunction with the [[Noise Reduction]] tool, it is recommended to use the '''LMMSE''' or '''IGV''' demosaicing methods. They will prevent false maze patterns from appearing, and prevent the image from looking washed-out due to heavy noise reduction.&lt;br /&gt;
&lt;br /&gt;
If you use a medium format technical camera with near-symmetrical wide angle lenses such as the Schneider Digitar 28mm or 35mm it's likely that your file will contain some crosstalk, especially if the lens is shifted (due to the low angle of incoming light from these lenses some light leaks over to the next pixel on the sensor), and in this case you can get mazing artifacts with AMaZE and DCB because of green channel separation caused by the crosstalk. If you, via adapters, combine a mirrorless camera with a wide angle lens designed for film, you may also get crosstalk. It can then be better to use the more robust '''VNG4''' algorithm (Variable Number of Gradients) which handles this situation well, at the cost of some fine detail. An alternative is to enable [[Preprocessing#Green Equilibration|green equilibration]] to even-out the green channel differences.&lt;br /&gt;
&lt;br /&gt;
'''AHD''' (Adaptive Homogeneity-Directed), '''EAHD''' (Horvath's AHD) and '''HPHD''' (Heterogeneity-Projection Hard-Decision) are old methods which are generally slow and inferior to the other methods.&lt;br /&gt;
&lt;br /&gt;
'''None''' means no demosaicing is performed. This can be useful for diagnostics, but you would not use it for photography.&lt;br /&gt;
&lt;br /&gt;
'''Mono''' is only useful for users of either monochrome cameras, or cameras with the color filter array removed.&lt;br /&gt;
&lt;br /&gt;
'''Fast''' is a very fast but simple and low quality demosaicing method, not recommended.&lt;br /&gt;
&lt;br /&gt;
'''3-Pass''' is a demosaicing method for cameras with X-Trans sensors (Fuji). It runs three passes over the image which leads to sharper results though you can only see this on low ISO photos. It is slower than 1-Pass.&lt;br /&gt;
&lt;br /&gt;
'''1-Pass''' is a demosaicing method for cameras with X-Trans sensors (Fuji). It is faster than the 3-Pass method though a bit inferior in quality, though this difference is only visible in low ISO shots, so if speed is an issue you can use this method on high ISO shots with no visual difference in quality.&lt;br /&gt;
&lt;br /&gt;
=== False Color Suppression Steps ===&lt;br /&gt;
Sets the number of median filter passes applied to suppress demosaicing artifacts when applying the demosaicing algorithm. False colors (speckles) could be introduced during the demosaicing phase where very fine detail is resolved. False color suppression is similar to color smoothing. The luminance channel is not affected by this suppression.&lt;br /&gt;
&lt;br /&gt;
False colors are generally more apparent in images from cameras without anti-aliasing filters. Note that it is foremost the chosen demosaicing algorithm which is the deciding factor in how prominent will be the false color problem with which you will have to deal. In some situations it may be better to change the demosaicing algorithm than to enable false color suppression, as the latter reduces color resolution.&lt;br /&gt;
&lt;br /&gt;
=== How to Find the Best Demosaicing Method ===&lt;br /&gt;
[[image:demosaicing_city1_example_bad.jpg|thumb|A good image to test the demosaicing algorithms on. Zoomed in to 800%, you can clearly see that VNG4 is not a good choice for this Pentax K10D raw file, as there are dots where there should be none, and the detail of the wall’s brickwork (the orange part on the right) is all washed out.]]&lt;br /&gt;
Zoom in to at least 100% (1:1) and try all the demosaicing algorithms, see which works best for you. Try them on sharp photos with fine detail and tiny patterns, such as the wavy and repetitive fabric of a sweater (watch for maze pattern artifacts), a distant brick wall, a distant round road sign (watch for aliasing along the round edges), and test with both low and high ISO shots. Use photos from your own camera; what's best for Nikon raw images may not be what's best for Olympus ones.&lt;br /&gt;
&lt;br /&gt;
=== Monochrome Cameras ===&lt;br /&gt;
A monochrome camera has the same light filter in front of all pixels, that is you get a black-and-white image and no demosaicing is required. Some of these cameras have no infrared filter and are thus sensitive to infrared light, which can be used for creative black and white photography.&lt;br /&gt;
&lt;br /&gt;
RawTherapee supports monochrome cameras, but the user interface is not adapted for it so when you load a monochrome file all color tools will still be enabled (they won't do anything meaningful of course). You will have to live with that, monochrome cameras are rare so we won't put any major effort into making the user interface morph into reduced monochrome-only version.&lt;br /&gt;
&lt;br /&gt;
There are a few additional factors to consider when working with monochrome files: some monochrome cameras report that they have only a single monochrome channel and a neutral color matrix, like Leica M Monochrom, while others report RGB channels in a bayer configuration (like Phase One IQ260 Achromatic, or IR-modified cameras). If the camera reports only one channel, RawTherapee recognizes this and won't perform any demosaicing (the demosaicer selection is still enabled but does not do anything), and everything works normally. However, if the camera reports as an RGB bayer camera, demosaicing will be performed and a color matrix will be applied. To disable this, you should select the &amp;quot;Mono&amp;quot; demosaicing option, and select &amp;quot;No profile&amp;quot; as [[Color_Management#Input_Profile|input profile]] in the Color Management panel.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Sharpening&amp;diff=4369</id>
		<title>Sharpening</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Sharpening&amp;diff=4369"/>
		<updated>2018-11-29T18:34:06Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Unsharp Mask */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{1:1}}&lt;br /&gt;
&lt;br /&gt;
{{Sharpening_gallery}}&lt;br /&gt;
&lt;br /&gt;
This article describes the tool called &amp;quot;Sharpening&amp;quot;, however RawTherapee contains other tools which can be used to perform various types of sharpening - see [[Edges and Microcontrast]] and the [[Wavelets]] tools.&lt;br /&gt;
&lt;br /&gt;
The Sharpening tool is applied to the full image, '''before''' the [[Resize]] tool. If you would like to apply sharpening '''after''' resizing, use the [[Resize#Post-Resize Sharpening|Post-Resize Sharpening]] tool which you will find inside the Resize tool.&lt;br /&gt;
&lt;br /&gt;
== Unsharp Mask ==&lt;br /&gt;
[https://en.wikipedia.org/wiki/Unsharp_mask Unsharp masking] (USM) is a technique used to increase the apparent [https://en.wikipedia.org/wiki/Acutance acutance] (edge contrast) of an image, making it appear clearer, even though it technically does not really sharpen the image. It makes use of several phenomena of the human visual system in order to accomplish this effect, such as the [https://en.wikipedia.org/wiki/Cornsweet_illusion Cornsweet illusion] and [https://en.wikipedia.org/wiki/Mach_bands Mach bands]. Though unsharp masking in other software is easily prone to causing [https://en.wikipedia.org/wiki/Haloing halos], RawTherapee has a unique threshold slider which allows you to achieve a superb sharpening effect without a minimal risk of halos.&lt;br /&gt;
=== Radius ===&lt;br /&gt;
The Radius determines the size of the details being amplified and, consequently, relates to the width of the sharpening halo. In general the quality of sharpening is best if the sharpening radius is smaller. For low ISO images that are in focus and without motion blur a value of 0.5-0.7 is satisfactory.&lt;br /&gt;
&lt;br /&gt;
=== Amount ===&lt;br /&gt;
The ''Amount'' parameter controls the strength of the sharpening.&lt;br /&gt;
&lt;br /&gt;
=== Threshold ===&lt;br /&gt;
[[image:Usm_threshold.png]] The ''Threshold'' tool helps to suppress noise amplification and haloing and to confine sharpening to a desired tonal range. The Threshold tool allows one to create a curve via which the sharpening is applied. The vertical axis corresponds to opacity: 0% at the bottom (transparent, sharpening not visible), 100% at the top (opaque, sharpening visible). The horizontal axis corresponds to luminosity: select the tonal range that will get sharpened - the darkest tones are on the left, progressing to white tones on the right. As mentioned in the tooltip, to move each of the points in the threshold tool individually, hold the Shift key before clicking on a point with your mouse. Holding the Ctrl key while moving a point with the mouse allows for very fine movements.&lt;br /&gt;
&lt;br /&gt;
When moving the right pair of sliders to the left side, sharpening is reduced in the highlights. When moving the left pair of sliders to the right side, sharpening is reduced in the shadows and minimizes amplification of dark noise.&lt;br /&gt;
&lt;br /&gt;
The default threshold values will protect from over-sharpening and haloing in most cases and limit the sharpening effect to mid-tones. In the example screenshot, the blackest tones have no USM applied, then USM is applied to a broad range of tones from dark to light, and the strength of USM gradually drops off from maximal at the mid-tones to none at the whitest tones, so as to prevent noise amplification and haloing.&lt;br /&gt;
&lt;br /&gt;
=== Sharpen Only Edges ===&lt;br /&gt;
If you activate &amp;quot;''Sharpen only edges''&amp;quot; then uniform areas will not be sharpened. This is useful when sharpening noisy photos.&lt;br /&gt;
&lt;br /&gt;
Two new sliders appear as well:&lt;br /&gt;
==== Radius ====&lt;br /&gt;
The ''Radius'' is used for noise detection. If the noise is low, a lower radius can be used, and vice-versa.&lt;br /&gt;
A higher radius slows down the image processing.&lt;br /&gt;
&lt;br /&gt;
==== Edge Tolerance ====&lt;br /&gt;
''Edge Tolerance'' determines how much a pixel has to differ from its neighbor to be considered as an edge and not as noise. It is very similar to the USM ''Threshold'' parameter and has a high impact on the visual quality. For low ISO (low noise) images use 1000 or less, for high ISO images use 2500-3000 or even more.&lt;br /&gt;
&lt;br /&gt;
=== Halo Control ===&lt;br /&gt;
''Halo Control'' is used to avoid halo effects around light objects when sharpening too aggressively. When activated, a new slider appears:&lt;br /&gt;
&lt;br /&gt;
==== Amount ====&lt;br /&gt;
At 100 it works at maximum, reducing the visual impact of the USM filter.&lt;br /&gt;
&lt;br /&gt;
== RL Deconvolution ==&lt;br /&gt;
[https://en.wikipedia.org/wiki/Richardson%E2%80%93Lucy_deconvolution RL deconvolution] is named after the makers of this algorithm, Richardson and Lucy. It uses the [https://en.wikipedia.org/wiki/Point_spread_function point spread function] (PSF) to deconvolve (reverse) the effects of Gaussian-like blur. In reality, the blur produced by the lens and by motion may differ from Gaussian blur significantly, therefore some artifacts, such as halos, may appear when the radius diverges too far from the type of blur in the actual image, and when then effect is too strong.&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
The radius defines the [https://en.wikipedia.org/wiki/Standard_deviation standard deviation] (sigma) of the [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] in the image. Find the right value through trial and error.&lt;br /&gt;
&lt;br /&gt;
=== Amount ===&lt;br /&gt;
Controls the blend factor between the unsharpened image and the sharpened one.&lt;br /&gt;
&lt;br /&gt;
=== Damping ===&lt;br /&gt;
Damping reduces the effect of the deconvolution at each iteration. It has the effect of preventing sharpening of the finest details. Use it if the sharpened image has too much &amp;quot;bite&amp;quot; at the finest level.&lt;br /&gt;
&lt;br /&gt;
=== Iterations ===&lt;br /&gt;
RL Deconvolution is an iterative algorithm; it requires being repeated in order to achieve the intended results. Each repetition of the process is called an &amp;quot;iteration&amp;quot;, and the result of one iteration is used as the starting point of the next iteration. While each iteration removes blur, it also increases processing time and the likelihood that halo artifacts will appear, so you need to find the perfect balance through trial and error - the default value should be fine for most cases.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Chromatic_Aberration&amp;diff=4072</id>
		<title>Chromatic Aberration</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Chromatic_Aberration&amp;diff=4072"/>
		<updated>2018-09-23T23:52:45Z</updated>

		<summary type="html">&lt;p&gt;Ingo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:chromatic_aberration_auto1.jpg|900px|thumb|400% zoom showing correction of CA.]]&lt;br /&gt;
[[Image:chromatic_aberration_auto2.jpg|900px|thumb|CA easily visible even at 100% corrected.]]&lt;br /&gt;
This &amp;quot;Chromatic Aberration&amp;quot; tool works on the image '''before''' demosaicing, that's why it's located in the ''Raw'' tab. The [[Lens/Geometry#Chromatic_Aberration_Correction | Chromatic Aberration Correction]] tool in the ''Transform'' tab works on the image '''after''' demosaicing.&lt;br /&gt;
&lt;br /&gt;
Chromatic aberration correction on the raw level is currently only supported for raw files from cameras with a [https://en.wikipedia.org/wiki/Bayer_filter Bayer filter]. If you need to remove chromatic aberration from raw photos from X-Trans sensor cameras (Fuji), then use the [[Lens/Geometry#Chromatic_Aberration_Correction | Chromatic Aberration Correction]] tool in the ''Transform'' tab.&lt;br /&gt;
&lt;br /&gt;
Chromatic aberration can be corrected by using the &amp;quot;Red&amp;quot; and &amp;quot;Blue&amp;quot; sliders. Normally you won't see any chromatic aberration in the fit-to-screen preview, therefore it is highly recommended to open a detail window [[image:New-detail-window.png]] or to zoom the main preview in to 100% [[image:Gtk-zoom-100.png]] or more when you attempt this kind of correction.&lt;br /&gt;
&lt;br /&gt;
This tools corrects bluish-green and magenta fringes due to lens lateral chromatic aberration that show mainly in the borders of the image. This correction is performed before demosaicing and can sometimes improve the quality of demosaicing.&lt;br /&gt;
&lt;br /&gt;
== Auto-Correction ==&lt;br /&gt;
If &amp;quot;Auto-correction&amp;quot; is checked, the &amp;quot;Red&amp;quot;/&amp;quot;Blue&amp;quot; sliders are disabled and an automated detection and correction of chromatic aberration is performed. Where manual correction applies a constant value across the image, auto-correction divides the image into many blocks and tailors the values required to eliminate chromatic aberration to each block. For this reason auto-correction usually performs better than manual correction, and the auto-correction values cannot be displayed in the sliders.&lt;br /&gt;
&lt;br /&gt;
== Iterations ==&lt;br /&gt;
This setting is available if &amp;quot;Auto-Correct&amp;quot; is checked. Auto-Correction is conservative, means it often does not correct all Chromatic Abberation. To correct the remaining Chromatic Aberration, from RT 5.5 on you can use up to 5 iterations of automatic Chromatic Aberration correction. Each iteration will reduce the remaing Chromatic Aberration from the last iteration at the cost of additional processing time.&lt;br /&gt;
&lt;br /&gt;
== Red/Blue ==&lt;br /&gt;
If the &amp;quot;Red&amp;quot;/&amp;quot;Blue&amp;quot; sliders are non-zero the given values are used to correct chromatic aberration. They cannot be used at the same time as &amp;quot;Auto-correction&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Chromatic_Aberration&amp;diff=4071</id>
		<title>Chromatic Aberration</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Chromatic_Aberration&amp;diff=4071"/>
		<updated>2018-09-23T23:38:57Z</updated>

		<summary type="html">&lt;p&gt;Ingo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:chromatic_aberration_auto1.jpg|900px|thumb|400% zoom showing correction of CA.]]&lt;br /&gt;
[[Image:chromatic_aberration_auto2.jpg|900px|thumb|CA easily visible even at 100% corrected.]]&lt;br /&gt;
This &amp;quot;Chromatic Aberration&amp;quot; tool works on the image '''before''' demosaicing, that's why it's located in the ''Raw'' tab. The [[Lens/Geometry#Chromatic_Aberration_Correction | Chromatic Aberration Correction]] tool in the ''Transform'' tab works on the image '''after''' demosaicing.&lt;br /&gt;
&lt;br /&gt;
Chromatic aberration correction on the raw level is currently only supported for raw files from cameras with a [https://en.wikipedia.org/wiki/Bayer_filter Bayer filter]. If you need to remove chromatic aberration from raw photos from X-Trans sensor cameras (Fuji), then use the [[Lens/Geometry#Chromatic_Aberration_Correction | Chromatic Aberration Correction]] tool in the ''Transform'' tab.&lt;br /&gt;
&lt;br /&gt;
Chromatic aberration can be corrected by using the &amp;quot;Red&amp;quot; and &amp;quot;Blue&amp;quot; sliders. Normally you won't see any chromatic aberration in the fit-to-screen preview, therefore it is highly recommended to open a detail window [[image:New-detail-window.png]] or to zoom the main preview in to 100% [[image:Gtk-zoom-100.png]] or more when you attempt this kind of correction.&lt;br /&gt;
&lt;br /&gt;
This tools corrects bluish-green and magenta fringes due to lens lateral chromatic aberration that show mainly in the borders of the image. This correction is performed before demosaicing and can sometimes improve the quality of demosaicing.&lt;br /&gt;
&lt;br /&gt;
== Auto-Correction ==&lt;br /&gt;
If &amp;quot;Auto-correction&amp;quot; is checked, the &amp;quot;Red&amp;quot;/&amp;quot;Blue&amp;quot; sliders are disabled and an automated detection and correction of chromatic aberration is performed. Where manual correction applies a constant value across the image, auto-correction divides the image into many blocks and tailors the values required to eliminate chromatic aberration to each block. For this reason auto-correction usually performs better than manual correction, and the auto-correction values cannot be displayed in the sliders.&lt;br /&gt;
&lt;br /&gt;
== Iterations ==&lt;br /&gt;
This setting is available if &amp;quot;Auto-Correct&amp;quot; is checked. Auto-Correction is conservative, means it often does not correct all CA. To correct the remaining CA, from RT 5.5 on you can use up to 5 iterations of CA-correction. Each iteration will reduce the remaing CA from the last iteration at the cost of additional processing time.&lt;br /&gt;
&lt;br /&gt;
== Red/Blue ==&lt;br /&gt;
If the &amp;quot;Red&amp;quot;/&amp;quot;Blue&amp;quot; sliders are non-zero the given values are used to correct chromatic aberration. They cannot be used at the same time as &amp;quot;Auto-correction&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=MacOS&amp;diff=2791</id>
		<title>MacOS</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=MacOS&amp;diff=2791"/>
		<updated>2017-09-16T18:55:40Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* MacPorts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details instructions for compiling RawTherapee on '''macOS''' systems. There are also separate pages with instructions for compiling on [[Linux]] and [[Windows]]. This guide details the '''what''' and '''how''' parts of compilation. For the '''why''' and explanations of these commands, for a list of dependencies, CMake options and other information, please refer to the detailed [[Linux]] article.&lt;br /&gt;
&lt;br /&gt;
When in doubt, [[IRC | join us on IRC]] and ask a human!&lt;br /&gt;
&lt;br /&gt;
For instructions on cloning the source, choosing branches, configuring CMake and doing the actual compilation, see these sections in the [[Linux]] guide. The information below is in addition to that.&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
See the list of dependencies in the [[Linux#Dependencies|Compiling in Linux]] article.&lt;br /&gt;
&lt;br /&gt;
=== MacPorts ===&lt;br /&gt;
Tested on OS X 10.9 and newer.&lt;br /&gt;
* '''Prerequisites:'''&lt;br /&gt;
** Apple's Xcode Developer Tools&lt;br /&gt;
** Apple's Command Line Tools&lt;br /&gt;
** MacPorts&lt;br /&gt;
*** Detailed instructions on setting up MacPorts and the developer tools are available on the MacPorts website.&lt;br /&gt;
*** The native system compiler provided by Apple is badly outdated and does not support OpenMP. Don't use it. Use the latest stable compiler from MacPorts - RawTherapee will run faster.&lt;br /&gt;
* '''Configure MacPorts:''' &lt;br /&gt;
: Add the following line to /opt/local/etc/macports/variants.conf&lt;br /&gt;
:: &amp;lt;code&amp;gt;+quartz -x11 -gnome&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Dependencies:'''&lt;br /&gt;
: To install the dependencies, run from the terminal:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo port install git clang-3.9 gtk3 gtkmm3 gtk-osx-application-gtk3 adwaita-icon-theme libsigcxx2 lcms2 libiptcdata fftw-3-single lensfun&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libiconv patch ===&lt;br /&gt;
libiconv.2.dylib must be patched, otherwise RawTherapee will crash on startup. The patch is available in [https://github.com/Beep6581/RawTherapee/blob/dev/tools/osx/libiconv_1.15_rt.patch `tools/osx/libiconv_1.15_rt.patch`]&lt;br /&gt;
&lt;br /&gt;
libiconv patching and compilation instructions:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz&lt;br /&gt;
tar xf libiconv-1.15.tar.gz&lt;br /&gt;
cd libiconv-1.15&lt;br /&gt;
wget https://raw.githubusercontent.com/Beep6581/RawTherapee/dev/tools/osx/libiconv_1.15_rt.patch&lt;br /&gt;
patch -p1 &amp;lt; libiconv_1.15_rt.patch&lt;br /&gt;
mkdir build&lt;br /&gt;
cd build&lt;br /&gt;
buildDir=&amp;quot;$(pwd)&amp;quot;&lt;br /&gt;
../configure --prefix=/opt/local --disable-static 'CFLAGS=-arch x86_64 -mmacosx-version-min=10.9' 'LDFLAGS=-arch x86_64 -mmacosx-version-min=10.9' CXXFLAGS=&amp;quot;-arch x86_64 -mmacosx-version-min=10.9&amp;quot;&lt;br /&gt;
make&lt;br /&gt;
make DESTDIR=&amp;quot;$buildDir&amp;quot; install&lt;br /&gt;
cd /opt/local/lib&lt;br /&gt;
sudo cp ./libiconv.2.dylib ./libiconv.2.dylib.backup # backup MacPorts dylib&lt;br /&gt;
sudo cp &amp;quot;${buildDir}/opt/local/lib/libiconv.2.dylib&amp;quot; /opt/local/lib/libiconv.2.dylib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling ==&lt;br /&gt;
See the [[Linux#Compiling:_The_Manual_Way|Compiling in Linux]] article for instructions on how to '''clone''' the source code, choose a '''branch''' and how to configure '''CMake'''. Ignore the &amp;quot;Now you are ready to compile&amp;quot; code on that page and follow the code on this page.&lt;br /&gt;
&lt;br /&gt;
If you want to upload a build or otherwise share it with others, you must use&lt;br /&gt;
: &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
and set the processor label manually by setting&lt;br /&gt;
: &amp;lt;code&amp;gt;-DPROC_LABEL=&amp;quot;generic processor&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to compile for yourself only, then use&lt;br /&gt;
: &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
and then the processor label would be irrelevant, you could skip it.&lt;br /&gt;
&lt;br /&gt;
=== Compile RawTherapee ===&lt;br /&gt;
Now you are ready to compile:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
rm -rf build&lt;br /&gt;
mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; \&lt;br /&gt;
      -DPROC_TARGET_NUMBER=&amp;quot;1&amp;quot; \&lt;br /&gt;
      -DPROC_LABEL=&amp;quot;generic processor&amp;quot; \&lt;br /&gt;
      -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; \&lt;br /&gt;
      -DCMAKE_C_COMPILER=&amp;quot;clang-mp-3.9&amp;quot; \&lt;br /&gt;
      -DCMAKE_CXX_COMPILER=&amp;quot;clang++-mp-3.9&amp;quot; \&lt;br /&gt;
      -DWITH_LTO=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
      ..&lt;br /&gt;
make -j4 install&lt;br /&gt;
make macosx_bundle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run and Share RawTherapee ===&lt;br /&gt;
You will find a disk image in the build directory; this is the distribution release and can be run on any machine which meets the architecture requirements you specified in variants.conf earlier.&lt;br /&gt;
&lt;br /&gt;
To provide the RawTherapee project with your build, please zip the .dmg and AboutThisBuild.txt files together. Name the zip file according to this template:&lt;br /&gt;
: RawTherapee_OSX_'''&amp;lt;minimum supported macOS version&amp;gt;'''_64_'''&amp;lt;RawTherapee version&amp;gt;'''.zip&lt;br /&gt;
for example if your build is made for macOS 10.12 and the version of RawTherapee is 5.2-dev-g1a2b3c4d, name it:&lt;br /&gt;
: RawTherapee_OSX_10.12_64_5.2-dev-g1a2b3c4d.zip&lt;br /&gt;
Upload the zip archive to http://filebin.net/ and [https://github.com/Beep6581/RawTherapee/issues/new open a new issue on our GitHub page] with the link so that we can upload it to the website.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Linux&amp;diff=2748</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Linux&amp;diff=2748"/>
		<updated>2017-09-14T23:26:22Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Ubuntu 16.10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details instructions for compiling RawTherapee on '''GNU/Linux''' systems. There are also instructions for compiling on [[Windows]] and [[OS X]].&lt;br /&gt;
&lt;br /&gt;
When in doubt, [[IRC | join us on IRC]] and ask a human!&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
To compile RawTherapee your system will need a set of tools. They are called dependencies, and here is a list of dependencies for both GTK2 and GTK3 versions of RawTherapee:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Build-time dependencies for RawTherapee 4 and 5.0.&lt;br /&gt;
! GTK+       !! Package      !! Version            !! Gentoo                 !! Debian/Ubuntu        !! URL&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || BZIP2        || bzip2&amp;gt;-1.0.4       || app-arch/bzip2         || libbz2-dev           || http://www.bzip.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || EXIV2        || exiv2&amp;gt;=0.19        || media-gfx/exiv2        || libexiv2-dev         || http://www.exiv2.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || EXPAT        || expat&amp;gt;=2.1.0       || dev-libs/expat         || libexpat-dev         || http://expat.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || FFTW3        || fftw&amp;gt;=3.2.2        || sci-libs/fftw          || fftw-dev             || http://fftw.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GCC          || gcc&amp;gt;=4.9           || sys-devel/gcc          || build-essential      || http://gcc.gnu.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GLIB2        || glib-2.0&amp;gt;=2.24     || dev-libs/glib          || libglib2.0-dev       || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GLIBMM       || glibmm-2.4&amp;gt;=2.24   || dev-cpp/glibmm         || libglibmm-2.4-dev    || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTK+         || gtk+-2.0&amp;gt;=2.24.18  || x11-libs/gtk+          || libgtk2.0-dev        || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
|       GTK3 || GTK+         || gtk+-3.16          || x11-libs/gtk+          || libgtk-3-dev         || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTK2-Engines || gtk-engines-2.20.2 || x11-themes/gtk-engines || gtk2-engines         || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTKMM        || gtkmm-2.4&amp;gt;=2.22    || dev-cpp/gtkmm          || libgtkmm-2.4-dev     || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
|       GTK3 || GTKMM        || gtkmm-3.16         || dev-cpp/gtkmm          || libgtkmm-3.0-dev     || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || JPEG         || libjpeg&amp;gt;=6b        || media-libs/jpeg        || libjpeg-dev          || http://libjpeg-turbo.virtualgl.org/ http://jpegclub.org/ http://www.ijg.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LCMS2        || lcms&amp;gt;=2.6          || media-libs/lcms        || liblcms2-dev         || http://www.littlecms.com/&lt;br /&gt;
|-&lt;br /&gt;
| GTK3       || LENSFUN      || lensfun&amp;gt;=0.2       || ??                     || liblensfun-dev       || http://lensfun.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LIBCANBERRA  || libcanberra&amp;gt;=0.29  || media-libs/libcanberra || libcanberra-gtk3-dev || http://0pointer.de/lennart/projects/libcanberra/ (Linux only)&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LIBIPTCDATA  || libiptcdata&amp;gt;=1.0.2 || media-libs/libiptcdata || libiptcdata-dev      || http://libiptcdata.sourceforge.net&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || PNG          || libpng&amp;gt;=1.2.44     || media-libs/libpng      || libpng-dev           || http://www.libpng.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || SIGC         || sigc++-2.0         || dev-libs/libsigc++     || libsigc++-2.0-dev    || http://libsigc.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || TIFF         || libtiff&amp;gt;=3.9.4     || media-libs/tiff        || libtiff-dev          || http://www.remotesensing.org/libtiff/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || ZLIB         || zlib&amp;gt;=1.2.3        || sys-libs/zlib          || zlib1g-dev           || http://www.zlib.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To compile the outdated RawTherapee 3 you will need these:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Build-time dependencies for RawTherapee 3&lt;br /&gt;
! Package  !! Version    !! Gentoo          !! Debian/Ubuntu   !! URL&lt;br /&gt;
|-&lt;br /&gt;
| LCMS1    || lcms&amp;lt;=1.99 || media-libs/lcms || liblcms1-dev    || http://www.littlecms.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In order to install all these dependencies, you will need to open a console and paste the code from the appropriate section into the console. Note that these code snippets include the GTK3 dependencies if available, so if you want to compile the legacy &amp;quot;gtk2&amp;quot; branch which uses GTK2 then replace the GTK3 dependencies with GTK2 ones as described in the list above.&lt;br /&gt;
&lt;br /&gt;
=== Arch ===&lt;br /&gt;
The latest Arch supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo pacman -S bzip2 exiv2 expat fftw glib2 glibmm gtk3 gtkmm3 lcms2 lensfun libcanberra libiptcdata libjpeg-turbo libpng libsigc++ libtiff zlib&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CentOS 7.1 ===&lt;br /&gt;
CentOS 7.1 does not support a recent enough version of GTK3, so you can only compile the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
As CentOS 7.1 does not seem to have the Clearlooks GTK2 theme engine, you will either need to install some other GTK2 theme engine, or after installing RawTherapee go to &amp;quot;Preferences &amp;gt; General &amp;gt; Default Theme&amp;quot; and enable &amp;quot;Use system theme&amp;quot;.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo yum install bzip2-devel cmake curl exiv2-devel expat-devel fftw-devel gcc-c++ git glibmm24-devel gtk2-devel gtkmm24-devel lcms2-devel libjpeg-turbo-devel libcanberra-devel libiptcdata-devel libpng-devel libtiff-devel sigc++20-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
Fedora supports GTK3 from version 22, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
If you are using Fedora version 21 or older, use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo dnf install bzip2-devel cmake exiv2-devel expat-devel fftw-devel gcc-c++ glib2-devel glibmm24-devel gtk3-devel gtkmm30-devel lcms2-devel lensfun-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel libsigc++20-devel libtiff-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
Gentoo supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo emerge -uva app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
openSUSE 42.2 and Tumbleweed support GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
Note: openSUSE 42.1 supports GTK+ 3.16.7 but compilation fails as the sigc++-2.0&amp;gt;=2.4 requirement is not met.&lt;br /&gt;
If you are using openSUSE version 42.1 or older, use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo zypper in cmake fftw3-devel gcc-c++ glib2-devel glibmm2-devel gtk3-devel gtkmm3-devel libbz2-devel libcanberra-devel libexpat-devel libiptcdata-devel libjpeg-devel liblcms2-devel libpng-devel libsigc++2-devel libtiff-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sabayon ===&lt;br /&gt;
Sabayon supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo equo install app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat dev-util/cmake media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
Ubuntu as of version 15.10 (Wily Werewolf) supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
Older versions of Ubuntu either do not support GTK3 at all, or the version of GTK3 they ship is not recent enough (RawTherapee GTK3 support requires GTK3 version 3.16 or newer), meaning you must use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch which uses GTK2.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 17.04 and 16.10 ====&lt;br /&gt;
Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt update&lt;br /&gt;
sudo apt install build-essential cmake curl git libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg-dev liblcms2-dev liblensfun-dev libpng-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 16.04 LTS and 15.10 ====&lt;br /&gt;
Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev liblensfun-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 15.04, 14.10, 14.04 LTS ====&lt;br /&gt;
Use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch. The dependencies below are only for the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee requires GCC version 4.9 or higher. Ubuntu 14.04 LTS ships with GCC version 4.8.2 which is too old - to get 4.9, follow these steps: http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 13.10, 13.04, 12.10, 12.04 LTS, 11.10 ====&lt;br /&gt;
These versions of Ubuntu are badly outdated. The code below used to work but it may stop working at any moment. Upgrade your operating system.&lt;br /&gt;
&lt;br /&gt;
As these versions of Ubuntu only support GCC-4.8.1 and older, the latest commit you will be able to compile is [https://github.com/Beep6581/RawTherapee/commit/b343b9a7 commit b343b9a7] from 2015-12-29 - newer versions will not compile.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.10 and 11.04 ====&lt;br /&gt;
These versions of Ubuntu are badly outdated. The code below used to work but it may stop working at any moment. Upgrade your operating system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-add-repository ppa:dasprid/rawtherapee&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg62 liblcms2-dev libnm-glib2 libpng12-dev libsigc++-2.0-dev libtiff4-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Two ways to continue ===&lt;br /&gt;
There are two ways you can now continue: either use the automated script as described in [[Linux#Compiling:_The_Automatic_Way | Compiling: The Automatic Way]], designed to make your life easier or your money back guaranteed, or if you have no better way to spend the rest of your evening then do it manually, as described in [[Linux#Compiling:_The_Manual_Way | Compiling: The Manual Way]].&lt;br /&gt;
&lt;br /&gt;
== Compiling: The Automatic Way ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;The buildRT script is currently outdated and won't work with Git. We are working on a new one. In the meanwhile, ignore the rest of this section and skip to the manual method. - 2015-11-22&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GET THE AUTOMATIC SCRIPT HERE:''' http://rawtherapee.googlecode.com/hg/tools/buildRT&lt;br /&gt;
&lt;br /&gt;
This is a Bash script to automatically clone the RawTherapee source code repository, present the user with a list of available branches (e.g. &amp;quot;default&amp;quot;) and build types (&amp;quot;release&amp;quot; and &amp;quot;debug&amp;quot;), and then to automatically compile the chosen branches and build types and create a ZIP archive of every finished build. The compiled builds are ready to be used. buildRT does '''not''' check for build-time dependencies, so be sure to read the [[Linux#Dependencies | Dependencies]] section before using this script.&lt;br /&gt;
&lt;br /&gt;
Run it as a normal user, not as root!&lt;br /&gt;
&lt;br /&gt;
Open a terminal, get the script, make it executable, and run it:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~&lt;br /&gt;
wget http://rawtherapee.googlecode.com/hg/tools/buildRT&lt;br /&gt;
chmod +x ~/buildRT&lt;br /&gt;
./buildRT&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most people will want to compile the &amp;quot;default&amp;quot; branch, using the &amp;quot;release&amp;quot; build type, or the &amp;quot;debug&amp;quot; build type if you want to have RawTherapee spit out more errors which are useful in debugging, at the cost of running more slowly.&lt;br /&gt;
&lt;br /&gt;
Pay attention to what the script says, it will tell you exactly where your compiled Rawtherapee is, and how to run it. That's it, you are done!&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;./buildRT -h&amp;lt;/code&amp;gt; to see a list and description of all the options which buildRT supports.&lt;br /&gt;
&lt;br /&gt;
buildRT's version number and date are written in the header (the first few lines). It is updated every two months on average, so check for a newer version about once every two months. Also be sure to check for a newer version if compilation fails, as the newer version is likely to address the issue. You can check for a newer version by running &amp;lt;code&amp;gt;./buildRT -u&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Compiling: The Manual Way ==&lt;br /&gt;
This section describes compiling RawTherapee manually&amp;lt;!-- - i.e. not using the automated script above--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Clone the source ===&lt;br /&gt;
First, you need to clone RawTherapee's source code repository. Bring up your console and run this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git clone https://github.com/Beep6581/RawTherapee ~/repo-rt&lt;br /&gt;
cd ~/repo-rt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Choose a branch ===&lt;br /&gt;
* Features are developed on their own feature branches.&lt;br /&gt;
* Development happens on the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. Feature branches are merged into the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch when they're ready. The &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch is unstable.&lt;br /&gt;
* Releases are tagged on the &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&lt;br /&gt;
Checkout the latest tag if you want the most stable code. To see all available tags, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git tag&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checkout the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch or some other feature branch if you want to test the latest bleeding-edge code. To see all available branches, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git branch -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking out is done via the &amp;quot;git checkout&amp;quot; command. To checkout a tag or a branch, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git checkout &amp;lt;tag or branch&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee uses GTK+ for the user interface and requires GTK+ version 3.16 or newer. If your system does not support version 3.16 or newer then you must checkout the &amp;lt;code&amp;gt;5.0-r1-gtk2&amp;lt;/code&amp;gt; tag. Our GTK2 support has officially ended on 2 February 2017 - update your system.&lt;br /&gt;
&lt;br /&gt;
Note: Compiling old versions of RawTherapee will fail on a modern system, as you will be missing the old dependencies.&lt;br /&gt;
&lt;br /&gt;
=== Compile RawTherapee ===&lt;br /&gt;
Now you will make an out-of-source compilation of RawTherapee, it will be built into the ~/repo-rt/build/release folder, and then you will move this folder to your home directory and rename it to &amp;quot;rt&amp;quot;, so make sure there is no ~/rt folder already!&lt;br /&gt;
&lt;br /&gt;
There are a few compilation settings you need to be aware of, you will pass these to CMake using the -D option as described below:&lt;br /&gt;
&lt;br /&gt;
; BUILD_TYPE&lt;br /&gt;
: You must specify the &amp;lt;code&amp;gt;BUILD_TYPE&amp;lt;/code&amp;gt; when building RawTherapee. You can set the &amp;lt;code&amp;gt;BUILD_TYPE&amp;lt;/code&amp;gt; value to &amp;quot;&amp;lt;code&amp;gt;debug&amp;lt;/code&amp;gt;&amp;quot;, &amp;quot;&amp;lt;code&amp;gt;relwithdebinfo&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt;&amp;quot;. The &amp;quot;debug&amp;quot; and &amp;quot;relwithdebinfo&amp;quot; builds will let you [[How_to_write_useful_bug_reports | get a useful stack-backtrace]] if RawTherapee crashes while running through GDB which you can then submit to us so we can find the problem and fix it. The &amp;quot;debug&amp;quot; build is the slowest but generates the most detailed information. The &amp;quot;relwithdebinfo&amp;quot; build is almost as fast as a &amp;quot;release&amp;quot; build and generates often sufficient information, though not as detiled as a &amp;quot;debug&amp;quot; build. The &amp;quot;release&amp;quot; build will not provide any useful information when it crashes, but does contain many speed optimizations resulting in a program that works many times faster than the &amp;quot;debug&amp;quot; version would. For normal use, make a &amp;quot;release&amp;quot; or &amp;quot;relwithdebinfo&amp;quot; build. If you find a reproducible bug, then make a &amp;quot;debug&amp;quot; build and send us a stack-backtrace (or fix it yourself and send us the patch!). Alternatively use a &amp;quot;relwithdebinfo&amp;quot; build, and hope that it's detailed enough.&lt;br /&gt;
:: To make a &amp;quot;release&amp;quot; type build, write: &amp;lt;code&amp;gt;-DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;quot;release&amp;quot; by &amp;quot;debug&amp;quot; or &amp;quot;relwithdebinfo&amp;quot; as needed.&lt;br /&gt;
&lt;br /&gt;
; USE_OLD_CXX_ABI&lt;br /&gt;
: When compiling a program, one must use the same conventions as those used by the libraries which that program relies upon, otherwise compilation (linking) will fail. Generally one does not need to concern oneself with this, but we are now at a time when GCC4 is being phased out by GCC5, each by default uses a convention incompatible with the other, and so this issue is relevant. If the libraries on your system have been compiled using GCC5, they probably use a standard called C++11. This means that your RawTherapee build must use the same standard, which is the case by default. However if despite using GCC5 your libraries were built using the older C++03 standard, then RawTherapee must be set to use the same, and this is when you would set &amp;quot;USE_OLD_CXX_ABI&amp;quot; to &amp;quot;ON&amp;quot;:&lt;br /&gt;
:: To enable USE_OLD_CXX_ABI, write: &amp;lt;code&amp;gt;-DUSE_OLD_CXX_ABI=&amp;quot;ON&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; CACHE_NAME_SUFFIX&lt;br /&gt;
: The CACHE_NAME_SUFFIX options dictates the suffix of the cache and config folder names the compiled RawTherapee build will use.&lt;br /&gt;
: See the [[File Paths]] article for a full explanation, or just use &amp;quot;5-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; PROC_TARGET_NUMBER&lt;br /&gt;
: The PROC_TARGET_NUMBER option sets which CPU type to optimize for. &amp;quot;2&amp;quot; is a safe choice because it means &amp;quot;native&amp;quot;, so the optimizations will be automatically detected for your CPU.&lt;br /&gt;
: For more info, see the file &amp;quot;ProcessorTargets.cmake&amp;quot; in the cloned repository.&lt;br /&gt;
:: To make a build using &amp;quot;native&amp;quot; optimizations, write: &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; LENSFUNDBDIR&lt;br /&gt;
: The LENSFUNDBDIR option permits to locate the lensfun data base in the specified directory i.e. &amp;lt;code&amp;gt;.\share\lensfun&amp;lt;/code&amp;gt;`&lt;br /&gt;
&lt;br /&gt;
Finally, you need to find out how many threads your CPU supports. This will make compilation faster but it will have no effect on the speed of running RawTherapee.&lt;br /&gt;
; Threads&lt;br /&gt;
: To find out how many threads your CPU supports, run:&lt;br /&gt;
: &amp;lt;code&amp;gt;grep -c processor /proc/cpuinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
: Then replace the number in &amp;quot;-j8&amp;quot; below with this number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you are ready to compile:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
rm -rf build&lt;br /&gt;
mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; \&lt;br /&gt;
      -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; \&lt;br /&gt;
      -DBUILD_BUNDLE=&amp;quot;ON&amp;quot; \&lt;br /&gt;
      -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; \&lt;br /&gt;
      -DWITH_LTO=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
      ..&lt;br /&gt;
make -j4 install&lt;br /&gt;
mv release ~/rt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run RawTherapee ===&lt;br /&gt;
To run RawTherapee:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;~/rt/rawtherapee&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The source code repository is in &amp;lt;code&amp;gt;~/repo-rt&amp;lt;/code&amp;gt; and the compiled program is in &amp;lt;code&amp;gt;~/rt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely delete &amp;lt;code&amp;gt;~/repo-rt&amp;lt;/code&amp;gt; if you so wish. The compiled program will still work, but then you will have to redo all the above steps if you want to update. Rather, leave the repository intact so that you can do the next step in a week or a month's time.&lt;br /&gt;
&lt;br /&gt;
=== Update RawTherapee ===&lt;br /&gt;
Every time you want to update your RawTherapee to the latest code available, just do the following:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
git pull&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then repeat the [[Linux#Compile RawTherapee | Compile RawTherapee]] step above.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Linux&amp;diff=2744</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Linux&amp;diff=2744"/>
		<updated>2017-09-14T14:37:12Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Compile RawTherapee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details instructions for compiling RawTherapee on '''GNU/Linux''' systems. There are also instructions for compiling on [[Windows]] and [[OS X]].&lt;br /&gt;
&lt;br /&gt;
When in doubt, [[IRC | join us on IRC]] and ask a human!&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
To compile RawTherapee your system will need a set of tools. They are called dependencies, and here is a list of dependencies for both GTK2 and GTK3 versions of RawTherapee:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Build-time dependencies for RawTherapee 4 and 5.0.&lt;br /&gt;
! GTK+       !! Package      !! Version            !! Gentoo                 !! Debian/Ubuntu        !! URL&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || BZIP2        || bzip2&amp;gt;-1.0.4       || app-arch/bzip2         || libbz2-dev           || http://www.bzip.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || EXIV2        || exiv2&amp;gt;=0.19        || media-gfx/exiv2        || libexiv2-dev         || http://www.exiv2.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || EXPAT        || expat&amp;gt;=2.1.0       || dev-libs/expat         || libexpat-dev         || http://expat.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || FFTW3        || fftw&amp;gt;=3.2.2        || sci-libs/fftw          || fftw-dev             || http://fftw.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GCC          || gcc&amp;gt;=4.9           || sys-devel/gcc          || build-essential      || http://gcc.gnu.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GLIB2        || glib-2.0&amp;gt;=2.24     || dev-libs/glib          || libglib2.0-dev       || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GLIBMM       || glibmm-2.4&amp;gt;=2.24   || dev-cpp/glibmm         || libglibmm-2.4-dev    || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTK+         || gtk+-2.0&amp;gt;=2.24.18  || x11-libs/gtk+          || libgtk2.0-dev        || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
|       GTK3 || GTK+         || gtk+-3.16          || x11-libs/gtk+          || libgtk-3-dev         || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTK2-Engines || gtk-engines-2.20.2 || x11-themes/gtk-engines || gtk2-engines         || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTKMM        || gtkmm-2.4&amp;gt;=2.22    || dev-cpp/gtkmm          || libgtkmm-2.4-dev     || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
|       GTK3 || GTKMM        || gtkmm-3.16         || dev-cpp/gtkmm          || libgtkmm-3.0-dev     || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || JPEG         || libjpeg&amp;gt;=6b        || media-libs/jpeg        || libjpeg-dev          || http://libjpeg-turbo.virtualgl.org/ http://jpegclub.org/ http://www.ijg.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LCMS2        || lcms&amp;gt;=2.6          || media-libs/lcms        || liblcms2-dev         || http://www.littlecms.com/&lt;br /&gt;
|-&lt;br /&gt;
| GTK3       || LENSFUN      || lensfun&amp;gt;=0.2       || ??                     || liblensfun-dev       || http://lensfun.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LIBCANBERRA  || libcanberra&amp;gt;=0.29  || media-libs/libcanberra || libcanberra-gtk3-dev || http://0pointer.de/lennart/projects/libcanberra/ (Linux only)&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LIBIPTCDATA  || libiptcdata&amp;gt;=1.0.2 || media-libs/libiptcdata || libiptcdata-dev      || http://libiptcdata.sourceforge.net&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || PNG          || libpng&amp;gt;=1.2.44     || media-libs/libpng      || libpng-dev           || http://www.libpng.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || SIGC         || sigc++-2.0         || dev-libs/libsigc++     || libsigc++-2.0-dev    || http://libsigc.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || TIFF         || libtiff&amp;gt;=3.9.4     || media-libs/tiff        || libtiff-dev          || http://www.remotesensing.org/libtiff/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || ZLIB         || zlib&amp;gt;=1.2.3        || sys-libs/zlib          || zlib1g-dev           || http://www.zlib.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To compile the outdated RawTherapee 3 you will need these:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Build-time dependencies for RawTherapee 3&lt;br /&gt;
! Package  !! Version    !! Gentoo          !! Debian/Ubuntu   !! URL&lt;br /&gt;
|-&lt;br /&gt;
| LCMS1    || lcms&amp;lt;=1.99 || media-libs/lcms || liblcms1-dev    || http://www.littlecms.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In order to install all these dependencies, you will need to open a console and paste the code from the appropriate section into the console. Note that these code snippets include the GTK3 dependencies if available, so if you want to compile the legacy &amp;quot;gtk2&amp;quot; branch which uses GTK2 then replace the GTK3 dependencies with GTK2 ones as described in the list above.&lt;br /&gt;
&lt;br /&gt;
=== Arch ===&lt;br /&gt;
The latest Arch supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo pacman -S bzip2 exiv2 expat fftw glib2 glibmm gtk3 gtkmm3 lcms2 lensfun libcanberra libiptcdata libjpeg-turbo libpng libsigc++ libtiff zlib&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CentOS 7.1 ===&lt;br /&gt;
CentOS 7.1 does not support a recent enough version of GTK3, so you can only compile the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
As CentOS 7.1 does not seem to have the Clearlooks GTK2 theme engine, you will either need to install some other GTK2 theme engine, or after installing RawTherapee go to &amp;quot;Preferences &amp;gt; General &amp;gt; Default Theme&amp;quot; and enable &amp;quot;Use system theme&amp;quot;.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo yum install bzip2-devel cmake curl exiv2-devel expat-devel fftw-devel gcc-c++ git glibmm24-devel gtk2-devel gtkmm24-devel lcms2-devel libjpeg-turbo-devel libcanberra-devel libiptcdata-devel libpng-devel libtiff-devel sigc++20-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
Fedora supports GTK3 from version 22, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
If you are using Fedora version 21 or older, use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo dnf install bzip2-devel cmake exiv2-devel expat-devel fftw-devel gcc-c++ glib2-devel glibmm24-devel gtk3-devel gtkmm30-devel lcms2-devel lensfun-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel libsigc++20-devel libtiff-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
Gentoo supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo emerge -uva app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
openSUSE 42.2 and Tumbleweed support GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
Note: openSUSE 42.1 supports GTK+ 3.16.7 but compilation fails as the sigc++-2.0&amp;gt;=2.4 requirement is not met.&lt;br /&gt;
If you are using openSUSE version 42.1 or older, use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo zypper in cmake fftw3-devel gcc-c++ glib2-devel glibmm2-devel gtk3-devel gtkmm3-devel libbz2-devel libcanberra-devel libexpat-devel libiptcdata-devel libjpeg-devel liblcms2-devel libpng-devel libsigc++2-devel libtiff-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sabayon ===&lt;br /&gt;
Sabayon supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo equo install app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat dev-util/cmake media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
Ubuntu as of version 15.10 (Wily Werewolf) supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
Older versions of Ubuntu either do not support GTK3 at all, or the version of GTK3 they ship is not recent enough (RawTherapee GTK3 support requires GTK3 version 3.16 or newer), meaning you must use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch which uses GTK2.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 16.10 ====&lt;br /&gt;
Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt update&lt;br /&gt;
sudo apt install build-essential cmake curl git libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg-dev liblcms2-dev liblensfun-dev libpng-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 16.04 LTS and 15.10 ====&lt;br /&gt;
Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev liblensfun-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 15.04, 14.10, 14.04 LTS ====&lt;br /&gt;
Use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch. The dependencies below are only for the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee requires GCC version 4.9 or higher. Ubuntu 14.04 LTS ships with GCC version 4.8.2 which is too old - to get 4.9, follow these steps: http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 13.10, 13.04, 12.10, 12.04 LTS, 11.10 ====&lt;br /&gt;
These versions of Ubuntu are badly outdated. The code below used to work but it may stop working at any moment. Upgrade your operating system.&lt;br /&gt;
&lt;br /&gt;
As these versions of Ubuntu only support GCC-4.8.1 and older, the latest commit you will be able to compile is [https://github.com/Beep6581/RawTherapee/commit/b343b9a7 commit b343b9a7] from 2015-12-29 - newer versions will not compile.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.10 and 11.04 ====&lt;br /&gt;
These versions of Ubuntu are badly outdated. The code below used to work but it may stop working at any moment. Upgrade your operating system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-add-repository ppa:dasprid/rawtherapee&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg62 liblcms2-dev libnm-glib2 libpng12-dev libsigc++-2.0-dev libtiff4-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Two ways to continue ===&lt;br /&gt;
There are two ways you can now continue: either use the automated script as described in [[Linux#Compiling:_The_Automatic_Way | Compiling: The Automatic Way]], designed to make your life easier or your money back guaranteed, or if you have no better way to spend the rest of your evening then do it manually, as described in [[Linux#Compiling:_The_Manual_Way | Compiling: The Manual Way]].&lt;br /&gt;
&lt;br /&gt;
== Compiling: The Automatic Way ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;The buildRT script is currently outdated and won't work with Git. We are working on a new one. In the meanwhile, ignore the rest of this section and skip to the manual method. - 2015-11-22&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GET THE AUTOMATIC SCRIPT HERE:''' http://rawtherapee.googlecode.com/hg/tools/buildRT&lt;br /&gt;
&lt;br /&gt;
This is a Bash script to automatically clone the RawTherapee source code repository, present the user with a list of available branches (e.g. &amp;quot;default&amp;quot;) and build types (&amp;quot;release&amp;quot; and &amp;quot;debug&amp;quot;), and then to automatically compile the chosen branches and build types and create a ZIP archive of every finished build. The compiled builds are ready to be used. buildRT does '''not''' check for build-time dependencies, so be sure to read the [[Linux#Dependencies | Dependencies]] section before using this script.&lt;br /&gt;
&lt;br /&gt;
Run it as a normal user, not as root!&lt;br /&gt;
&lt;br /&gt;
Open a terminal, get the script, make it executable, and run it:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~&lt;br /&gt;
wget http://rawtherapee.googlecode.com/hg/tools/buildRT&lt;br /&gt;
chmod +x ~/buildRT&lt;br /&gt;
./buildRT&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most people will want to compile the &amp;quot;default&amp;quot; branch, using the &amp;quot;release&amp;quot; build type, or the &amp;quot;debug&amp;quot; build type if you want to have RawTherapee spit out more errors which are useful in debugging, at the cost of running more slowly.&lt;br /&gt;
&lt;br /&gt;
Pay attention to what the script says, it will tell you exactly where your compiled Rawtherapee is, and how to run it. That's it, you are done!&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;./buildRT -h&amp;lt;/code&amp;gt; to see a list and description of all the options which buildRT supports.&lt;br /&gt;
&lt;br /&gt;
buildRT's version number and date are written in the header (the first few lines). It is updated every two months on average, so check for a newer version about once every two months. Also be sure to check for a newer version if compilation fails, as the newer version is likely to address the issue. You can check for a newer version by running &amp;lt;code&amp;gt;./buildRT -u&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Compiling: The Manual Way ==&lt;br /&gt;
This section describes compiling RawTherapee manually&amp;lt;!-- - i.e. not using the automated script above--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Clone the source ===&lt;br /&gt;
First, you need to clone RawTherapee's source code repository. Bring up your console and run this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git clone https://github.com/Beep6581/RawTherapee ~/repo-rt&lt;br /&gt;
cd ~/repo-rt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Choose a branch ===&lt;br /&gt;
* Features are developed on their own feature branches.&lt;br /&gt;
* Development happens on the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. Feature branches are merged into the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch when they're ready. The &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch is unstable.&lt;br /&gt;
* Releases are tagged on the &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&lt;br /&gt;
Checkout the latest tag if you want the most stable code. To see all available tags, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git tag&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checkout the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch or some other feature branch if you want to test the latest bleeding-edge code. To see all available branches, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git branch -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking out is done via the &amp;quot;git checkout&amp;quot; command. To checkout a tag or a branch, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git checkout &amp;lt;tag or branch&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee uses GTK+ for the user interface and requires GTK+ version 3.16 or newer. If your system does not support version 3.16 or newer then you must checkout the &amp;lt;code&amp;gt;5.0-r1-gtk2&amp;lt;/code&amp;gt; tag. Our GTK2 support has officially ended on 2 February 2017 - update your system.&lt;br /&gt;
&lt;br /&gt;
Note: Compiling old versions of RawTherapee will fail on a modern system, as you will be missing the old dependencies.&lt;br /&gt;
&lt;br /&gt;
=== Compile RawTherapee ===&lt;br /&gt;
Now you will make an out-of-source compilation of RawTherapee, it will be built into the ~/repo-rt/build/release folder, and then you will move this folder to your home directory and rename it to &amp;quot;rt&amp;quot;, so make sure there is no ~/rt folder already!&lt;br /&gt;
&lt;br /&gt;
There are a few compilation settings you need to be aware of, you will pass these to CMake using the -D option as described below:&lt;br /&gt;
&lt;br /&gt;
; BUILD_TYPE&lt;br /&gt;
: You must specify the &amp;lt;code&amp;gt;BUILD_TYPE&amp;lt;/code&amp;gt; when building RawTherapee. You can set the &amp;lt;code&amp;gt;BUILD_TYPE&amp;lt;/code&amp;gt; value to &amp;quot;&amp;lt;code&amp;gt;debug&amp;lt;/code&amp;gt;&amp;quot;, &amp;quot;&amp;lt;code&amp;gt;relwithdebinfo&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt;&amp;quot;. The &amp;quot;debug&amp;quot; and &amp;quot;relwithdebinfo&amp;quot; builds will let you [[How_to_write_useful_bug_reports | get a useful stack-backtrace]] if RawTherapee crashes while running through GDB which you can then submit to us so we can find the problem and fix it. The &amp;quot;debug&amp;quot; build is the slowest but generates the most detailed information. The &amp;quot;relwithdebinfo&amp;quot; build is almost as fast as a &amp;quot;release&amp;quot; build and generates often sufficient information, though not as detiled as a &amp;quot;debug&amp;quot; build. The &amp;quot;release&amp;quot; build will not provide any useful information when it crashes, but does contain many speed optimizations resulting in a program that works many times faster than the &amp;quot;debug&amp;quot; version would. For normal use, make a &amp;quot;release&amp;quot; or &amp;quot;relwithdebinfo&amp;quot; build. If you find a reproducible bug, then make a &amp;quot;debug&amp;quot; build and send us a stack-backtrace (or fix it yourself and send us the patch!). Alternatively use a &amp;quot;relwithdebinfo&amp;quot; build, and hope that it's detailed enough.&lt;br /&gt;
:: To make a &amp;quot;release&amp;quot; type build, write: &amp;lt;code&amp;gt;-DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;quot;release&amp;quot; by &amp;quot;debug&amp;quot; or &amp;quot;relwithdebinfo&amp;quot; as needed.&lt;br /&gt;
&lt;br /&gt;
; USE_OLD_CXX_ABI&lt;br /&gt;
: When compiling a program, one must use the same conventions as those used by the libraries which that program relies upon, otherwise compilation (linking) will fail. Generally one does not need to concern oneself with this, but we are now at a time when GCC4 is being phased out by GCC5, each by default uses a convention incompatible with the other, and so this issue is relevant. If the libraries on your system have been compiled using GCC5, they probably use a standard called C++11. This means that your RawTherapee build must use the same standard, which is the case by default. However if despite using GCC5 your libraries were built using the older C++03 standard, then RawTherapee must be set to use the same, and this is when you would set &amp;quot;USE_OLD_CXX_ABI&amp;quot; to &amp;quot;ON&amp;quot;:&lt;br /&gt;
:: To enable USE_OLD_CXX_ABI, write: &amp;lt;code&amp;gt;-DUSE_OLD_CXX_ABI=&amp;quot;ON&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; CACHE_NAME_SUFFIX&lt;br /&gt;
: The CACHE_NAME_SUFFIX options dictates the suffix of the cache and config folder names the compiled RawTherapee build will use.&lt;br /&gt;
: See the [[File Paths]] article for a full explanation, or just use &amp;quot;5-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; PROC_TARGET_NUMBER&lt;br /&gt;
: The PROC_TARGET_NUMBER option sets which CPU type to optimize for. &amp;quot;2&amp;quot; is a safe choice because it means &amp;quot;native&amp;quot;, so the optimizations will be automatically detected for your CPU.&lt;br /&gt;
: For more info, see the file &amp;quot;ProcessorTargets.cmake&amp;quot; in the cloned repository.&lt;br /&gt;
:: To make a build using &amp;quot;native&amp;quot; optimizations, write: &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; LENSFUNDBDIR&lt;br /&gt;
: The LENSFUNDBDIR option permits to locate the lensfun data base in the specified directory i.e. &amp;lt;code&amp;gt;.\share\lensfun&amp;lt;/code&amp;gt;`&lt;br /&gt;
&lt;br /&gt;
Finally, you need to find out how many threads your CPU supports. This will make compilation faster but it will have no effect on the speed of running RawTherapee.&lt;br /&gt;
; Threads&lt;br /&gt;
: To find out how many threads your CPU supports, run:&lt;br /&gt;
: &amp;lt;code&amp;gt;grep -c processor /proc/cpuinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
: Then replace the number in &amp;quot;-j8&amp;quot; below with this number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you are ready to compile:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
rm -rf build&lt;br /&gt;
mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; \&lt;br /&gt;
      -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; \&lt;br /&gt;
      -DBUILD_BUNDLE=&amp;quot;ON&amp;quot; \&lt;br /&gt;
      -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; \&lt;br /&gt;
      -DWITH_LTO=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
      ..&lt;br /&gt;
make -j4 install&lt;br /&gt;
mv release ~/rt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run RawTherapee ===&lt;br /&gt;
To run RawTherapee:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;~/rt/rawtherapee&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The source code repository is in &amp;lt;code&amp;gt;~/repo-rt&amp;lt;/code&amp;gt; and the compiled program is in &amp;lt;code&amp;gt;~/rt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely delete &amp;lt;code&amp;gt;~/repo-rt&amp;lt;/code&amp;gt; if you so wish. The compiled program will still work, but then you will have to redo all the above steps if you want to update. Rather, leave the repository intact so that you can do the next step in a week or a month's time.&lt;br /&gt;
&lt;br /&gt;
=== Update RawTherapee ===&lt;br /&gt;
Every time you want to update your RawTherapee to the latest code available, just do the following:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
git pull&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then repeat the [[Linux#Compile RawTherapee | Compile RawTherapee]] step above.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=2743</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=2743"/>
		<updated>2017-09-14T14:31:52Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Clone and build RawTherapee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from the [https://msys2.github.io/ MSYS2 website]. Then run the following commands using either &amp;quot;''MinGW-w64 Win32 Shell''&amp;quot; if you want to build a 32-bit version, or &amp;quot;''MinGW-w64 Win64 Shell''&amp;quot; if you want to build a 64-bit version.&lt;br /&gt;
&lt;br /&gt;
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch; to build using GTK3 use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. The last version of RawTherapee to support GTK2 is 5.0-r1-gtk2 released on 2017-02-02. Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch for the latest code - it requires GTK+ &amp;gt;=3.16.&lt;br /&gt;
&lt;br /&gt;
== Install tools and libraries ==&lt;br /&gt;
&lt;br /&gt;
First, install a few miscellaneous tools:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ pacman -S tar gzip nano make diffutils intltool git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then install the necessary development tools:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-make mingw-w64-i686-pkg-config mingw-w64-i686-cmake&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and the required libraries:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gtkmm mingw-w64-i686-gtkmm3 mingw-w64-i686-lcms2 mingw-w64-i686-fftw&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gtkmm mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-lcms2 mingw-w64-x86_64-fftw mingw-w64-x86_64-lensfun&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build libiptcdata ==&lt;br /&gt;
&lt;br /&gt;
The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ tar xzf libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ cd libiptcdata-1.0.4&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards the &amp;lt;code&amp;gt;Makefile&amp;lt;/code&amp;gt; needs to be opened using a text editor to remove &amp;lt;code&amp;gt;iptc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;docs&amp;lt;/code&amp;gt; from the lists named &amp;lt;code&amp;gt;SUBDIRS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DIST_SUBDIRS&amp;lt;/code&amp;gt;, as building or installing will fail otherwise:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ nano Makefile&lt;br /&gt;
&lt;br /&gt;
# Replace&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python&lt;br /&gt;
# with&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po win python&lt;br /&gt;
&lt;br /&gt;
# And replace&lt;br /&gt;
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)&lt;br /&gt;
# with&lt;br /&gt;
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally build and install the library:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build Clearlooks ==&lt;br /&gt;
&lt;br /&gt;
If you are building RawTherapee using GTK2 then you need the Clearlooks theme engine. You do not need it if you are building using GTK3.&lt;br /&gt;
&lt;br /&gt;
Download and build it:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ tar xzf gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ cd gtk-engines-2.21.0&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32 --disable-all --enable-clearlooks&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64 --disable-all --enable-clearlooks&lt;br /&gt;
&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clone and build RawTherapee ==&lt;br /&gt;
&lt;br /&gt;
Clone RawTherapee's Git repository. The build process will fail if there is a space character anywhere in your &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; folder path. For example if your Windows username is &amp;quot;Zank Frappa&amp;quot; then your home path will be &amp;lt;code&amp;gt;C:\Users\Zank Frappa\&amp;lt;/code&amp;gt; and if you clone RawTherapee inside there then the build will fail during compilation. Simply clone to a folder where neither it nor its parent folders have a space in their name, for example &amp;lt;code&amp;gt;C:\code\repo-rt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone http://github.com/Beep6581/RawTherapee.git /c/code/repo-rt&lt;br /&gt;
$ cd /c/code/repo-rt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch; to build using GTK3 use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. The last version of RawTherapee to support GTK2 is 5.0-r1-gtk2 released on 2017-02-02. Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch for the latest code - it requires GTK+ &amp;gt;=3.16. When you clone the repository you will automatically find yourself in the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. To switch to the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch manually, do the following:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git checkout dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a separate directory for the build:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you switch branches then you must delete and recreate the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; folder so that compilation starts from scratch in an empty folder, otherwise compilation is likely to fail. However if you are just updating without changing branches then you do not have to start with an empty build folder - you can just go into the existing one, and compilation will be faster because not everything will need to be recompiled.&lt;br /&gt;
&lt;br /&gt;
Run CMake and Make:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ cmake -G &amp;quot;MSYS Makefiles&amp;quot; -DLENSFUNDBDIR=share/lensfun -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; ..&lt;br /&gt;
$ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[Linux]] article for an explanation of the various options passed to CMake and Make, including which &amp;quot;BUILD_TYPE&amp;quot; to use.&lt;br /&gt;
&lt;br /&gt;
If you are building for 32-bit Windows XP and are using the &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;relwithdebinfo&amp;lt;/code&amp;gt; &amp;quot;BUILD_TYPE&amp;quot;, you will need to add the &amp;lt;code&amp;gt;-mstackrealign&amp;lt;/code&amp;gt; compiler flag before the last two dots &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; of the CMake command above:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
-DCMAKE_C_FLAGS=&amp;quot;-mstackrealign&amp;quot; -DCMAKE_CXX_FLAGS=&amp;quot;-mstackrealign&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Copy RawTherapee and required DLLs ==&lt;br /&gt;
&lt;br /&gt;
RawTherapee can now be started from the MSYS2 command line:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# for debug builds&lt;br /&gt;
$ cd debug&lt;br /&gt;
# for release builds&lt;br /&gt;
$ cd release&lt;br /&gt;
# for relwithdebinfo builds&lt;br /&gt;
$ cd relwithdebinfo&lt;br /&gt;
$ ./rawtherapee.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file manager can be used to copy the contents of &amp;lt;code&amp;gt;c:\code\repo-rt\build\&amp;lt;debug|release|relwithdebinfo&amp;gt;&amp;lt;/code&amp;gt; together with the necessary DLLs from &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;\bin&amp;lt;/code&amp;gt; into a RawTherapee installation folder, where &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;&amp;lt;/code&amp;gt; is the MSYS2 installation folder.&lt;br /&gt;
&lt;br /&gt;
A (possibly incomplete) list of required DLLs is:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
libatk-1.0-0.dll&lt;br /&gt;
libatkmm-1.6-1.dll&lt;br /&gt;
libsz-1.dll&lt;br /&gt;
libcairo-2.dll&lt;br /&gt;
libcairo-gobject-2.dll&lt;br /&gt;
libcairomm-1.0-1.dll&lt;br /&gt;
libcroco-0.6-3.dll&lt;br /&gt;
libepoxy-0.dll&lt;br /&gt;
libexpat-1.dll&lt;br /&gt;
libfﬁ-6.dll&lt;br /&gt;
libfftw3f-3.dll&lt;br /&gt;
libfontconﬁg-1.dll&lt;br /&gt;
libfreetype-6.dll&lt;br /&gt;
libgcc_s_seh-1.dll&lt;br /&gt;
libgdk_pixbuf-2.0-0.dll&lt;br /&gt;
libgdk-3-0.dll&lt;br /&gt;
libgdkmm-3.0-1.dll&lt;br /&gt;
libgio-2.0-0.dll&lt;br /&gt;
libgiomm-2.4-1.dll&lt;br /&gt;
libglib-2.0-0.dll&lt;br /&gt;
libglibmm-2.4-1.dll&lt;br /&gt;
libgmodule-2.0-0.dll&lt;br /&gt;
libgobject-2.0-0.dll&lt;br /&gt;
libgomp-1.dll&lt;br /&gt;
libgraphite2.dll&lt;br /&gt;
libgtk-3-0.dll&lt;br /&gt;
libgtkmm-3.0-1.dll&lt;br /&gt;
libharfbuzz-0.dll&lt;br /&gt;
libiconv-2.dll&lt;br /&gt;
libintl-8.dll&lt;br /&gt;
libjpeg-8.dll&lt;br /&gt;
liblcms2-2.dll&lt;br /&gt;
liblensfun.dll&lt;br /&gt;
liblzma-5.dll&lt;br /&gt;
libpango-1.0-0.dll&lt;br /&gt;
libpangocairo-1.0-0.dll&lt;br /&gt;
libpangoft2-1.0-0.dll&lt;br /&gt;
libpangomm-1.4-1.dll&lt;br /&gt;
libpangowin32-1.0-0.dll&lt;br /&gt;
libpcre-1.dll&lt;br /&gt;
libpixman-1-0.dll&lt;br /&gt;
libpng16-16.dll&lt;br /&gt;
librsvg-2-2.dll&lt;br /&gt;
libsigc-2.0-0.dll&lt;br /&gt;
libstdc++-6.dll&lt;br /&gt;
libsystre-0.dll&lt;br /&gt;
libtiff-5.dll&lt;br /&gt;
libtre-5.dll&lt;br /&gt;
libwinpthread-1.dll&lt;br /&gt;
libxml2-2.dll&lt;br /&gt;
zlib1.dll&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following files also need to be copied:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper.exe -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper-console.exe -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\include -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\modules -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\2.10.0\engines -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gdk-pixbuf-2.0 -&amp;gt; .\lib\gdk-pixbuf-2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\share\glib-2.0\schemas\gschemas.compiled -&amp;gt; .\share\glib-2.0\schemas&lt;br /&gt;
&amp;lt;prefix&amp;gt;\share\lensfun\version_1\* -&amp;gt; .\share\lensfun&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;&amp;lt;prefix&amp;gt;&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;&amp;lt;/code&amp;gt; from above and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; is the installation folder.&lt;br /&gt;
&lt;br /&gt;
== Creating a distributable package ==&lt;br /&gt;
&lt;br /&gt;
If you plan to distribute RawTherapee packages for the Windows platform, as a first step you need to make sure that RawTherapee will be built for the &amp;quot;generic&amp;quot; processor target. To do so, use &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in the CMake command.&lt;br /&gt;
&lt;br /&gt;
During compilation, a script named &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; is created in the RawTherapee installation folder. This script is used by Inno Setup [http://www.jrsoftware.org/isinfo.php], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [http://www.jrsoftware.org/download.php/is-unicode.exe] to avoid problems with some languages.&lt;br /&gt;
&lt;br /&gt;
The current &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script is designed for the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch. If you want to create a package for a GTK3 build (&amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; branches) you will need to edit the script and replace the line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\lib\*&amp;quot;; DestDir: &amp;quot;{app}\lib\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\share\*&amp;quot;; DestDir: &amp;quot;{app}\share\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that icons and schemas will be copied into the package.&lt;br /&gt;
&lt;br /&gt;
To help users [[How_to_write_useful_bug_reports|write useful bug reports]], package maintainers are encouraged to produce builds which include both a &amp;quot;release&amp;quot; and a &amp;quot;debug&amp;quot; executable, and to bundle them together with the GDB debugger executable. In other words, put the &amp;lt;code&amp;gt;rawtherapee.exe&amp;lt;/code&amp;gt; (release) file together with the &amp;lt;code&amp;gt;rawtherapee-debug.exe&amp;lt;/code&amp;gt; (debug) file and the &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; file together into the same installer or the same archive. An alternative is to produce &amp;quot;relwithdebinfo&amp;quot; builds - these are much faster than &amp;quot;debug&amp;quot; but not as optimized as &amp;quot;release&amp;quot; builds, yet they provide just about as much useful information as &amp;quot;debug&amp;quot; builds. When making &amp;quot;relwithdebinfo&amp;quot; or &amp;quot;debug&amp;quot; builds you must provide the GDB debugger executable. Windows binaries of the debugger &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; can be downloaded from [http://www.equation.com/servlet/equation.cmd?fa=gdb here] in 32- and 64-bit versions.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; binary, available from http://www.gnu.org/software/gdb/, should be copied into the RawTherapee installation folder and, if using Inno Setup to generate the package, the &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script should be edited by uncommenting (removing the semicolon from the front of) the following around line 114 of the script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
;Source: &amp;quot;{#MyBuildBasePath}\gdb.exe&amp;quot;; DestDir: &amp;quot;{app}&amp;quot;; Flags: ignoreversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that everything is set up, to create the package right-click on the &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script and choose ''Compile'' from the context menu. It will automatically generate the installer and place it in the parent folder.&lt;br /&gt;
&lt;br /&gt;
To make your new package compatible with the RawTherapee website's upload panel, create a zip archive in which you will place both the newly created installer and the corresponding ''AboutThisBuild.txt'' file which can be found at the same place. Name the resulting zip archive following this template:&lt;br /&gt;
&amp;lt;code&amp;gt;RawTherapee_&amp;lt;WinXP|WinVista&amp;gt;_&amp;lt;32|64&amp;gt;_&amp;lt;version&amp;gt;_&amp;lt;buildtype&amp;gt;.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;WinXP&amp;quot; means that the build is only for Windows XP. &amp;quot;WinVista&amp;quot; means it can run on any version of Windows from Vista upwards, including 10.&lt;br /&gt;
* The &amp;quot;version&amp;quot; will either look like &amp;lt;code&amp;gt;5.2&amp;lt;/code&amp;gt; if you checkout the &amp;lt;code&amp;gt;5.2&amp;lt;/code&amp;gt; tag, or &amp;lt;code&amp;gt;5.2-dev-g1a2b3c4d&amp;lt;/code&amp;gt; if you checkout the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch after 5.2 was tagged.&lt;br /&gt;
* If you are shipping more than one build type in an installer, include the names of all build types, e.g. &amp;lt;code&amp;gt;release_debug&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2_release.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2_release_debug.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2-dev-g1a2b3c4d_release_debug.zip&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=2689</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=2689"/>
		<updated>2017-09-13T15:08:49Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Copy RawTherapee and required DLLs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from the [https://msys2.github.io/ MSYS2 website]. Then run the following commands using either &amp;quot;''MinGW-w64 Win32 Shell''&amp;quot; if you want to build a 32-bit version, or &amp;quot;''MinGW-w64 Win64 Shell''&amp;quot; if you want to build a 64-bit version.&lt;br /&gt;
&lt;br /&gt;
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch; to build using GTK3 use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. The last version of RawTherapee to support GTK2 is 5.0-r1-gtk2 released on 2017-02-02. Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch for the latest code - it requires GTK+ &amp;gt;=3.16.&lt;br /&gt;
&lt;br /&gt;
== Install tools and libraries ==&lt;br /&gt;
&lt;br /&gt;
First, install a few miscellaneous tools:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ pacman -S tar gzip nano make diffutils intltool git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then install the necessary development tools:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-make mingw-w64-i686-pkg-config mingw-w64-i686-cmake&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and the required libraries:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gtkmm mingw-w64-i686-gtkmm3 mingw-w64-i686-lcms2 mingw-w64-i686-fftw&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gtkmm mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-lcms2 mingw-w64-x86_64-fftw mingw-w64-x86_64-lensfun&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build libiptcdata ==&lt;br /&gt;
&lt;br /&gt;
The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ tar xzf libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ cd libiptcdata-1.0.4&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards the &amp;lt;code&amp;gt;Makefile&amp;lt;/code&amp;gt; needs to be opened using a text editor to remove &amp;lt;code&amp;gt;iptc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;docs&amp;lt;/code&amp;gt; from the lists named &amp;lt;code&amp;gt;SUBDIRS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DIST_SUBDIRS&amp;lt;/code&amp;gt;, as building or installing will fail otherwise:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ nano Makefile&lt;br /&gt;
&lt;br /&gt;
# Replace&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python&lt;br /&gt;
# with&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po win python&lt;br /&gt;
&lt;br /&gt;
# And replace&lt;br /&gt;
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)&lt;br /&gt;
# with&lt;br /&gt;
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally build and install the library:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build Clearlooks ==&lt;br /&gt;
&lt;br /&gt;
If you are building RawTherapee using GTK2 then you need the Clearlooks theme engine. You do not need it if you are building using GTK3.&lt;br /&gt;
&lt;br /&gt;
Download and build it:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ tar xzf gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ cd gtk-engines-2.21.0&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32 --disable-all --enable-clearlooks&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64 --disable-all --enable-clearlooks&lt;br /&gt;
&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clone and build RawTherapee ==&lt;br /&gt;
&lt;br /&gt;
Clone RawTherapee's Git repository. The build process will fail if there is a space character anywhere in your &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; folder path. For example if your Windows username is &amp;quot;Zank Frappa&amp;quot; then your home path will be &amp;lt;code&amp;gt;C:\Users\Zank Frappa\&amp;lt;/code&amp;gt; and if you clone RawTherapee inside there then the build will fail during compilation. Simply clone to a folder where neither it nor its parent folders have a space in their name, for example &amp;lt;code&amp;gt;C:\code\repo-rt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone http://github.com/Beep6581/RawTherapee.git /c/code/repo-rt&lt;br /&gt;
$ cd /c/code/repo-rt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch; to build using GTK3 use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. The last version of RawTherapee to support GTK2 is 5.0-r1-gtk2 released on 2017-02-02. Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch for the latest code - it requires GTK+ &amp;gt;=3.16. When you clone the repository you will automatically find yourself in the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. To switch to the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch manually, do the following:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git checkout dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a separate directory for the build:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you switch branches then you must delete and recreate the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; folder so that compilation starts from scratch in an empty folder, otherwise compilation is likely to fail. However if you are just updating without changing branches then you do not have to start with an empty build folder - you can just go into the existing one, and compilation will be faster because not everything will need to be recompiled.&lt;br /&gt;
&lt;br /&gt;
Run CMake and Make:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ cmake -G &amp;quot;MSYS Makefiles&amp;quot; -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; ..&lt;br /&gt;
$ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[Linux]] article for an explanation of the various options passed to CMake and Make, including which &amp;quot;BUILD_TYPE&amp;quot; to use.&lt;br /&gt;
&lt;br /&gt;
If you are building for 32-bit Windows XP and are using the &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;relwithdebinfo&amp;lt;/code&amp;gt; &amp;quot;BUILD_TYPE&amp;quot;, you will need to add the &amp;lt;code&amp;gt;-mstackrealign&amp;lt;/code&amp;gt; compiler flag before the last two dots &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; of the CMake command above:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
-DCMAKE_C_FLAGS=&amp;quot;-mstackrealign&amp;quot; -DCMAKE_CXX_FLAGS=&amp;quot;-mstackrealign&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Copy RawTherapee and required DLLs ==&lt;br /&gt;
&lt;br /&gt;
RawTherapee can now be started from the MSYS2 command line:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# for debug builds&lt;br /&gt;
$ cd debug&lt;br /&gt;
# for release builds&lt;br /&gt;
$ cd release&lt;br /&gt;
# for relwithdebinfo builds&lt;br /&gt;
$ cd relwithdebinfo&lt;br /&gt;
$ ./rawtherapee.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file manager can be used to copy the contents of &amp;lt;code&amp;gt;c:\code\repo-rt\build\&amp;lt;debug|release|relwithdebinfo&amp;gt;&amp;lt;/code&amp;gt; together with the necessary DLLs from &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;\bin&amp;lt;/code&amp;gt; into a RawTherapee installation folder, where &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;&amp;lt;/code&amp;gt; is the MSYS2 installation folder.&lt;br /&gt;
&lt;br /&gt;
A (possibly incomplete) list of required DLLs is:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
libatk-1.0-0.dll&lt;br /&gt;
libatkmm-1.6-1.dll&lt;br /&gt;
libsz-1.dll&lt;br /&gt;
libcairo-2.dll&lt;br /&gt;
libcairo-gobject-2.dll&lt;br /&gt;
libcairomm-1.0-1.dll&lt;br /&gt;
libcroco-0.6-3.dll&lt;br /&gt;
libepoxy-0.dll&lt;br /&gt;
libexpat-1.dll&lt;br /&gt;
libfﬁ-6.dll&lt;br /&gt;
libfftw3f-3.dll&lt;br /&gt;
libfontconﬁg-1.dll&lt;br /&gt;
libfreetype-6.dll&lt;br /&gt;
libgcc_s_seh-1.dll&lt;br /&gt;
libgdk_pixbuf-2.0-0.dll&lt;br /&gt;
libgdk-3-0.dll&lt;br /&gt;
libgdkmm-3.0-1.dll&lt;br /&gt;
libgio-2.0-0.dll&lt;br /&gt;
libgiomm-2.4-1.dll&lt;br /&gt;
libglib-2.0-0.dll&lt;br /&gt;
libglibmm-2.4-1.dll&lt;br /&gt;
libgmodule-2.0-0.dll&lt;br /&gt;
libgobject-2.0-0.dll&lt;br /&gt;
libgomp-1.dll&lt;br /&gt;
libgraphite2.dll&lt;br /&gt;
libgtk-3-0.dll&lt;br /&gt;
libgtkmm-3.0-1.dll&lt;br /&gt;
libharfbuzz-0.dll&lt;br /&gt;
libiconv-2.dll&lt;br /&gt;
libintl-8.dll&lt;br /&gt;
libjpeg-8.dll&lt;br /&gt;
liblcms2-2.dll&lt;br /&gt;
liblensfun.dll&lt;br /&gt;
liblzma-5.dll&lt;br /&gt;
libpango-1.0-0.dll&lt;br /&gt;
libpangocairo-1.0-0.dll&lt;br /&gt;
libpangoft2-1.0-0.dll&lt;br /&gt;
libpangomm-1.4-1.dll&lt;br /&gt;
libpangowin32-1.0-0.dll&lt;br /&gt;
libpcre-1.dll&lt;br /&gt;
libpixman-1-0.dll&lt;br /&gt;
libpng16-16.dll&lt;br /&gt;
librsvg-2-2.dll&lt;br /&gt;
libsigc-2.0-0.dll&lt;br /&gt;
libstdc++-6.dll&lt;br /&gt;
libsystre-0.dll&lt;br /&gt;
libtiff-5.dll&lt;br /&gt;
libtre-5.dll&lt;br /&gt;
libwinpthread-1.dll&lt;br /&gt;
libxml2-2.dll&lt;br /&gt;
zlib1.dll&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following files also need to be copied:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper.exe -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper-console.exe -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\include -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\modules -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\2.10.0\engines -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gdk-pixbuf-2.0 -&amp;gt; .\lib\gdk-pixbuf-2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\share\glib-2.0\schemas\gschemas.compiled -&amp;gt; .\share\glib-2.0\schemas&lt;br /&gt;
&amp;lt;prefix&amp;gt;\share\lensfun\version_1\* -&amp;gt; .\share\lensfun&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;&amp;lt;prefix&amp;gt;&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;&amp;lt;/code&amp;gt; from above and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; is the installation folder.&lt;br /&gt;
&lt;br /&gt;
== Creating a distributable package ==&lt;br /&gt;
&lt;br /&gt;
If you plan to distribute RawTherapee packages for the Windows platform, as a first step you need to make sure that RawTherapee will be built for the &amp;quot;generic&amp;quot; processor target. To do so, use &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in the CMake command.&lt;br /&gt;
&lt;br /&gt;
During compilation, a script named &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; is created in the RawTherapee installation folder. This script is used by Inno Setup [http://www.jrsoftware.org/isinfo.php], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [http://www.jrsoftware.org/download.php/is-unicode.exe] to avoid problems with some languages.&lt;br /&gt;
&lt;br /&gt;
The current &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script is designed for the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch. If you want to create a package for a GTK3 build (&amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; branches) you will need to edit the script and replace the line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\lib\*&amp;quot;; DestDir: &amp;quot;{app}\lib\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\share\*&amp;quot;; DestDir: &amp;quot;{app}\share\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that icons and schemas will be copied into the package.&lt;br /&gt;
&lt;br /&gt;
To help users [[How_to_write_useful_bug_reports|write useful bug reports]], package maintainers are encouraged to produce builds which include both a &amp;quot;release&amp;quot; and a &amp;quot;debug&amp;quot; executable, and to bundle them together with the GDB debugger executable. In other words, put the &amp;lt;code&amp;gt;rawtherapee.exe&amp;lt;/code&amp;gt; (release) file together with the &amp;lt;code&amp;gt;rawtherapee-debug.exe&amp;lt;/code&amp;gt; (debug) file and the &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; file together into the same installer or the same archive. An alternative is to produce &amp;quot;relwithdebinfo&amp;quot; builds - these are much faster than &amp;quot;debug&amp;quot; but not as optimized as &amp;quot;release&amp;quot; builds, yet they provide just about as much useful information as &amp;quot;debug&amp;quot; builds. When making &amp;quot;relwithdebinfo&amp;quot; or &amp;quot;debug&amp;quot; builds you must provide the GDB debugger executable. Windows binaries of the debugger &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; can be downloaded from [http://www.equation.com/servlet/equation.cmd?fa=gdb here] in 32- and 64-bit versions.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; binary, available from http://www.gnu.org/software/gdb/, should be copied into the RawTherapee installation folder and, if using Inno Setup to generate the package, the &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script should be edited by uncommenting (removing the semicolon from the front of) the following around line 114 of the script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
;Source: &amp;quot;{#MyBuildBasePath}\gdb.exe&amp;quot;; DestDir: &amp;quot;{app}&amp;quot;; Flags: ignoreversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that everything is set up, to create the package right-click on the &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script and choose ''Compile'' from the context menu. It will automatically generate the installer and place it in the parent folder.&lt;br /&gt;
&lt;br /&gt;
To make your new package compatible with the RawTherapee website's upload panel, create a zip archive in which you will place both the newly created installer and the corresponding ''AboutThisBuild.txt'' file which can be found at the same place. Name the resulting zip archive following this template:&lt;br /&gt;
&amp;lt;code&amp;gt;RawTherapee_&amp;lt;WinXP|WinVista&amp;gt;_&amp;lt;32|64&amp;gt;_&amp;lt;version&amp;gt;_&amp;lt;buildtype&amp;gt;.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;WinXP&amp;quot; means that the build is only for Windows XP. &amp;quot;WinVista&amp;quot; means it can run on any version of Windows from Vista upwards, including 10.&lt;br /&gt;
* The &amp;quot;version&amp;quot; will either look like &amp;lt;code&amp;gt;5.2&amp;lt;/code&amp;gt; if you checkout the &amp;lt;code&amp;gt;5.2&amp;lt;/code&amp;gt; tag, or &amp;lt;code&amp;gt;5.2-dev-g1a2b3c4d&amp;lt;/code&amp;gt; if you checkout the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch after 5.2 was tagged.&lt;br /&gt;
* If you are shipping more than one build type in an installer, include the names of all build types, e.g. &amp;lt;code&amp;gt;release_debug&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2_release.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2_release_debug.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2-dev-g1a2b3c4d_release_debug.zip&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Linux&amp;diff=2688</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Linux&amp;diff=2688"/>
		<updated>2017-09-13T15:03:40Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Arch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details instructions for compiling RawTherapee on '''GNU/Linux''' systems. There are also instructions for compiling on [[Windows]] and [[OS X]].&lt;br /&gt;
&lt;br /&gt;
When in doubt, [[IRC | join us on IRC]] and ask a human!&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
To compile RawTherapee your system will need a set of tools. They are called dependencies, and here is a list of dependencies for both GTK2 and GTK3 versions of RawTherapee:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Build-time dependencies for RawTherapee 4 and 5.0.&lt;br /&gt;
! GTK+       !! Package      !! Version            !! Gentoo                 !! Debian/Ubuntu        !! URL&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || BZIP2        || bzip2&amp;gt;-1.0.4       || app-arch/bzip2         || libbz2-dev           || http://www.bzip.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || EXIV2        || exiv2&amp;gt;=0.19        || media-gfx/exiv2        || libexiv2-dev         || http://www.exiv2.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || EXPAT        || expat&amp;gt;=2.1.0       || dev-libs/expat         || libexpat-dev         || http://expat.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || FFTW3        || fftw&amp;gt;=3.2.2        || sci-libs/fftw          || fftw-dev             || http://fftw.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GCC          || gcc&amp;gt;=4.9           || sys-devel/gcc          || build-essential      || http://gcc.gnu.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GLIB2        || glib-2.0&amp;gt;=2.24     || dev-libs/glib          || libglib2.0-dev       || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || GLIBMM       || glibmm-2.4&amp;gt;=2.24   || dev-cpp/glibmm         || libglibmm-2.4-dev    || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTK+         || gtk+-2.0&amp;gt;=2.24.18  || x11-libs/gtk+          || libgtk2.0-dev        || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
|       GTK3 || GTK+         || gtk+-3.16          || x11-libs/gtk+          || libgtk-3-dev         || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTK2-Engines || gtk-engines-2.20.2 || x11-themes/gtk-engines || gtk2-engines         || http://www.gtk.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2       || GTKMM        || gtkmm-2.4&amp;gt;=2.22    || dev-cpp/gtkmm          || libgtkmm-2.4-dev     || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
|       GTK3 || GTKMM        || gtkmm-3.16         || dev-cpp/gtkmm          || libgtkmm-3.0-dev     || http://www.gtkmm.org&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || JPEG         || libjpeg&amp;gt;=6b        || media-libs/jpeg        || libjpeg-dev          || http://libjpeg-turbo.virtualgl.org/ http://jpegclub.org/ http://www.ijg.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LCMS2        || lcms&amp;gt;=2.6          || media-libs/lcms        || liblcms2-dev         || http://www.littlecms.com/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LIBCANBERRA  || libcanberra&amp;gt;=0.29  || media-libs/libcanberra || libcanberra-gtk3-dev || http://0pointer.de/lennart/projects/libcanberra/ (Linux only)&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || LIBIPTCDATA  || libiptcdata&amp;gt;=1.0.2 || media-libs/libiptcdata || libiptcdata-dev      || http://libiptcdata.sourceforge.net&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || PNG          || libpng&amp;gt;=1.2.44     || media-libs/libpng      || libpng-dev           || http://www.libpng.org/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || SIGC         || sigc++-2.0         || dev-libs/libsigc++     || libsigc++-2.0-dev    || http://libsigc.sourceforge.net/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || TIFF         || libtiff&amp;gt;=3.9.4     || media-libs/tiff        || libtiff-dev          || http://www.remotesensing.org/libtiff/&lt;br /&gt;
|-&lt;br /&gt;
| GTK2, GTK3 || ZLIB         || zlib&amp;gt;=1.2.3        || sys-libs/zlib          || zlib1g-dev           || http://www.zlib.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To compile the outdated RawTherapee 3 you will need these:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Build-time dependencies for RawTherapee 3&lt;br /&gt;
! Package  !! Version    !! Gentoo          !! Debian/Ubuntu   !! URL&lt;br /&gt;
|-&lt;br /&gt;
| LCMS1    || lcms&amp;lt;=1.99 || media-libs/lcms || liblcms1-dev    || http://www.littlecms.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In order to install all these dependencies, you will need to open a console and paste the code from the appropriate section into the console. Note that these code snippets include the GTK3 dependencies if available, so if you want to compile the legacy &amp;quot;gtk2&amp;quot; branch which uses GTK2 then replace the GTK3 dependencies with GTK2 ones as described in the list above.&lt;br /&gt;
&lt;br /&gt;
=== Arch ===&lt;br /&gt;
The latest Arch supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo pacman -S bzip2 exiv2 expat fftw glib2 glibmm gtk3 gtkmm3 lcms2 lensfun libcanberra libiptcdata libjpeg-turbo libpng libsigc++ libtiff zlib&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CentOS 7.1 ===&lt;br /&gt;
CentOS 7.1 does not support a recent enough version of GTK3, so you can only compile the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
As CentOS 7.1 does not seem to have the Clearlooks GTK2 theme engine, you will either need to install some other GTK2 theme engine, or after installing RawTherapee go to &amp;quot;Preferences &amp;gt; General &amp;gt; Default Theme&amp;quot; and enable &amp;quot;Use system theme&amp;quot;.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo yum install bzip2-devel cmake curl exiv2-devel expat-devel fftw-devel gcc-c++ git glibmm24-devel gtk2-devel gtkmm24-devel lcms2-devel libjpeg-turbo-devel libcanberra-devel libiptcdata-devel libpng-devel libtiff-devel sigc++20-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
Fedora supports GTK3 from version 22, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
If you are using Fedora version 21 or older, use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo dnf install bzip2-devel cmake exiv2-devel expat-devel fftw-devel gcc-c++ glib2-devel glibmm24-devel gtk3-devel gtkmm30-devel lcms2-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel libsigc++20-devel libtiff-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
Gentoo supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo emerge -uva app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
openSUSE 42.2 and Tumbleweed support GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
Note: openSUSE 42.1 supports GTK+ 3.16.7 but compilation fails as the sigc++-2.0&amp;gt;=2.4 requirement is not met.&lt;br /&gt;
If you are using openSUSE version 42.1 or older, use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo zypper in cmake fftw3-devel gcc-c++ glib2-devel glibmm2-devel gtk3-devel gtkmm3-devel libbz2-devel libcanberra-devel libexpat-devel libiptcdata-devel libjpeg-devel liblcms2-devel libpng-devel libsigc++2-devel libtiff-devel zlib-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sabayon ===&lt;br /&gt;
Sabayon supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo equo install app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat dev-util/cmake media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
Ubuntu as of version 15.10 (Wily Werewolf) supports GTK3, use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
Older versions of Ubuntu either do not support GTK3 at all, or the version of GTK3 they ship is not recent enough (RawTherapee GTK3 support requires GTK3 version 3.16 or newer), meaning you must use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch which uses GTK2.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 16.10 ====&lt;br /&gt;
Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt update&lt;br /&gt;
sudo apt install build-essential cmake curl git libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg-dev liblcms2-dev libpng-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 16.04 LTS and 15.10 ====&lt;br /&gt;
Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch (or checkout a &amp;quot;gtk3&amp;quot; release tag). The dependencies below are only for GTK3.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 15.04, 14.10, 14.04 LTS ====&lt;br /&gt;
Use the legacy &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch. The dependencies below are only for the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee requires GCC version 4.9 or higher. Ubuntu 14.04 LTS ships with GCC version 4.8.2 which is too old - to get 4.9, follow these steps: http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 13.10, 13.04, 12.10, 12.04 LTS, 11.10 ====&lt;br /&gt;
These versions of Ubuntu are badly outdated. The code below used to work but it may stop working at any moment. Upgrade your operating system.&lt;br /&gt;
&lt;br /&gt;
As these versions of Ubuntu only support GCC-4.8.1 and older, the latest commit you will be able to compile is [https://github.com/Beep6581/RawTherapee/commit/b343b9a7 commit b343b9a7] from 2015-12-29 - newer versions will not compile.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.10 and 11.04 ====&lt;br /&gt;
These versions of Ubuntu are badly outdated. The code below used to work but it may stop working at any moment. Upgrade your operating system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;sudo apt-add-repository ppa:dasprid/rawtherapee&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg62 liblcms2-dev libnm-glib2 libpng12-dev libsigc++-2.0-dev libtiff4-dev zlib1g-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Two ways to continue ===&lt;br /&gt;
There are two ways you can now continue: either use the automated script as described in [[Linux#Compiling:_The_Automatic_Way | Compiling: The Automatic Way]], designed to make your life easier or your money back guaranteed, or if you have no better way to spend the rest of your evening then do it manually, as described in [[Linux#Compiling:_The_Manual_Way | Compiling: The Manual Way]].&lt;br /&gt;
&lt;br /&gt;
== Compiling: The Automatic Way ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;The buildRT script is currently outdated and won't work with Git. We are working on a new one. In the meanwhile, ignore the rest of this section and skip to the manual method. - 2015-11-22&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GET THE AUTOMATIC SCRIPT HERE:''' http://rawtherapee.googlecode.com/hg/tools/buildRT&lt;br /&gt;
&lt;br /&gt;
This is a Bash script to automatically clone the RawTherapee source code repository, present the user with a list of available branches (e.g. &amp;quot;default&amp;quot;) and build types (&amp;quot;release&amp;quot; and &amp;quot;debug&amp;quot;), and then to automatically compile the chosen branches and build types and create a ZIP archive of every finished build. The compiled builds are ready to be used. buildRT does '''not''' check for build-time dependencies, so be sure to read the [[Linux#Dependencies | Dependencies]] section before using this script.&lt;br /&gt;
&lt;br /&gt;
Run it as a normal user, not as root!&lt;br /&gt;
&lt;br /&gt;
Open a terminal, get the script, make it executable, and run it:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~&lt;br /&gt;
wget http://rawtherapee.googlecode.com/hg/tools/buildRT&lt;br /&gt;
chmod +x ~/buildRT&lt;br /&gt;
./buildRT&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most people will want to compile the &amp;quot;default&amp;quot; branch, using the &amp;quot;release&amp;quot; build type, or the &amp;quot;debug&amp;quot; build type if you want to have RawTherapee spit out more errors which are useful in debugging, at the cost of running more slowly.&lt;br /&gt;
&lt;br /&gt;
Pay attention to what the script says, it will tell you exactly where your compiled Rawtherapee is, and how to run it. That's it, you are done!&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;./buildRT -h&amp;lt;/code&amp;gt; to see a list and description of all the options which buildRT supports.&lt;br /&gt;
&lt;br /&gt;
buildRT's version number and date are written in the header (the first few lines). It is updated every two months on average, so check for a newer version about once every two months. Also be sure to check for a newer version if compilation fails, as the newer version is likely to address the issue. You can check for a newer version by running &amp;lt;code&amp;gt;./buildRT -u&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Compiling: The Manual Way ==&lt;br /&gt;
This section describes compiling RawTherapee manually&amp;lt;!-- - i.e. not using the automated script above--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Clone the source ===&lt;br /&gt;
First, you need to clone RawTherapee's source code repository. Bring up your console and run this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git clone https://github.com/Beep6581/RawTherapee ~/repo-rt&lt;br /&gt;
cd ~/repo-rt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Choose a branch ===&lt;br /&gt;
* Features are developed on their own feature branches.&lt;br /&gt;
* Development happens on the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. Feature branches are merged into the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch when they're ready. The &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch is unstable.&lt;br /&gt;
* Releases are tagged on the &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&lt;br /&gt;
Checkout the latest tag if you want the most stable code. To see all available tags, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git tag&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checkout the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch or some other feature branch if you want to test the latest bleeding-edge code. To see all available branches, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git branch -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking out is done via the &amp;quot;git checkout&amp;quot; command. To checkout a tag or a branch, type:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;git checkout &amp;lt;tag or branch&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee uses GTK+ for the user interface and requires GTK+ version 3.16 or newer. If your system does not support version 3.16 or newer then you must checkout the &amp;lt;code&amp;gt;5.0-r1-gtk2&amp;lt;/code&amp;gt; tag. Our GTK2 support has officially ended on 2 February 2017 - update your system.&lt;br /&gt;
&lt;br /&gt;
Note: Compiling old versions of RawTherapee will fail on a modern system, as you will be missing the old dependencies.&lt;br /&gt;
&lt;br /&gt;
=== Compile RawTherapee ===&lt;br /&gt;
Now you will make an out-of-source compilation of RawTherapee, it will be built into the ~/repo-rt/build/release folder, and then you will move this folder to your home directory and rename it to &amp;quot;rt&amp;quot;, so make sure there is no ~/rt folder already!&lt;br /&gt;
&lt;br /&gt;
There are a few compilation settings you need to be aware of, you will pass these to CMake using the -D option as described below:&lt;br /&gt;
&lt;br /&gt;
; BUILD_TYPE&lt;br /&gt;
: You must specify the &amp;lt;code&amp;gt;BUILD_TYPE&amp;lt;/code&amp;gt; when building RawTherapee. You can set the &amp;lt;code&amp;gt;BUILD_TYPE&amp;lt;/code&amp;gt; value to &amp;quot;&amp;lt;code&amp;gt;debug&amp;lt;/code&amp;gt;&amp;quot;, &amp;quot;&amp;lt;code&amp;gt;relwithdebinfo&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt;&amp;quot;. The &amp;quot;debug&amp;quot; and &amp;quot;relwithdebinfo&amp;quot; builds will let you [[How_to_write_useful_bug_reports | get a useful stack-backtrace]] if RawTherapee crashes while running through GDB which you can then submit to us so we can find the problem and fix it. The &amp;quot;debug&amp;quot; build is the slowest but generates the most detailed information. The &amp;quot;relwithdebinfo&amp;quot; build is almost as fast as a &amp;quot;release&amp;quot; build and generates often sufficient information, though not as detiled as a &amp;quot;debug&amp;quot; build. The &amp;quot;release&amp;quot; build will not provide any useful information when it crashes, but does contain many speed optimizations resulting in a program that works many times faster than the &amp;quot;debug&amp;quot; version would. For normal use, make a &amp;quot;release&amp;quot; or &amp;quot;relwithdebinfo&amp;quot; build. If you find a reproducible bug, then make a &amp;quot;debug&amp;quot; build and send us a stack-backtrace (or fix it yourself and send us the patch!). Alternatively use a &amp;quot;relwithdebinfo&amp;quot; build, and hope that it's detailed enough.&lt;br /&gt;
:: To make a &amp;quot;release&amp;quot; type build, write: &amp;lt;code&amp;gt;-DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;quot;release&amp;quot; by &amp;quot;debug&amp;quot; or &amp;quot;relwithdebinfo&amp;quot; as needed.&lt;br /&gt;
&lt;br /&gt;
; USE_OLD_CXX_ABI&lt;br /&gt;
: When compiling a program, one must use the same conventions as those used by the libraries which that program relies upon, otherwise compilation (linking) will fail. Generally one does not need to concern oneself with this, but we are now at a time when GCC4 is being phased out by GCC5, each by default uses a convention incompatible with the other, and so this issue is relevant. If the libraries on your system have been compiled using GCC5, they probably use a standard called C++11. This means that your RawTherapee build must use the same standard, which is the case by default. However if despite using GCC5 your libraries were built using the older C++03 standard, then RawTherapee must be set to use the same, and this is when you would set &amp;quot;USE_OLD_CXX_ABI&amp;quot; to &amp;quot;ON&amp;quot;:&lt;br /&gt;
:: To enable USE_OLD_CXX_ABI, write: &amp;lt;code&amp;gt;-DUSE_OLD_CXX_ABI=&amp;quot;ON&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; CACHE_NAME_SUFFIX&lt;br /&gt;
: The CACHE_NAME_SUFFIX options dictates the suffix of the cache and config folder names the compiled RawTherapee build will use.&lt;br /&gt;
: See the [[File Paths]] article for a full explanation, or just use &amp;quot;5-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; PROC_TARGET_NUMBER&lt;br /&gt;
: The PROC_TARGET_NUMBER option sets which CPU type to optimize for. &amp;quot;2&amp;quot; is a safe choice because it means &amp;quot;native&amp;quot;, so the optimizations will be automatically detected for your CPU.&lt;br /&gt;
: For more info, see the file &amp;quot;ProcessorTargets.cmake&amp;quot; in the cloned repository.&lt;br /&gt;
:: To make a build using &amp;quot;native&amp;quot; optimizations, write: &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, you need to find out how many threads your CPU supports. This will make compilation faster but it will have no effect on the speed of running RawTherapee.&lt;br /&gt;
; Threads&lt;br /&gt;
: To find out how many threads your CPU supports, run:&lt;br /&gt;
: &amp;lt;code&amp;gt;grep -c processor /proc/cpuinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
: Then replace the number in &amp;quot;-j8&amp;quot; below with this number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you are ready to compile:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
rm -rf build&lt;br /&gt;
mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; \&lt;br /&gt;
      -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; \&lt;br /&gt;
      -DBUILD_BUNDLE=&amp;quot;ON&amp;quot; \&lt;br /&gt;
      -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; \&lt;br /&gt;
      -DWITH_LTO=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
      ..&lt;br /&gt;
make -j4 install&lt;br /&gt;
mv release ~/rt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run RawTherapee ===&lt;br /&gt;
To run RawTherapee:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;~/rt/rawtherapee&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The source code repository is in &amp;lt;code&amp;gt;~/repo-rt&amp;lt;/code&amp;gt; and the compiled program is in &amp;lt;code&amp;gt;~/rt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely delete &amp;lt;code&amp;gt;~/repo-rt&amp;lt;/code&amp;gt; if you so wish. The compiled program will still work, but then you will have to redo all the above steps if you want to update. Rather, leave the repository intact so that you can do the next step in a week or a month's time.&lt;br /&gt;
&lt;br /&gt;
=== Update RawTherapee ===&lt;br /&gt;
Every time you want to update your RawTherapee to the latest code available, just do the following:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;cd ~/repo-rt&lt;br /&gt;
git pull&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then repeat the [[Linux#Compile RawTherapee | Compile RawTherapee]] step above.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=2687</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=2687"/>
		<updated>2017-09-13T14:23:59Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Install tools and libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from the [https://msys2.github.io/ MSYS2 website]. Then run the following commands using either &amp;quot;''MinGW-w64 Win32 Shell''&amp;quot; if you want to build a 32-bit version, or &amp;quot;''MinGW-w64 Win64 Shell''&amp;quot; if you want to build a 64-bit version.&lt;br /&gt;
&lt;br /&gt;
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch; to build using GTK3 use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. The last version of RawTherapee to support GTK2 is 5.0-r1-gtk2 released on 2017-02-02. Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch for the latest code - it requires GTK+ &amp;gt;=3.16.&lt;br /&gt;
&lt;br /&gt;
== Install tools and libraries ==&lt;br /&gt;
&lt;br /&gt;
First, install a few miscellaneous tools:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ pacman -S tar gzip nano make diffutils intltool git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then install the necessary development tools:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-make mingw-w64-i686-pkg-config mingw-w64-i686-cmake&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and the required libraries:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gtkmm mingw-w64-i686-gtkmm3 mingw-w64-i686-lcms2 mingw-w64-i686-fftw&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gtkmm mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-lcms2 mingw-w64-x86_64-fftw mingw-w64-x86_64-lensfun&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build libiptcdata ==&lt;br /&gt;
&lt;br /&gt;
The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ tar xzf libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ cd libiptcdata-1.0.4&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards the &amp;lt;code&amp;gt;Makefile&amp;lt;/code&amp;gt; needs to be opened using a text editor to remove &amp;lt;code&amp;gt;iptc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;docs&amp;lt;/code&amp;gt; from the lists named &amp;lt;code&amp;gt;SUBDIRS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DIST_SUBDIRS&amp;lt;/code&amp;gt;, as building or installing will fail otherwise:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ nano Makefile&lt;br /&gt;
&lt;br /&gt;
# Replace&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python&lt;br /&gt;
# with&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po win python&lt;br /&gt;
&lt;br /&gt;
# And replace&lt;br /&gt;
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)&lt;br /&gt;
# with&lt;br /&gt;
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally build and install the library:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build Clearlooks ==&lt;br /&gt;
&lt;br /&gt;
If you are building RawTherapee using GTK2 then you need the Clearlooks theme engine. You do not need it if you are building using GTK3.&lt;br /&gt;
&lt;br /&gt;
Download and build it:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ tar xzf gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ cd gtk-engines-2.21.0&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32 --disable-all --enable-clearlooks&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64 --disable-all --enable-clearlooks&lt;br /&gt;
&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clone and build RawTherapee ==&lt;br /&gt;
&lt;br /&gt;
Clone RawTherapee's Git repository. The build process will fail if there is a space character anywhere in your &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; folder path. For example if your Windows username is &amp;quot;Zank Frappa&amp;quot; then your home path will be &amp;lt;code&amp;gt;C:\Users\Zank Frappa\&amp;lt;/code&amp;gt; and if you clone RawTherapee inside there then the build will fail during compilation. Simply clone to a folder where neither it nor its parent folders have a space in their name, for example &amp;lt;code&amp;gt;C:\code\repo-rt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone http://github.com/Beep6581/RawTherapee.git /c/code/repo-rt&lt;br /&gt;
$ cd /c/code/repo-rt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch; to build using GTK3 use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. The last version of RawTherapee to support GTK2 is 5.0-r1-gtk2 released on 2017-02-02. Use the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch for the latest code - it requires GTK+ &amp;gt;=3.16. When you clone the repository you will automatically find yourself in the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch. To switch to the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch manually, do the following:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git checkout dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a separate directory for the build:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you switch branches then you must delete and recreate the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; folder so that compilation starts from scratch in an empty folder, otherwise compilation is likely to fail. However if you are just updating without changing branches then you do not have to start with an empty build folder - you can just go into the existing one, and compilation will be faster because not everything will need to be recompiled.&lt;br /&gt;
&lt;br /&gt;
Run CMake and Make:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ cmake -G &amp;quot;MSYS Makefiles&amp;quot; -DCMAKE_BUILD_TYPE=&amp;quot;release&amp;quot; -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; -DCACHE_NAME_SUFFIX=&amp;quot;5-dev&amp;quot; ..&lt;br /&gt;
$ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[Linux]] article for an explanation of the various options passed to CMake and Make, including which &amp;quot;BUILD_TYPE&amp;quot; to use.&lt;br /&gt;
&lt;br /&gt;
If you are building for 32-bit Windows XP and are using the &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;relwithdebinfo&amp;lt;/code&amp;gt; &amp;quot;BUILD_TYPE&amp;quot;, you will need to add the &amp;lt;code&amp;gt;-mstackrealign&amp;lt;/code&amp;gt; compiler flag before the last two dots &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; of the CMake command above:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
-DCMAKE_C_FLAGS=&amp;quot;-mstackrealign&amp;quot; -DCMAKE_CXX_FLAGS=&amp;quot;-mstackrealign&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Copy RawTherapee and required DLLs ==&lt;br /&gt;
&lt;br /&gt;
RawTherapee can now be started from the MSYS2 command line:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# for debug builds&lt;br /&gt;
$ cd debug&lt;br /&gt;
# for release builds&lt;br /&gt;
$ cd release&lt;br /&gt;
# for relwithdebinfo builds&lt;br /&gt;
$ cd relwithdebinfo&lt;br /&gt;
$ ./rawtherapee.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file manager can be used to copy the contents of &amp;lt;code&amp;gt;c:\code\repo-rt\build\&amp;lt;debug|release|relwithdebinfo&amp;gt;&amp;lt;/code&amp;gt; together with the necessary DLLs from &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;\bin&amp;lt;/code&amp;gt; into a RawTherapee installation folder, where &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;&amp;lt;/code&amp;gt; is the MSYS2 installation folder.&lt;br /&gt;
&lt;br /&gt;
A (possibly incomplete) list of required DLLs is:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
libatk-1.0-0.dll&lt;br /&gt;
libatkmm-1.6-1.dll&lt;br /&gt;
libsz-1.dll&lt;br /&gt;
libcairo-2.dll&lt;br /&gt;
libcairo-gobject-2.dll&lt;br /&gt;
libcairomm-1.0-1.dll&lt;br /&gt;
libcroco-0.6-3.dll&lt;br /&gt;
libepoxy-0.dll&lt;br /&gt;
libexpat-1.dll&lt;br /&gt;
libfﬁ-6.dll&lt;br /&gt;
libfftw3f-3.dll&lt;br /&gt;
libfontconﬁg-1.dll&lt;br /&gt;
libfreetype-6.dll&lt;br /&gt;
libgcc_s_seh-1.dll&lt;br /&gt;
libgdk_pixbuf-2.0-0.dll&lt;br /&gt;
libgdk-3-0.dll&lt;br /&gt;
libgdkmm-3.0-1.dll&lt;br /&gt;
libgio-2.0-0.dll&lt;br /&gt;
libgiomm-2.4-1.dll&lt;br /&gt;
libglib-2.0-0.dll&lt;br /&gt;
libglibmm-2.4-1.dll&lt;br /&gt;
libgmodule-2.0-0.dll&lt;br /&gt;
libgobject-2.0-0.dll&lt;br /&gt;
libgomp-1.dll&lt;br /&gt;
libgraphite2.dll&lt;br /&gt;
libgtk-3-0.dll&lt;br /&gt;
libgtkmm-3.0-1.dll&lt;br /&gt;
libharfbuzz-0.dll&lt;br /&gt;
libiconv-2.dll&lt;br /&gt;
libintl-8.dll&lt;br /&gt;
libjpeg-8.dll&lt;br /&gt;
liblcms2-2.dll&lt;br /&gt;
liblzma-5.dll&lt;br /&gt;
libpango-1.0-0.dll&lt;br /&gt;
libpangocairo-1.0-0.dll&lt;br /&gt;
libpangoft2-1.0-0.dll&lt;br /&gt;
libpangomm-1.4-1.dll&lt;br /&gt;
libpangowin32-1.0-0.dll&lt;br /&gt;
libpcre-1.dll&lt;br /&gt;
libpixman-1-0.dll&lt;br /&gt;
libpng16-16.dll&lt;br /&gt;
librsvg-2-2.dll&lt;br /&gt;
libsigc-2.0-0.dll&lt;br /&gt;
libstdc++-6.dll&lt;br /&gt;
libtiff-5.dll&lt;br /&gt;
libwinpthread-1.dll&lt;br /&gt;
libxml2-2.dll&lt;br /&gt;
zlib1.dll&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following files also need to be copied:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper.exe -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper-console.exe -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\include -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\modules -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\2.10.0\engines -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gdk-pixbuf-2.0 -&amp;gt; .\lib\gdk-pixbuf-2.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\share\glib-2.0\schemas\gschemas.compiled -&amp;gt; .\share\glib-2.0\schemas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;&amp;lt;prefix&amp;gt;&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;&amp;lt;/code&amp;gt; from above and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; is the installation folder.&lt;br /&gt;
&lt;br /&gt;
== Creating a distributable package ==&lt;br /&gt;
&lt;br /&gt;
If you plan to distribute RawTherapee packages for the Windows platform, as a first step you need to make sure that RawTherapee will be built for the &amp;quot;generic&amp;quot; processor target. To do so, use &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in the CMake command.&lt;br /&gt;
&lt;br /&gt;
During compilation, a script named &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; is created in the RawTherapee installation folder. This script is used by Inno Setup [http://www.jrsoftware.org/isinfo.php], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [http://www.jrsoftware.org/download.php/is-unicode.exe] to avoid problems with some languages.&lt;br /&gt;
&lt;br /&gt;
The current &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script is designed for the &amp;lt;code&amp;gt;gtk2&amp;lt;/code&amp;gt; branch. If you want to create a package for a GTK3 build (&amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; branches) you will need to edit the script and replace the line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\lib\*&amp;quot;; DestDir: &amp;quot;{app}\lib\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\share\*&amp;quot;; DestDir: &amp;quot;{app}\share\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that icons and schemas will be copied into the package.&lt;br /&gt;
&lt;br /&gt;
To help users [[How_to_write_useful_bug_reports|write useful bug reports]], package maintainers are encouraged to produce builds which include both a &amp;quot;release&amp;quot; and a &amp;quot;debug&amp;quot; executable, and to bundle them together with the GDB debugger executable. In other words, put the &amp;lt;code&amp;gt;rawtherapee.exe&amp;lt;/code&amp;gt; (release) file together with the &amp;lt;code&amp;gt;rawtherapee-debug.exe&amp;lt;/code&amp;gt; (debug) file and the &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; file together into the same installer or the same archive. An alternative is to produce &amp;quot;relwithdebinfo&amp;quot; builds - these are much faster than &amp;quot;debug&amp;quot; but not as optimized as &amp;quot;release&amp;quot; builds, yet they provide just about as much useful information as &amp;quot;debug&amp;quot; builds. When making &amp;quot;relwithdebinfo&amp;quot; or &amp;quot;debug&amp;quot; builds you must provide the GDB debugger executable. Windows binaries of the debugger &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; can be downloaded from [http://www.equation.com/servlet/equation.cmd?fa=gdb here] in 32- and 64-bit versions.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;gdb.exe&amp;lt;/code&amp;gt; binary, available from http://www.gnu.org/software/gdb/, should be copied into the RawTherapee installation folder and, if using Inno Setup to generate the package, the &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script should be edited by uncommenting (removing the semicolon from the front of) the following around line 114 of the script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
;Source: &amp;quot;{#MyBuildBasePath}\gdb.exe&amp;quot;; DestDir: &amp;quot;{app}&amp;quot;; Flags: ignoreversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that everything is set up, to create the package right-click on the &amp;lt;code&amp;gt;WindowsInnoSetup.iss&amp;lt;/code&amp;gt; script and choose ''Compile'' from the context menu. It will automatically generate the installer and place it in the parent folder.&lt;br /&gt;
&lt;br /&gt;
To make your new package compatible with the RawTherapee website's upload panel, create a zip archive in which you will place both the newly created installer and the corresponding ''AboutThisBuild.txt'' file which can be found at the same place. Name the resulting zip archive following this template:&lt;br /&gt;
&amp;lt;code&amp;gt;RawTherapee_&amp;lt;WinXP|WinVista&amp;gt;_&amp;lt;32|64&amp;gt;_&amp;lt;version&amp;gt;_&amp;lt;buildtype&amp;gt;.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;WinXP&amp;quot; means that the build is only for Windows XP. &amp;quot;WinVista&amp;quot; means it can run on any version of Windows from Vista upwards, including 10.&lt;br /&gt;
* The &amp;quot;version&amp;quot; will either look like &amp;lt;code&amp;gt;5.2&amp;lt;/code&amp;gt; if you checkout the &amp;lt;code&amp;gt;5.2&amp;lt;/code&amp;gt; tag, or &amp;lt;code&amp;gt;5.2-dev-g1a2b3c4d&amp;lt;/code&amp;gt; if you checkout the &amp;lt;code&amp;gt;dev&amp;lt;/code&amp;gt; branch after 5.2 was tagged.&lt;br /&gt;
* If you are shipping more than one build type in an installer, include the names of all build types, e.g. &amp;lt;code&amp;gt;release_debug&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2_release.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2_release_debug.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RawTherapee_WinVista_64_5.2-dev-g1a2b3c4d_release_debug.zip&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Demosaicing&amp;diff=1650</id>
		<title>Demosaicing</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Demosaicing&amp;diff=1650"/>
		<updated>2017-03-19T02:57:38Z</updated>

		<summary type="html">&lt;p&gt;Ingo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{1:1}}&lt;br /&gt;
&lt;br /&gt;
[[File:Chipincamera.jpg|thumb|Cutaway illustration of a camera showing the light sensor with a Bayer filter.]]&lt;br /&gt;
[[File:Bayer pattern on sensor.svg|thumb|Bayer pattern on sensor.]]&lt;br /&gt;
[[File:Bayer pattern on sensor profile.svg|thumb|Profile/cross-section of sensor.]]&lt;br /&gt;
Most digital cameras today use a [https://en.wikipedia.org/wiki/Color_filter_array color filter array] over their sensors. To display such raw files their data needs to be [http://www.cambridgeincolour.com/tutorials/camera-sensors.htm demosaiced]. Cameras with a [https://en.wikipedia.org/wiki/Foveon_X3_sensor Foveon X3 sensor] (Sigma) do not have color filter arrays and so do not need demosaicing. Demosaicing is why opening a raw file always takes a bit longer than opening a [https://en.wikipedia.org/wiki/JPEG JPEG] or [https://en.wikipedia.org/wiki/TIFF TIFF] file, where the data is already 'display-ready'. RawTherapee offers several demosaicing algorithms, each with its own characteristics. The differences between them are often very subtle - one might need to zoom in to 200-400% to discern them - but since the program works on a pixel-by-pixel basis and demosaicing is the basis upon which all other tools work, the choice of demosaicing algorithm can have a visually significant effect when combined with other tools, such as the sharpening ones. The choice of a certain algorithm influences, among other things, the quality of very fine details in the image, whether false maze patterns will appear, and decides how well colored edges are rendered.&lt;br /&gt;
&lt;br /&gt;
RawTherapee supports demosaicing images from sensors with [https://en.wikipedia.org/wiki/Bayer_filter Bayer filters] and [https://en.wikipedia.org/wiki/Bayer_filter#Fujifilm_.22X-Trans.22_filter Fujifilm X-Trans filters]. If you take a look inside the &amp;quot;Raw&amp;quot; tab, you will notice there are two tools: &amp;quot;Sensor with Bayer Matrix&amp;quot; and &amp;quot;Sensor with X-Trans Matrix&amp;quot;. The settings in one of these two tools have no influence over the settings in the other - if you open a raw image from a Bayer-type sensor, only the settings from the &amp;quot;Sensor with Bayer Matrix&amp;quot; tool will be used, the settings from the &amp;quot;Sensor with X-Trans Matrix&amp;quot; tool will be ignored, and vice versa if you open a raw image from an X-Trans type sensor. For simplicity, we will describe both here.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
The following demosaicing algorithms are available for raw files from Bayer sensors:&lt;br /&gt;
* AMaZE&lt;br /&gt;
* IGV&lt;br /&gt;
* LMMSE&lt;br /&gt;
* EAHD&lt;br /&gt;
* HPHD&lt;br /&gt;
* VNG4&lt;br /&gt;
* DCB&lt;br /&gt;
* AHD&lt;br /&gt;
* Fast&lt;br /&gt;
* Mono&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
The following demosaicing algorithms are available for raw files from X-Trans sensors:&lt;br /&gt;
* 3-Pass&lt;br /&gt;
* 1-Pass&lt;br /&gt;
* Fast&lt;br /&gt;
* Mono&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Comparison of RawTherapee's demosaicing algorithms&amp;quot; perrow=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
Image:Demosaicing city1 amaze.png|AMaZE&lt;br /&gt;
Image:Demosaicing city1 igv.png|IGV&lt;br /&gt;
Image:Demosaicing city1 lmmse.png|LMMSE&lt;br /&gt;
Image:Demosaicing city1 eahd.png|EAHD&lt;br /&gt;
Image:Demosaicing city1 hphd.png|HPHD&lt;br /&gt;
Image:Demosaicing city1 vng4.png|VNG4&lt;br /&gt;
Image:Demosaicing city1 dcb.png|DCB&lt;br /&gt;
Image:Demosaicing city1 ahd.png|AHD&lt;br /&gt;
Image:Demosaicing city1 fast.png|Fast&lt;br /&gt;
Image:Demosaicing city1 none.png|None&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which demosaicing method should you use?&amp;lt;br&amp;gt;&lt;br /&gt;
This page aims to tell you as much about the various algorithms as is relevant to a photographer, but there is no much to say as the explanations would quickly become technical and of a programmatical and mathematical nature. After reading though this article you should know that LMMSE and IGV are to be used on high ISO photos and that for the majority of other cases you should stick with the default AMaZE method, but of course you are free to explore for yourself and to test each method out on your own raw files. It is of no use reading an article somewhere on the internet which claims that some specific method is best because in their test that method was the sharpest, as the performance of each method depends specifically on the sensor in your camera and even on ISO, so keeping our suggestions in mind, run your own test and make up your own mind!&lt;br /&gt;
&lt;br /&gt;
RawTherapee versions 4.2.91 and newer always use the demosaicing method you choose regardless of zoom level.&lt;br /&gt;
RawTherapee versions older than 4.2.91 use the Fast algorithm to initially open the image for editing. After this, the selected demosaicing method is applied when the image is zoomed to 100% magnification or when the detail window is opened. The selected method is also used for batch processing. It is not recommended to select the Fast method for the final conversion, as it is a low-quality algorithm for display purposes.&lt;br /&gt;
&lt;br /&gt;
'''AMaZE''' (Aliasing Minimization and Zipper Elimination) is the default demosaicing method, as it yields the best results in most cases. In RawTherapee versions 2.4 and older VNG4 used to be the preferred algorithm for Olympus cameras, as AMaZE didn't exist yet and VNG4 eliminated certain maze pattern artifacts that might have been created by the other methods, but with the introduction of the AMaZE method in RawTherapee version 3.0 Olympus users might prefer that instead.&lt;br /&gt;
&lt;br /&gt;
'''DCB''' produces similar results to AMaZE. AMaZE can often be slightly superior in recovering details, while DCB can be better at avoiding false colors especially in images from cameras without anti-aliasing filters.&lt;br /&gt;
&lt;br /&gt;
When working with very noisy, high ISO images in conjunction with the [[Noise Reduction]] tool, it is recommended to use the '''LMMSE''' or '''IGV''' demosaicing methods. They will prevent false maze patterns from appearing, and prevent the image from looking washed-out due to heavy noise reduction.&lt;br /&gt;
&lt;br /&gt;
If you use a medium format technical camera with near-symmetrical wide angle lenses such as the Schneider Digitar 28mm or 35mm it's likely that your file will contain some crosstalk, especially if the lens is shifted (due to the low angle of incoming light from these lenses some light leaks over to the next pixel on the sensor), and in this case you can get mazing artifacts with AMaZE and DCB because of green channel separation caused by the crosstalk. If you, via adapters, combine a mirrorless camera with a wide angle lens designed for film, you may also get crosstalk. It can then be better to use the more robust '''VNG4''' algorithm (Variable Number of Gradients) which handles this situation well, at the cost of some fine detail. An alternative is to enable green equilibration to even-out the green channel differences.&lt;br /&gt;
&lt;br /&gt;
'''AHD''' (Adaptive Homogeneity-Directed), '''EAHD''' (Horvath's AHD) and '''HPHD''' (Heterogeneity-Projection Hard-Decision) are old methods which are generally slow and inferior to the other methods.&lt;br /&gt;
&lt;br /&gt;
'''None''' means no demosaicing is performed. This can be useful for diagnostics, but you would not use it for photography.&lt;br /&gt;
&lt;br /&gt;
'''Mono''' is only useful for users of either monochrome cameras, or cameras with the color filter array removed.&lt;br /&gt;
&lt;br /&gt;
'''Fast''' is a very fast but simple and low quality demosaicing method, not recommended.&lt;br /&gt;
&lt;br /&gt;
'''3-Pass''' is a demosaicing method for cameras with X-Trans sensors (Fuji). It runs three passes over the image which leads to sharper results though you can only see this on low ISO photos. It is slower than 1-Pass.&lt;br /&gt;
&lt;br /&gt;
'''1-Pass''' is a demosaicing method for cameras with X-Trans sensors (Fuji). It is faster than the 3-Pass method though a bit inferior in quality, though this difference is only visible in low ISO shots, so if speed is an issue you can use this method on high ISO shots with no visual difference in quality.&lt;br /&gt;
&lt;br /&gt;
=== False Color Suppression Steps ===&lt;br /&gt;
Sets the number of median filter passes applied to suppress demosaicing artifacts when applying the demosaicing algorithm. False colors (speckles) could be introduced during the demosaicing phase where very fine detail is resolved. False color suppression is similar to color smoothing. The luminance channel is not affected by this suppression.&lt;br /&gt;
&lt;br /&gt;
False colors are generally more apparent in images from cameras without anti-aliasing filters. Note that it is foremost the chosen demosaicing algorithm which is the deciding factor in how prominent will be the false color problem with which you will have to deal. In some situations it may be better to change the demosaicing algorithm than to enable false color suppression, as the latter reduces color resolution.&lt;br /&gt;
&lt;br /&gt;
=== How to Find the Best Demosaicing Method ===&lt;br /&gt;
[[image:demosaicing_city1_example_bad.jpg|thumb|A good image to test the demosaicing algorithms on. Zoomed in to 800%, you can clearly see that VNG4 is not a good choice for this Pentax K10D raw file, as there are dots where there should be none, and the detail of the wall’s brickwork (the orange part on the right) is all washed out.]]&lt;br /&gt;
Zoom in to at least 100% (1:1) and try all the demosaicing algorithms, see which works best for you. Try them on sharp photos with fine detail and tiny patterns, such as the wavy and repetitive fabric of a sweater (watch for maze pattern artifacts), a distant brick wall, a distant round road sign (watch for aliasing along the round edges), and test with both low and high ISO shots. Use photos from your own camera; what's best for Nikon raw images may not be what's best for Olympus ones.&lt;br /&gt;
&lt;br /&gt;
=== Monochrome Cameras ===&lt;br /&gt;
A monochrome camera has the same light filter in front of all pixels, that is you get a black-and-white image and no demosaicing is required. Some of these cameras have no infrared filter and are thus sensitive to infrared light, which can be used for creative black and white photography.&lt;br /&gt;
&lt;br /&gt;
RawTherapee supports monochrome cameras, but the user interface is not adapted for it so when you load a monochrome file all color tools will still be enabled (they won't do anything meaningful of course). You will have to live with that, monochrome cameras are rare so we won't put any major effort into making the user interface morph into reduced monochrome-only version.&lt;br /&gt;
&lt;br /&gt;
There are a few additional factors to consider when working with monochrome files: some monochrome cameras report that they have only a single monochrome channel and a neutral color matrix, like Leica M Monochrom, while others report RGB channels in a bayer configuration (like Phase One IQ260 Achromatic, or IR-modified cameras). If the camera reports only one channel, RawTherapee recognizes this and won't perform any demosaicing (the demosaicer selection is still enabled but does not do anything), and everything works normally. However, if the camera reports as an RGB bayer camera, demosaicing will be performed and a color matrix will be applied. To disable this, you should select the &amp;quot;Mono&amp;quot; demosaicing option, and select &amp;quot;No profile&amp;quot; as [[Color_Management#Input_Profile|input profile]] in the Color Management panel.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=How_to_fix_crashes_on_startup&amp;diff=633</id>
		<title>How to fix crashes on startup</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=How_to_fix_crashes_on_startup&amp;diff=633"/>
		<updated>2016-09-18T22:19:43Z</updated>

		<summary type="html">&lt;p&gt;Ingo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The most likely reason RawTherapee might crash immediately after starting is because it loads a problematic processing profile (PP3, they store all the tweaks you make in RawTherapee, one PP3 per photo) or a problematic photo. The reason one of those could be problematic might be because it is corrupt, but it could also be that the file in itself is fine but triggers a bug in RawTherapee, or some aspect of it is unsupported, such as character encoding of the metadata, multiple layers in an image, more or less than three color channels, etc.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' RawTherapee only supports images with three color channels - RGB (or possibly CMY). If you try opening a directory which contains grayscale image files, or ones with four color channels (e.g. CMYK) RawTherapee will throw up an error popup window. Move these out from the startup directory elsewhere, as described below. Of course it might be a valid RGB photo or processing profile that crashes RawTherapee, but first check for non-RGB ones, as these are quite common causes of crashes.&lt;br /&gt;
&lt;br /&gt;
To find the cause of the problem, we will begin with the least invasive and most informative steps, and escalate up to the most destructive steps if the informative ones do not help.&lt;br /&gt;
&lt;br /&gt;
# First, have RawTherapee use a different startup folder:&lt;br /&gt;
## Find the &amp;quot;options&amp;quot; file as described in the [[File paths]] page.&lt;br /&gt;
## Open the &amp;quot;options&amp;quot; file in a text editor like [http://notepad-plus-plus.org/ Notepad++] and see what these two lines are:&lt;br /&gt;
##: &amp;lt;code&amp;gt;StartupDirectory=last&amp;lt;/code&amp;gt;&lt;br /&gt;
##: &amp;lt;code&amp;gt;StartupPath=C:\\Documents and Settings\\Administrator&amp;lt;/code&amp;gt;&lt;br /&gt;
## Make sure the first one is&lt;br /&gt;
##: &amp;lt;code&amp;gt;StartupDirectory=last&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create a new empty directory somewhere on your disk,&lt;br /&gt;
##: Windows: &amp;lt;code&amp;gt;C:\\foo&amp;lt;/code&amp;gt;&lt;br /&gt;
##: Linux: &amp;lt;code&amp;gt;/home/bob/foo&amp;lt;/code&amp;gt;&lt;br /&gt;
## Change the &amp;lt;code&amp;gt;StartupPath=&amp;lt;/code&amp;gt; argument to the directory you just created (it must be an '''existing''' directory which does not contain any photos or PP3 files, and you have to type the whole, absolute path, no shortcuts, with double back-slashes if you use Windows) e.g.&lt;br /&gt;
##: Windows: &amp;lt;code&amp;gt;StartupPath=C:\\foo&amp;lt;/code&amp;gt;&lt;br /&gt;
##: Linux: &amp;lt;code&amp;gt;StartupPath=/home/bob/foo&amp;lt;/code&amp;gt;&lt;br /&gt;
## Now try starting RawTherapee again. If it works, then you know that one of the photos or PP3 files in the original &amp;lt;code&amp;gt;StartupPath&amp;lt;/code&amp;gt; is faulty, so skip step 2 and jump straight to step 3. However, if RawTherapee still crashes right after starting, proceed to the next step.&lt;br /&gt;
# Delete the &amp;lt;code&amp;gt;batch&amp;lt;/code&amp;gt; folder:&lt;br /&gt;
## Find the &amp;quot;batch&amp;quot; folder as described in the [[File paths]] page, and delete it.&lt;br /&gt;
## Now try starting RawTherapee again. If it works, then you know that one of the processing profiles of the photos you sent to the Queue is faulty. Finding which one would be a pain in the ass and I wouldn't bother, but if you really want to, then the next main point section &amp;quot;Nail it down&amp;quot; applies. If it doesn't work, then the problem is not a faulty photo or PP3, the problem lies elsewhere, outside the scope of this guide.&lt;br /&gt;
# Delete the &amp;lt;code&amp;gt;cache&amp;lt;/code&amp;gt; folder:&lt;br /&gt;
## Find the &amp;quot;cache&amp;quot; folder as described in the [[File paths]] page.&lt;br /&gt;
## Move (cut) the &amp;lt;code&amp;gt;cache&amp;lt;/code&amp;gt; directory elsewhere, somewhere where RawTherapee will not look. Instead of moving it you can just delete this &amp;lt;code&amp;gt;cache&amp;lt;/code&amp;gt; directory, but be warned: if you set RawTherapee to only store processing profiles (PP3) in the cache, then you will lose your tweaks. You will not lose any photos. If you do not know whether you did, then you did not, because by default RT stores processing profiles alongside the raw files, not in the cache.&lt;br /&gt;
## Now try starting RawTherapee again. If it works, then you know that one of the processing profiles files in the cache is faulty. Finding which one would be a pain in the ass and I wouldn't bother, but if you really want to, then the next main point section &amp;quot;Nail it down&amp;quot; applies. If it doesn't work, then the problem is not a faulty photo or PP3, the problem lies elsewhere, outside the scope of this guide.&lt;br /&gt;
# Nail it down&lt;br /&gt;
#:You've established that either a processing profile or photo is to blame for the crash. It would be most helpful if you could nail the problem down to a specific file, so that we can analyze it and develop techniques for dealing with such an enemy. See the [[How_to_write_useful_bug_reports#When_RawTherapee_crashes_-_An_introduction_to_stack_backtraces|guide to stack-backtraces]]. If you can follow those instructions, a backtrace would be of great value, yet even a backtrace might not expose the problematic file, so read on. By now you should know which directory contains the faulty file(s) and you should have either set RawTherapee to start up using a different directory, or you have moved the cache out somewhere else. To make it clear, let us assume three things:&lt;br /&gt;
#* That the directory which contains a file that crashes RawTherapee is &amp;lt;code&amp;gt;C:\photos\bugs&amp;lt;/code&amp;gt; and that your options file had &amp;lt;code&amp;gt;StartupPath=C:\\photos\\bugs&amp;lt;/code&amp;gt;&lt;br /&gt;
#* That you changed &amp;lt;code&amp;gt;StartupPath=C:\\photos\\bugs&amp;lt;/code&amp;gt; in the &amp;quot;options&amp;quot; file to the existing and empty &amp;lt;code&amp;gt;StartupPath=C:\\foo&amp;lt;/code&amp;gt;&lt;br /&gt;
#* That there are 100 photos in the faulty directory, &amp;lt;code&amp;gt;001.raw&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;100.raw&amp;lt;/code&amp;gt;&lt;br /&gt;
#: Let's find the faulty file:&lt;br /&gt;
## This is grunt work. I use raw files as examples, but in your case it might be the processing profiles, not the raw files. Or it might be JPEG files, PNG files, or any other file in the faulty dir. What we're going to do is to keep halving the pool of possibilities until we find the problem. This is the fastest way.&lt;br /&gt;
## If RawTherapee is running, close it.&lt;br /&gt;
## Move half of the files (&amp;lt;code&amp;gt;001.raw&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;050.raw&amp;lt;/code&amp;gt;) from this problematic directory (&amp;lt;code&amp;gt;C:\photos\bugs&amp;lt;/code&amp;gt;) back into a directory that RawTherapee reads (&amp;lt;code&amp;gt;C:\foo&amp;lt;/code&amp;gt;)&lt;br /&gt;
## Start RawTherapee.&lt;br /&gt;
## If it crashed, go to the next step. If it did not crash, then go back to step 4.3, but move the other half (&amp;lt;code&amp;gt;051.raw&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;100.raw&amp;lt;/code&amp;gt;).&lt;br /&gt;
## Move half of the files you just moved (&amp;lt;code&amp;gt;001.raw&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;025.raw&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;051.raw&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;075.raw&amp;lt;/code&amp;gt;) out from &amp;lt;code&amp;gt;C:\foo&amp;lt;/code&amp;gt; and back into the directory which RawTherapee doesn't read (&amp;lt;code&amp;gt;C:\photos\bugs&amp;lt;/code&amp;gt;).&lt;br /&gt;
## Jump back to step 4.4. Repeat until you find the faulty file.&lt;br /&gt;
&lt;br /&gt;
Zip this faulty file (even if it's a text PP3 file, because zipping it will prevent any website from touching it and possibly removing the cause of the crash [it could be something you can't see]), upload it to [http://filebin.net/ FileBin] and link us to it in the [http://rawtherapee.com/forum/ Forum].&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=IRC&amp;diff=631</id>
		<title>IRC</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=IRC&amp;diff=631"/>
		<updated>2016-09-18T22:15:17Z</updated>

		<summary type="html">&lt;p&gt;Ingo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you would like to chat with other RawTherapee users about any topic in real time, or catch one of the devs, feel welcome to join our [https://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] channel:&lt;br /&gt;
 Channel: #rawtherapee&lt;br /&gt;
 Network: freenode&lt;br /&gt;
 Server: chat.freenode.net&lt;br /&gt;
&lt;br /&gt;
To do so, follow these steps:&lt;br /&gt;
# Use [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=rawtherapee&amp;amp;prompt=1 webchat], or download an [http://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients IRC client] (which is a piece of software that lets users like us talk on IRC). There are many free clients for all platforms.&lt;br /&gt;
#* For Windows: [http://hexchat.github.io/ HexChat], [http://quassel-irc.org/ Quassel] or [http://chatzilla.hacksrus.com/ ChatZilla] (for Firefox).&lt;br /&gt;
#* For Linux: [http://konversation.kde.org/ Konversation], [http://hexchat.github.io/ HexChat] or [http://www.weechat.org/ WeeChat] or [http://chatzilla.hacksrus.com/ ChatZilla] (for Firefox).&lt;br /&gt;
#* For Mac OS X users the same suggestions apply as for Linux users.&lt;br /&gt;
#* For Android: [https://play.google.com/store/apps/details?id=org.yaaic Yaaic]&lt;br /&gt;
#: The Opera web browser also has native IRC support.&lt;br /&gt;
#: Once you've installed an IRC client, take a look at its settings. You might want to change and set some things, e.g. set your nickname, enable %H:%M:%S timestamps, etc.&lt;br /&gt;
# Connect to a freenode server. Type &amp;lt;code&amp;gt;/server chat.freenode.net&amp;lt;/code&amp;gt;&lt;br /&gt;
# Join the #rawtherapee channel. Type: &amp;lt;code&amp;gt;/join #rawtherapee&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you come to our IRC channel and nobody is around at the moment, don't quit after two minutes, just leave your IRC client running in the background and check back in a few hours. Your question will be seen and answered if you are still online, even if you asked it a few hours ago.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=635</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Windows&amp;diff=635"/>
		<updated>2016-06-29T18:49:28Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Creating a distributable package */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from [https://msys2.github.io/]. Then run the following commands using either ''MinGW-w64 Win32 Shell'' or ''MinGW-w64 Win64 Shell'' depending on whether you want to build a 32-bit or a 64-bit version.&lt;br /&gt;
&lt;br /&gt;
== Install tools and libraries ==&lt;br /&gt;
&lt;br /&gt;
First, install a few miscellaneous tools&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ pacman -S tar gzip nano make diffutils intltool git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then install the necessary development tools&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-make mingw-w64-i686-pkg-config mingw-w64-i686-cmake&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and the required libraries&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# win32&lt;br /&gt;
$ pacman -S mingw-w64-i686-gtkmm mingw-w64-i686-gtkmm3 mingw-w64-i686-lcms2 mingw-w64-i686-fftw&lt;br /&gt;
# win64&lt;br /&gt;
$ pacman -S mingw-w64-x86_64-gtkmm mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-lcms2 mingw-w64-x86_64-fftw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build libiptcdata ==&lt;br /&gt;
&lt;br /&gt;
The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ tar xzf libiptcdata-1.0.4.tar.gz&lt;br /&gt;
$ cd libiptcdata-1.0.4&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards ''Makefile'' needs to be opened using a text editor to remove ''iptc'' and ''docs'' from the lists named ''SUBDIRS'' and ''DIST_SUBDIRS'' as building or installing will fail otherwise.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ nano Makefile&lt;br /&gt;
&lt;br /&gt;
# Replace&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python&lt;br /&gt;
# by&lt;br /&gt;
DIST_SUBDIRS = m4 libiptcdata po win python&lt;br /&gt;
&lt;br /&gt;
# And replace&lt;br /&gt;
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)&lt;br /&gt;
# by&lt;br /&gt;
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally build and install the library&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and build Clearlooks ==&lt;br /&gt;
&lt;br /&gt;
RawTherapee versions that use version 2 of Gtk+ need the Clearlooks theme engine which can be downloaded and built using&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ tar xzf gtk-engines-2.21.0.tar.gz&lt;br /&gt;
$ cd gtk-engines-2.21.0&lt;br /&gt;
&lt;br /&gt;
# win32&lt;br /&gt;
$ ./configure --prefix=/mingw32 --disable-all --enable-clearlooks&lt;br /&gt;
# win64&lt;br /&gt;
$ ./configure --prefix=/mingw64 --disable-all --enable-clearlooks&lt;br /&gt;
&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clone and build RawTherapee ==&lt;br /&gt;
&lt;br /&gt;
First, clone RawTherapee's Git repository&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone http://github.com/Beep6581/RawTherapee.git&lt;br /&gt;
$ cd RawTherapee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and optionally checkout a specific branch if you do not want to build the default ''master'', e.g.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ git checkout gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, create a separate directory for the build&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and run CMake and Make&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
$ cmake -G &amp;quot;MSYS Makefiles&amp;quot; -DCMAKE_BUILD_TYPE=&amp;quot;debug&amp;quot; -DPROC_TARGET_NUMBER=&amp;quot;2&amp;quot; -DBUILD_BUNDLE=&amp;quot;ON&amp;quot; -DCMAKE_INSTALL_PREFIX=&amp;quot;.&amp;quot; -DBINDIR=&amp;quot;.&amp;quot; -DDATADIR=&amp;quot;.&amp;quot; -DCACHE_NAME_SUFFIX=4 ..&lt;br /&gt;
$ make -j8&lt;br /&gt;
$ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[Linux]] article for an explanation of the various options passed to CMake and Make.&lt;br /&gt;
&lt;br /&gt;
If you are doing an optimized build, e.g. ''release'' or ''relwithdebinfo'', for older 32-bit versions of Windows like XP, you will need to add the ''-mstackrealign'' compiler flag, i.e.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
-DCMAKE_C_FLAGS=&amp;quot;-mstackrealign&amp;quot; -DCMAKE_CXX_FLAGS=&amp;quot;-mstackrealign&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Copy RawTherapee and required DLL ==&lt;br /&gt;
&lt;br /&gt;
RawTherapee can now be started from the MSYS2 command line&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
# for debug builds&lt;br /&gt;
$ cd debug&lt;br /&gt;
# for release builds&lt;br /&gt;
$ cd release&lt;br /&gt;
$ ./rawtherapee.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file manager can be used to copy the contents of ''&amp;lt;MSYS2&amp;gt;\home\&amp;lt;User&amp;gt;\RawTherapee\build\&amp;lt;debug|release&amp;gt;'' together with the necessary DLL from ''&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;\bin'' into a RawTherapee installation folder, where ''&amp;lt;MSYS2&amp;gt;'' is the MSYS2 installation folder and ''&amp;lt;User&amp;gt;'' the Windows user name.&lt;br /&gt;
&lt;br /&gt;
A (possibly incomplete) list of required DLL is&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
libatk-1.0-0.dll&lt;br /&gt;
libatkmm-1.6-1.dll&lt;br /&gt;
libbz2-1.dll&lt;br /&gt;
libcairo-2.dll&lt;br /&gt;
libcairo-gobject-2.dll&lt;br /&gt;
libcairomm-1.0-1.dll&lt;br /&gt;
libepoxy-0.dll&lt;br /&gt;
libexpat-1.dll&lt;br /&gt;
libffi-6.dll&lt;br /&gt;
libfftw3f-3.dll&lt;br /&gt;
libfontconfig-1.dll&lt;br /&gt;
libfreetype-6.dll&lt;br /&gt;
libgcc_s_dw2-1.dll|libgcc_s_seh-1.dll&lt;br /&gt;
libgdk-3-0.dll&lt;br /&gt;
libgdk-win32-2.0-0.dll&lt;br /&gt;
libgdkmm-2.4-1.dll&lt;br /&gt;
libgdkmm-3.0-1.dll&lt;br /&gt;
libgdk_pixbuf-2.0-0.dll&lt;br /&gt;
libgio-2.0-0.dll&lt;br /&gt;
libgiomm-2.4-1.dll&lt;br /&gt;
libglib-2.0-0.dll&lt;br /&gt;
libglibmm-2.4-1.dll&lt;br /&gt;
libgmodule-2.0-0.dll&lt;br /&gt;
libgobject-2.0-0.dll&lt;br /&gt;
libgomp-1.dll&lt;br /&gt;
libgtk-3-0.dll&lt;br /&gt;
libgtk-win32-2.0-0.dll&lt;br /&gt;
libgtkmm-2.4-1.dll&lt;br /&gt;
libgtkmm-3.0-1.dll&lt;br /&gt;
libharfbuzz-0.dll&lt;br /&gt;
libiconv-2.dll&lt;br /&gt;
libintl-8.dll&lt;br /&gt;
libjpeg-8.dll&lt;br /&gt;
liblcms2-2.dll&lt;br /&gt;
liblzma-5.dll&lt;br /&gt;
libpango-1.0-0.dll&lt;br /&gt;
libpangocairo-1.0-0.dll&lt;br /&gt;
libpangoft2-1.0-0.dll&lt;br /&gt;
libpangomm-1.4-1.dll&lt;br /&gt;
libpangowin32-1.0-0.dll&lt;br /&gt;
libpixman-1-0.dll&lt;br /&gt;
libpng16-16.dll&lt;br /&gt;
libsigc-2.0-0.dll&lt;br /&gt;
libstdc++-6.dll&lt;br /&gt;
libtiff-5.dll&lt;br /&gt;
libwinpthread-1.dll&lt;br /&gt;
zlib1.dll&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following files also need to be copied&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper.exe -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\bin\gspawn-&amp;lt;win32|win64&amp;gt;-helper-console.exe -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\include -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\modules -&amp;gt; .&lt;br /&gt;
&amp;lt;prefix&amp;gt;\lib\gtk-2.0\2.10.0\engines -&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prefix&amp;gt;\share\glib-2.0\schemas\gschemas.compiled -&amp;gt; .\share\glib-2.0\schemas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where ''&amp;lt;prefix&amp;gt;'' is ''&amp;lt;MSYS2&amp;gt;\&amp;lt;mingw32|mingw64&amp;gt;'' from above and ''.'' is the installation folder.&lt;br /&gt;
&lt;br /&gt;
== Creating a distributable package ==&lt;br /&gt;
&lt;br /&gt;
If you plan to distribute Rawtherapee packages for the Windows platform, as a first step you need to make sure that Rawtherapee will be built for the generic processor target. To do so, use &amp;lt;code&amp;gt;-DPROC_TARGET_NUMBER=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in the cmake command.&lt;br /&gt;
&lt;br /&gt;
During compilation, a script named ''WindowsInnoSetup.iss'' is created in the Rawtherapee installation folder. This script is used by Inno Setup [http://www.jrsoftware.org/isinfo.php], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [http://www.jrsoftware.org/download.php/is-unicode.exe] to avoid problems with some languages.&lt;br /&gt;
The current ''WindowsInnoSetup.iss'' script is designed for the current master branch (Gtk+2). If you want to create a package from the Gtk3 branch, you will need to edit the script and replace the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\lib\*&amp;quot;; DestDir: &amp;quot;{app}\lib\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\share\*&amp;quot;; DestDir: &amp;quot;{app}\share\&amp;quot;; Flags: ignoreversion recursesubdirs createallsubdirs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that icons and schemas will be copied into the package.&lt;br /&gt;
&lt;br /&gt;
To help users [http://50.87.144.65/~rt/w/index.php?title=How_to_write_useful_bug_reports filing useful bug reports], package maintainers are encouraged to produce Debug builds along each of their Release builds, and to bundle them with the gdb debugger executable. Windows binaries of the debugger (gdb.exe) can be downloaded from [http://www.equation.com/servlet/equation.cmd?fa=gdb here] in 32 and 64 bits versions.&lt;br /&gt;
&lt;br /&gt;
The ''gdb.exe'' binary should be copied in Rawtherapee installation folder and, if using Inno Setup to generate the package, the ''WindowsInnoSetup.iss'' script should be edited by adding the following line around line 121 of the script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap&amp;quot;&amp;gt;&lt;br /&gt;
Source: &amp;quot;{#MyBuildBasePath}\gdb.exe&amp;quot;; DestDir: &amp;quot;{app}&amp;quot;; Flags: ignoreversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that GDB is a program released under GNU GPL license, its soure code can be downloaded at http://www.gnu.org/software/gdb/.&lt;br /&gt;
&lt;br /&gt;
Now that everything is set up, to create the package right click on the ''WindowsInnoSetup.iss'' script and choose ''Compile'' from the context menu. It will automatically generate the installer and place it in the parent folder. To make your new package compatible with the official Rawtherapee website uploader, create a zip archive in which you'll place both the newly created installer and the corresponding ''AboutThisBuild.txt'' which should be found at the same place. Name the resulting zip archive following this template: RawTherapee_&amp;lt;WinXP|WinVista&amp;gt;_&amp;lt;32|64&amp;gt;_branch_buildtype_version.zip (for example, Rawtherapee_WinVista_64_gtk3_Release_4.2.730.zip).&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Resize&amp;diff=555</id>
		<title>Resize</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Resize&amp;diff=555"/>
		<updated>2015-12-02T22:07:05Z</updated>

		<summary type="html">&lt;p&gt;Ingo: /* Post-Resize Sharpening */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resizing can be applied to the cropped area or to the whole image.&lt;br /&gt;
&lt;br /&gt;
Choose your preferred resizing algorithm:&lt;br /&gt;
* Nearest&lt;br /&gt;
* Lanczos&lt;br /&gt;
: Lanczos results in the highest quality sampling and is therefore the recommended and default option.&lt;br /&gt;
&lt;br /&gt;
Versions of RawTherapee prior to 4.2.152 also have these additional resizing algorithms, but their use is discouraged as &amp;quot;Lanczos&amp;quot; produces the best results, which is why they were removed in newer versions:&lt;br /&gt;
* Bilinear&lt;br /&gt;
* Bicubic&lt;br /&gt;
* Bicubic (Softer)&lt;br /&gt;
* Bicubic (Sharper)&lt;br /&gt;
&lt;br /&gt;
You can resize according to:&lt;br /&gt;
* Scale&lt;br /&gt;
: e.g. have the resulting image 0.5 times the size of the full one,&lt;br /&gt;
* Width&lt;br /&gt;
: by specifying the desired width so that the height is automatically and proportionally scaled,&lt;br /&gt;
* Height&lt;br /&gt;
: by specifying the desired height so that the width is automatically and proportionally scaled,&lt;br /&gt;
* Bounding Box&lt;br /&gt;
: by specifying the maximum width and height you want your image to have, and leave it up to RawTherapee to figure out how to proportionally fit your image into this box.&lt;br /&gt;
&lt;br /&gt;
The effects of the ''Resize'' tool will not be shown in the preview. This is a limitation of RawTherapee's current engine. Resizing is done at the end of the processing pipeline. The output image will of course be resized.&lt;br /&gt;
&lt;br /&gt;
== Post-Resize Sharpening ==&lt;br /&gt;
[[File:Rt-4.2.235_postresizesharpening.png|frame|right|Screenshot of the Post-Resize Sharpening tool which is part of the Resize tool available from RawTherapee-4.2.235 onwards.]]&lt;br /&gt;
Resizing an image often leads to a loss of sharpness, so it is common practice to sharpen the image again after having resized it. With the Post-Resize Sharpening tool you can save crystal-clear images straight away with no further hassle. Because this tool works on the image after it is resized, you cannot use the preview to see what it will do, though this is not a problem because the procedure for finding the right values is straightforward.&lt;br /&gt;
&lt;br /&gt;
The default values work great, but if you want to change them, here's how:&lt;br /&gt;
# Tweak your image as you usually would and enable resizing (e.g. downscale using the Lanczos method to a 900px bounding box),&lt;br /&gt;
# Save the image to a lossless format such as TIFF,&lt;br /&gt;
# Open that saved TIFF, apply the (Neutral) processing profile if that wasn't done automatically, and enable the Sharpening tool in the Detail tab,&lt;br /&gt;
# Zoom to 100% (1:1) and tweak the Sharpening tool's parameters until you get a result that satisfies you. These are the values you should use in the Post-Resize Sharpening tool.&lt;br /&gt;
# Go back to the raw image, enable the Post-Resize Sharpening tool and set it up with the values from the previous step.&lt;br /&gt;
&lt;br /&gt;
In most cases the default values in the Post-Resize Sharpening tool work great, so give them a try before fiddling.&lt;br /&gt;
&lt;br /&gt;
For technical reasons, the Post-Resize Sharpening tool is only available when you use the &amp;quot;Lanczos&amp;quot; resizing method.&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
	<entry>
		<id>http://rawpedia.rawtherapee.com/index.php?title=Toolchain_Pipeline&amp;diff=859</id>
		<title>Toolchain Pipeline</title>
		<link rel="alternate" type="text/html" href="http://rawpedia.rawtherapee.com/index.php?title=Toolchain_Pipeline&amp;diff=859"/>
		<updated>2014-09-03T22:33:16Z</updated>

		<summary type="html">&lt;p&gt;Ingo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the order in which RawTherapee processes images. Users can learn how to better use the tools, knowing what happens when in the pipeline, and programmers can use this reference to quickly find the right place in the code to insert new tools and to find which files a given tool resides in.&lt;br /&gt;
&lt;br /&gt;
https://code.google.com/p/rawtherapee/issues/detail?id=2233&lt;br /&gt;
&lt;br /&gt;
List of all tools in RawTherapee:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Generic/Main preview&lt;br /&gt;
  Input profile&lt;br /&gt;
  Monitor Color Profile&lt;br /&gt;
  Working profile&lt;br /&gt;
  Output profile&lt;br /&gt;
  Clipping indication&lt;br /&gt;
  Red/Green/Blue/Luminosity/Focus mask previews&lt;br /&gt;
  Colorimetric intent&lt;br /&gt;
---&lt;br /&gt;
Exposure&lt;br /&gt;
  Highlight Reconstruction&lt;br /&gt;
Shadows/Highlights&lt;br /&gt;
Tone Mapping&lt;br /&gt;
Vignette Filter&lt;br /&gt;
Graduated Filter&lt;br /&gt;
Lab Adjustments&lt;br /&gt;
  L, a, b&lt;br /&gt;
  LH, CH, HH, CC, LC, CL&lt;br /&gt;
CIECAM02&lt;br /&gt;
---&lt;br /&gt;
Sharpening&lt;br /&gt;
Edges&lt;br /&gt;
Microcontrast&lt;br /&gt;
Impulse Noise Reduction&lt;br /&gt;
Noise Reduction&lt;br /&gt;
Defringe&lt;br /&gt;
Contrast by Detail Levels&lt;br /&gt;
---&lt;br /&gt;
White Balance&lt;br /&gt;
Vibrance&lt;br /&gt;
Channel Mixer&lt;br /&gt;
Black-and-White&lt;br /&gt;
HSV Equalizer&lt;br /&gt;
Film Simulation&lt;br /&gt;
RGB Curves&lt;br /&gt;
Color Toning&lt;br /&gt;
Color Management&lt;br /&gt;
---&lt;br /&gt;
Crop&lt;br /&gt;
Resize&lt;br /&gt;
Lens/Geometry&lt;br /&gt;
  Rotate&lt;br /&gt;
  Perspective&lt;br /&gt;
  Lens Correction Profile&lt;br /&gt;
  Distortion Correction&lt;br /&gt;
  Chromatic Aberration Correction&lt;br /&gt;
  Vignette Correction&lt;br /&gt;
---&lt;br /&gt;
Sensor with Bayer matrix&lt;br /&gt;
  Demosaicing&lt;br /&gt;
  Raw Black Points&lt;br /&gt;
  Preprocessing&lt;br /&gt;
  Chromatic Aberration&lt;br /&gt;
Sensor with X-Trans matrix&lt;br /&gt;
  Demosaicing&lt;br /&gt;
  Raw Black Points&lt;br /&gt;
Raw White Points&lt;br /&gt;
Preprocessing&lt;br /&gt;
Dark Frame&lt;br /&gt;
Flat-Field&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Order of tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dark Frame Subtraction&lt;br /&gt;
&lt;br /&gt;
Flat Field Correction [http://code.google.com/p/rawtherapee/source/browse/rtengine/rawimagesource.cc#1270 RawImageSource::processFlatField]&lt;br /&gt;
&lt;br /&gt;
Read Bad Pixels from .badpixel file (bp1)&lt;br /&gt;
&lt;br /&gt;
Get Hot Pixels from Darkframe (bp2)&lt;br /&gt;
&lt;br /&gt;
Scale Colors (internal, no tool)&lt;br /&gt;
&lt;br /&gt;
Vignetting correction from lcp (only if Flat Field correction is disabled)&lt;br /&gt;
&lt;br /&gt;
Raw Hot/Dead Pixel Detection (bp3)&lt;br /&gt;
&lt;br /&gt;
Interpolation of all Hot/Dead Pixels collected in bp1, bp2 and bp3&lt;br /&gt;
&lt;br /&gt;
Green equilibration&lt;br /&gt;
&lt;br /&gt;
Line Noise Filter [http://code.google.com/p/rawtherapee/source/browse/rtengine/cfa_linedn_RT.cc#42 RawImageSource::CLASS cfa_linedn]&lt;br /&gt;
&lt;br /&gt;
Raw CA correction [http://code.google.com/p/rawtherapee/source/browse/rtengine/CA_correct_RT.cc#105 RawImageSource::CA_correct_RT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For now, this is a stub to test GraphViz and LaTeX/MathML.&lt;br /&gt;
&lt;br /&gt;
GraphViz test diagram 1:&lt;br /&gt;
&amp;lt;graphviz border='frame' format='png' caption='Graph for example no. 1'&amp;gt;&lt;br /&gt;
digraph example1 {Hello-&amp;gt;World}&lt;br /&gt;
&amp;lt;/graphviz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GraphViz test diagram 2:&lt;br /&gt;
&amp;lt;graphviz renderer='neato' caption='Graph for example no. 2'&amp;gt;&lt;br /&gt;
graph example2 {&lt;br /&gt;
  run -- intr;&lt;br /&gt;
  intr -- runbl;&lt;br /&gt;
  runbl -- run;&lt;br /&gt;
  run -- kernel;&lt;br /&gt;
  kernel -- zombie;&lt;br /&gt;
  kernel -- sleep;&lt;br /&gt;
  kernel -- runmem;&lt;br /&gt;
  sleep -- swap;&lt;br /&gt;
  swap -- runswap;&lt;br /&gt;
  runswap -- new;&lt;br /&gt;
  runswap -- runmem;&lt;br /&gt;
  new -- runmem;&lt;br /&gt;
  sleep -- runmem;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/graphviz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LaTeX math test:&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) = x^2\,&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ingo</name></author>
	</entry>
</feed>