Lightroom CC merge acum pe Linux - și povestea din spate e mai interesantă

Phoronix a relatat că Adobe Lightroom CC (varianta cloud, nu Classic) funcționează acum pe Linux prin Wine. Am scris și eu câteva rânduri despre asta pe jurnalul personal, dar merită discutat aici pe larg, pentru că partea tehnică chiar are substanță.

Ce funcționează

Rețeta, publicată de utilizatorul GitHub sander110419 în repo-ul lightroom-cc-on-linux, acoperă:

  • Aplicația desktop Creative Cloud completă (autentificare, panou de aplicații, instalare alte programe Adobe din catalog)
  • Lightroom CC 9.3.1 pornind, cu biblioteca sincronizată prin cloud vizibilă
  • Modulul Edit cu toate panelurile (Light, Color, Effects, Detail, Optics, Geometry) randând corect
  • Unealta Remove/Heal funcțională - perie, mască, aplicare

Combinația testată: Wine 11.8 staging, kernel 6.x sau mai nou, orice GPU cu drivere Vulkan (NVIDIA testat direct, AMD și Intel ar trebui să meargă la fel prin DXVK).

Ce nu merge încă: câteva ferestre de dialog (ex. “What’s New”) pot bloca aplicația, plus unele funcții avansate legate de accelerare GPU. Fluxul de bază pentru editare foto e însă solid.

Partea care m-a făcut să scriu despre asta

Nu faptul că Lightroom merge pe Linux e ce m-a atras, ci cine a făcut treaba. Conform README-ului din repo, tot procesul - debugging, scrierea patch-urilor, verificarea funcțională - a fost realizat autonom de Claude Opus 4.7, rulând prin Claude Code. Omul din spatele proiectului a stabilit obiectivul și a răspuns ocazional la întrebări de clarificare; restul a fost lucrat de model.

Concret, ce a implicat:

  • Citirea crash dump-urilor și a log-urilor Wine
  • Analiza binarelor Adobe cu winedump și objdump
  • Compararea tabelelor de export din mai multe versiuni de mfplat.dll (Wine, Proton, copia Adobe) ca să identifice exact funcția lipsă
  • Scrierea unui patch binar direct în DLL, prin adăugarea unei secțiuni PE noi cu un director de export propriu
  • Verificarea funcțională prin capturi de ecran automate (ImageMagick) și simularea clic-urilor cu xdotool, cu recalibrare automată când poziția unui buton era greșită cu câțiva pixeli

Un detaliu care merită subliniat tehnic: patch-ul la mfplat.dll aplicat doar în system32/ nu avea niciun efect, pentru că Adobe își livrează propria copie a acestui DLL în directorul aplicației, iar ordinea de căutare a Windows-ului o preferă pe aceea. Agentul a descoperit asta prin verificare eșuată, nu prin documentație, și a corectat înlocuind DLL-ul în ambele locuri.

Problemele rezolvate, pe scurt

  1. DXVK - swapchain de compoziție fals, ca să poată randa WebView2 (shell-ul Electron pe care Adobe îl folosește pentru interfață)
  2. Dezactivarea AdobeGrowthSDK.dll - biblioteca de A/B testing a Adobe apelează o funcție neimplementată în Wine (SetThreadpoolTimerEx) și blochează tot procesul
  3. d2d1.dll patch-uit ca să înregistreze efectul CLSID_D2D1ColorManagement, pe care Lightroom îl cere la pornire dar Wine 11.8 nu îl include din cele 65 de efecte D2D
  4. mfplat.dll patch-uit cu un forwarder către MFCreateSampleCopierMFT, altfel unealta Remove/Heal se blochează
  5. Stub-uri mici pentru NDFAPI.DLL, wkscli.dll și ext-ms-win-uiacore-l1-1-2.dll, pe care Wine 11.8 nu le livrează dar Lightroom le importă static
  6. Symlink-uri lowercase pentru DLL-urile Adobe, pentru că loader-ul PE al Wine e case-sensitive pe disc, spre deosebire de Windows

Dacă vreți să încercați

Aveți nevoie de Wine 11.8 staging, winetricks, un GPU cu drivere Vulkan și un abonament Adobe Creative Cloud activ care include Lightroom CC. Procesul durează în jur de 30 de minute, majoritatea timpului fiind descărcări.

Ghidul original, pas cu pas, cu fiecare fix explicat și instrucțiuni de rollback, e în GUIDE.md din repo. Am pus și o variantă tradusă și structurată pe wiki, cu toți pașii și un tabel de depanare la final: tutorialul de instalare Lightroom CC pe Linux.

De ce cred că merită discutat

Dincolo de utilitatea practică pentru cei care nu vor să renunțe nici la Linux, nici la ecosistemul Adobe, cazul ăsta ilustrează un tip de lucru diferit de “AI-ul îți scrie un script după o descriere”. Aici vorbim despre un agent care se lovește de o eroare reală, citește binare, formulează o ipoteză, o testează prin interacțiune vizuală cu aplicația, descoperă că prima soluție nu a fost suficientă și corectează, apoi documentează totul astfel încât altcineva să poată reproduce exact ce a făcut.

Ce părere aveți - vi se pare un exemplu solid de agent autonom aplicat la o problemă reală, sau tot mai credeți că genul ăsta de treabă are nevoie de supraveghere mai atentă din partea unui om cu experiență în Wine? Și, separat: cine are Lightroom CC și un abonament activ, ar fi interesant de văzut confirmări independente pe alte distribuții și GPU-uri decât cele testate în repo.

Surse: