Am rezolvat problema cu Resolve pe CachyOS
Tech

Am rezolvat problema cu Resolve pe CachyOS

Ieri am vrut să scriu un articol despre Linux și cât de bun e el. Și în timp ce-l scriam, am zis să verific dacă DaVinci Resolve mai are probleme pe CachyOS. Am constatat cu surprindere că a pornit din prima, fără să dea absolut nicio eroare. Când am încercat să import un fișier video, sistemul mi-a înghețat de tot. Restart forțat, apoi m-am uitat în loguri să văd ce s-a întâmplat. journalctl -b -1 -p 3 și acolo era vinovatul:

amdgpu 0000:06:00.0: amdgpu: ring sdma0 timeout
amdgpu 0000:06:00.0: amdgpu: The cp might be in an unrecoverable state

Se pare că placa video (chip-ul integrat în procesorul laptop-ului meu Ryzen PRO 4650U) a decis să nu mai răspundă la comenzile kernelului, iar Xwayland a cedat imediat după. Nu era o problemă de „driver video” generic, cum credeam inițial. Era ceva mai specific.

În loguri am văzut și altceva interesant:

systemd-udevd: /usr/lib/udev/rules.d/75-davincipanel.rules:2 
Failed to resolve group 'resolve', ignoring: Unknown group

Resolve își instalează niște reguli udev pentru panourile de editare externe, dar grupul resolve nu există din oficiu pe sistem. Nu cauzează crash-ul, dar e o chestie care trebuie reparată oricum:

sudo groupadd resolve
sudo usermod -aG resolve $USER

După asta, logout/reboot ca să se aplice.

Adevărata problemă era însă la OpenCL. Aveam instalat opencl-amd din AUR — un pachet care „împachetează” driverul proprietar AMD. Treaba asta se bate cap în cap cu rocm-opencl-runtime, care e pachetul oficial din repo și pe care Resolve îl preferă pe Linux. Când Resolve încerca să folosească GPU-ul pentru decodare la import, stack-ul „defect” bloca totul.

Soluția era să-l înlocuiesc. Teoretic simplu. Practic, un „mic coșmar”:

sudo pacman -S rocm-opencl-runtime

Primul pacman mi-a zis că opencl-amd e în conflict. Am zis y, apoi alte dependențe lipsă (comgr, hsa-rocr, rocm-core). Am încercat să elimin, și să încerc din nou instalarea, dar am primit 404 de la jumătate din mirror-urile planetei. Baza mea de date locală era învechită — pe serverele CachyOS erau deja versiunile noi, iar pacman-ul meu încă le cerea pe cele vechi, care fuseseră șterse.

Ce a funcționat până la urmă:

sudo cachyos-rate-mirrors    # opțional, dar rapid și util
sudo pacman -Syyu            # full sync, ca să scape de 404
sudo pacman -S rocm-opencl-runtime

Apoi reboot obligatoriu. Fără el, driverul vechi rămâne încărcat în memorie și nu se schimba nimic.

Ca să verific că noul stack funcționează:

clinfo | grep -i "device name"

Mi-a afișat placa video corect, deci eram OK. În Resolve, la Preferences → System → Memory and GPU, GPU Processing Mode pe OpenCL și placa video era bifată în listă.

Acum Resolve merge bine. Singura chestie e că varianta free nu are toate codec-urile, dar asta-i deja o problemă minoră. Cum merge editarea video? Aș spune decent, placa mea video are ceva probleme cu fișierele 4K, dar la 1080p (chiar și 60FPS) se descurcă de minune. Sigur, dacă începi și bagi tranziții complicate și efecte peste efecte, deja lucrurile se complică, dar nu cred că e nimeni surprins.

În ciuda acestor mici probleme specifice, pot spune că Linux evoluează frumos. Nu mai am aceleași probleme pe care le aveam acum 5 sau 6 ani, și asta nu poate fi decât bine.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.