Linux support

It would be very useful if DxO, particularly PL, would run under Linux, in particular, Ubuntu LTS most recent production release (currently, 22.04). It is even possible that Canonical might help DxO produce a Linux port as Canonical supports “non-free” hardware drivers and non-free applications run well under Ubuntu LTS. I do not know the source code language/s used by DxO, but I suspect that most exist under Linux. As DxO seems to use OpenGL, this should be feasible.

This has often been discussed at length in the last year or so. I hate to disappoint you, but It is not going to happen.

Mark

1 Like

Why? The usual reason in the past was neither market share nor development costs (most of the cross porting development support issues are addressed by a number of integrated development environments that support MS Windows MFCs and related components, and MacOSX that internally is BSD “unix”, also support basic Linux) – but the restrictions of the MS monopoly. However, much of the MS monopoly has been broken in the EU in which DxO is based, even to the point that MS Edge (the replacement for MS Internet Explorer) has been ported to Ubuntu so that Ubuntu systems can access web sites and utilities (such as those that depend upon MS proprietary email systems that are not truly IMAP compliant as well as web sites that are not truly W3C compliant) just as well as a native MS Windows personal computer (not server). There exist proprietary licensed for fee application systems (such as Qoppa PDF Studio, an Adobe Acrobat replacement for Linux) that are not forced to license for free nor release source code. Blackmagic Designs DaVinci runs under Linux – why not DxO PL?

There were a number of long threads on the topic but I won’t rehash them here. If you search, I’m sure you will find at least some of them.

Mark

1 Like

Let this be the final word in this thread…

2 Likes

Let this not be the final word, as I have an alternative suggestion with which probably even Svetlana and the other DxO spokespersons on these fora could agree. DxO source code is proprietary, and clearly whatever development tools (presumably an integrated development environment, particularly as DxO supports both the proprietary MS Windows system and the proprietary Apple MacOS X system, the latter based upon BSD “unix”, and thus at least two different processor architectures (X86-64 for MS, ARM for Apple)) are used are not revealed by DxO. There is a commercial supported MS Windows workalike (not a hypervisor virtual machine, and not a processor instruction set emulator) from CodeWeavers called CrossOver (that is a licensed for fee commercial and supported “version” of the enthusiast Wine). A VERY SIMPLE REQUEST (Sevtlana, Marie, et al): do not reveal the source code from DxO but DO REVEAL which MS Windows supplied and third party (not DxO) library and systems internal functions are required for PL5 (and any successor application, eg, PL 6, 7, … ) to run. If CodeWeavers will integrate this functionality into CrossOver, including exposing the GPU of the physical platform as needed (eg., Nvidia provides GPU drivers and interfaces, not only for MS Windows but, unlike DxO, for Linux as well), then a licensed for fee PL should work with a licensed for fee CrossOver. Whether or not CodeWeavers decides to cooperate is up to that business – but revealing the calls/requirements of DxO can be accomplished simply by looking at the execution requirements of the DxO program under an actual MS Win environment – but made much easier if DxO would cooperate just a bit. CodeWeavers does NOT implement every call of MS Win, but can implement many. I fully understand that anyone using an application such as PL may find that CodeWeavers has misimplemented something, and thus one cannot expect DxO to support PL running through CrossOver, and CodeWeavers may find that MS Windows does not behave as advertised by MS (library calls that are misdocumented by MS but are handled through the development tools used by MS Windows application developers such as DxO). Is revealing the calls made to MS Win such a big thing? This is NOT revealing source code nor any algorithms or designs used by DxO – merely what parts of MS Win are needed for PL to run.

You have got to be joking. Who is going to do all the work? Who is going to test it? Who is going to implement it? Who will update it? Who will provide ongoing user support? If there are issues with it, who do you think users will contact to fix it? This changes nothing. @sgospodarenko doesn’t speak just for herself, she speaks for DxO.

Mark

5 Likes

Spot on, Mark. I, for one, would like DxO to spend their time on PL and not on a Linux port. The original poster doesn’t seem to realize what he’s asking for.

5 Likes

There’s a saying “nothing is impossible for somebody who doesn’t have to DO it himself” :smiley: I simply wonder why the OpenSource fans are not going to help Darktable project to become better?

1 Like

:+1: there’s also the classic demotivational poster:

There are a number of issues that make your suggestion difficult or impossible. 1. The algorithms and the quantitative data needed are not trivial.

  1. The skill, knowledge, and understanding required by an image/video processing application developer or implementer is substantial, typically obtained through an advanced degree given the sophistication and complexity of most software and hardware applications today. (“The simple problems have been solved”.)

  2. The number of person hours required to design, develop, write source code and/or use other applications to construct such source, implement, and test today is too large for single individuals. Simple applications can be done by one or a few people.

Helping Darkroom, or GIMP for that matter, to become better has two components: noticing deficiencies and actually implementing code. Simply inserting a snippet of code may solve an immediate issue, but can lead to long term bad consequences, including a failure of maintainability.

There is however a huge difference between an application such as PL or Darktable and an operating environment (such as Mac OS X, MS Windows, or Linux) having to do with vulnerabilities and compromises. Although PL could be a gateway to a compromise (anywhere from seizing a system for ransom to simply theft of copyrighted images and intellectual property from a photographer), given the exposure the risk is much lower than say either an operating environment or a primary web/Internet access/use application (eg, a web browser). Open source code allows a larger number of experienced persons to view the source and detect errors or vulnerabilities. (The argument that having the source code increases risk has repeatedly been shown to be specious based on observation – in cryptography, the security is in the keys, not in having a secret algorithm. “Secret” code typically can be reverse engineered and those with criminal intent or in clandestine agencies typically have little respect for intellectual property.)

Wrong place to plead, I’m afraid @wildlifephoto : In two polls were 25 votes (of 6681 users registered in this forum =0.37%) for a portation to Linux. Even if I’m very naïve and say “I’m sure there were no users voting twice for the same thing”, 25 × $219 = $5475. Where do you find enough developers, working for that kind of pocket money for the time necessary to port and to support lateron? While at the same time the now employed developers won’t be distracted by that little side project and could go on with long standing feature requests, working on new lens and body profiles also partly long before requested? By users who already paid for this kind of development and update?

That’s the reason for that kind of resistance. By all what does PL really well and maybe superior to other RAW converters, there are also a number of open construction sites, bugs to be fixed, features to be developed.

There’s no single Linux user coming up with a contract to buy enough licenses to make your adventure work. You can reason as long and deep as you want, money and time remain limited. Speak to DxO sales, open up a crowdfunding project – do whatever you want, I just feel this forum is the wrong place to initiate a Linux version.

3 Likes

This is a spurious argument. Particularly with cryptography. As Phil Zimmerman once said (paraphrasing from memory) 90% of users don’t look at the source code. Of those that do 90% won’t understand it (particularly true of Crypto) Of those that do understand it 90% work for some one’s government and are not going to say anything. This means that if you are lucky 0.001% of users many look at it and see the flaws. Then it is 50/50 if they exploit that flaw or fix it, and, of course, if that fix is accepted. They aren’t always.

A couple of years ago a team were caught putting malware into the Linux Kernel. It was obvious malware and did not match the documentation provided. They explained it was an experiment to see if people actually read the documentation, compared it to the source code and properly tested the source code. When it was pointed out that they were caught they responded that this was test 6 in a series of 10!! They had got the others though over the preceding weeks and these had to be removed. Though during the time of the experiment a version of the Kernel had been shipped with the various malware in there. Of course the later versions had them removed but no one knows who is still using the compromised versions of the kernel.

Crucially the story does not end there. In doing a quick audit to see if anyone else was up to no good they discovered several (more than 3) “ghost contributors” to the kernel including one they believe was a state actor doing some highly sophisticated manipulation of some of the crypto.

From personal experience (over 30 years in critical systems & embedded software including crypto) most software developers have a very poor understanding of software below the superficial.

Security by obscurity is a useful additional layer. However the algorithms must be solid and usually open to public scrutiny by mathematician, not programmers is key. Though this is not by undergraduate maths people. Especially in post quantum crypto. The implementation is separate and this is where the problems arise if your programmers are not as good as they think they are. Which is most of them. Here there can be flaws and as the Phil Z comment previously you may or may not strike it lucky and a good guy spot the error and tell you rather than it being exploited. I do know that one Open Source SSL bug was in the wild for many years before being spotted by “the community” several years after at least one government agency knew about it.

This is also overlooked by most Linux advocates. There are very few people using Linux on computers (as opposed the millions who have no idea, and don’t care, that Linux is used on their phone.) The number of Linux users who are using Linux as a desk/laptop computer is small. Compounding this most of these are religiously Open Source and only use Open Source or Free software. Thus giving you a very small commercial market.

The other problem is licenses. The Lawyers and CTO of Apple, Microsoft etc will go to XYZ and pay for a license to use some drivers or Codecs etc. Typically a lot of these are part of the OS. Who is the Lawyer and CTO for “Linux” … Therein lies one of the problems and the reason why some codecs are not available for Linux when they are common on Windows, Mac and Unix.

That is the crux of the problem: a very small commercial market and licensing problems.

3 Likes

Not quite spurious. Look at the Black Hat conference proceedings (at which clandestine agency persons do look at well). Android (Linux) is not used by Apple to the best of my knowledge, but essentially all other brands. End users do not look at source code, but developers and security persons do (both for defense and offense). The number of compromises against MS Windows is not exactly small, despite the MS for-profit development staff. Canonical, Oracle, and IBM are for-profit entities, the latter two very much so. All provide/support commercial enterprise Linux – in the case of IBM, only the enthusiast (worthless) versions truly are licensed for free. Any of these could license the necessary code. Nvidia (another highly profitable entity – not “for free”) provides Nvidia drivers and use interface/control applications for Linux, with the constant Linux complaint that the proprietary software “taints the kernel” – but it runs and better than under MS Windows. As for the market share Linux has, that depends upon the nation state. Microsoft was found to be a monopoly, more or less regulated in the EU, effectively unregulated in the USA. Apple is a monopoly, but only on Apple branded products (in the USA, it is a crime to run a licensed copy of Apple software on non-Apple hardware – the “hackIntosh” is illegal in the USA. Outside the USA and EU, Linux actually is quite a bit more common on the desktop. Linux dominates the server sector by volume; most high performance computing facilities run Linux. I fully understand that it is not in the marketing model of DxO to consider Linux, despite the fact that internally DxO may be using software development tools (such as an IDE) that are designed to work with MS Window, MacOS X, and Linux/Xwindows.

I was talking software engineering whereas you are talking religion. You should not mix the two. BTW I believe the desktop use of Linux is sub 4% of users. Of those the number that would want Dxo is small.
BMD did a Linux version of Resovle on one (and only one) version of Linux because the companies buying it (at a lot more then $500 a seat) were also spending $20,000 plus on hardware to go with it and even more on cameras. So if you and the other Linux users who want Dxo can put up around $50,000 each I am sure that Dxo will do a Linux version. Though you may find some codecs missing from the Linux version.