My computers are aging and the only ones I have setup for running Linux are 32bit. Thus, I’m considering building a 64bit computer with the intent of customizing it to be as good as possible for photo/graphics processing using Linux. The Linux would likely be Ubuntu unless someone knows a good reason to use another distribution.
A big unknown for me pertains to Linux (maybe Ubuntu) support for graphics cards that might be especially desirable for use with digital image processing software like GIMP & Rawtherapee which I’ve been using on Windows as well as others, like maybe Darktable, that only run on Linux. While I can go and research the features of graphic cards on my own, I suspect that this won’t tell me either that Linux supports a particular feature or possibly even that the relevant software exploits such features. I would definitely want to be able to calibrate my monitor and may even consider upgrading it if this produced a positive outcome.
Of course if there are other, than graphics card, considerations peculiar to digital image processing that should be considered I’m like to learn about that as well.
I suppose this might be seen as a little off subject but I’m hoping that this community includes people with relevant experience.
I believe that the graphics card is generally abstracted by OpenCL or OpenGL support on Linux. So applications that support OpenCL/GL can make use of your graphics card for processing.
I know for sure that darktable and hugin can both use OpenCL. I haven’t done this much with darktable, but with large hugin projects, my GTX970 significantly reduced the processing time.
Lots of Linux users don’t like nVidia because they don’t support the in-kernel drivers. If you want decent performance with an nVidia card, you’ll need to use the proprietary driver. Good news is that on many distros now, Ubuntu included, but also Fedora and OpenSuSe, it is very easy to install the proprietary driver.
AMD is working towards getting a good in-kernel driver implementation, which when finished, will be quite nice. Right now those drivers require a very recent version of the kernel.
Graphics cards can be quite expensive, so as long as it supports OpenCL/GL, then the “best” one to get is one that won’t break the bank I’d rather have more RAM than step up to a better graphics card, but that is my opinion.
When it comes to expense I suspect it is hard to beat the integrated kind like the Intel i5 processor on my Windows computer. The possible negative here could be putting all your eggs in one basket so to speak. I’m not against spending some extra money but would only want to do that if there is a useful benefit. For example, I think the integrated chip does consume memory that could otherwise be used for processing. While the cost of processor memory is likely least per byte all systems have some limit on how much can be installed.
I must admit to having a limited understand of how display calibration works but there must be some kind of conversion being done somewhere. If this could be transferred to the graphic card card that should be helpful. For some reason, I’ve been thinking this might be possible but my knowledge is sufficiently limited that it doesn’t justify extra spending.
Another preconceived notion of mine is that pricey graphics cards are mostly targeted at video game players which doesn’t interest me at all.
There has been an explosion of machine learning and the like lately, which use GPUs to do a lot of the computation. We have several threads here about deep learning with google’s deep dream software, which will take an eon to compute on integrated graphics. It took a long time to run deepdreamer on my GTX970!
GPU acceleration is great for people in imaging, as it speeds things up a lot (given that the application supports it). For example, I was stitching a pretty big hugin project: on the machine with integrated intel graphics and 32GB RAM, the stitching took 8.5 hours; on the machine with 16GB RAM and an nVidia GTX970, it took 1.5 hours. Both machines have similar i5 CPUs.