Jak zapewne zauważyliście, od jakiegoś czasu przyglądam się temu do czego naprawdę nadaje się Steam OS i czy będzie mógł wkrótce zastąpić Windows. Moim zdaniem ten moment jeszcze nie nadszedł, ale całość zaczyna wyglądać naprawdę interesująco. Sprawdzałem zarówno jak system Valve radzi sobie w grach, jak i obsługę popularnych aplikacji użytkowych - bo pod nakładką Steam kryje się "normalny" Pingwin, a konkretnie system Arch Linux, więc może służyć jako zwykły system do pracy.
Podczas sprawdzania w działaniu programów użytkowych natknąłem się na kilka problemów z jedną bardziej dla mnie istotnych aplikacji, a konkretnie kombajnu do edycji wideo DaVinci Resolve. Postanowiłem nie odpuścić i sprawdzić, czy faktycznie da się to zrobić i czy jest to skomplikowane. Otóż… nie. ALE - podczas pracy z DaVinci Resolve na Linuksie musimy pamiętać o kilku kwestiach z którymi nie mamy problemu w Windows.
Zanim przejdziemy do konkretów ważny update - Steam OS nie działa już tylko układach AMD Radeon, ale również Intel Arc. To znaczy działa natywnie, bez żadnych kombinacji - możemy (ponoć) bez problemów zainstalować system od zera na zintegrowanych, czy dedykowanych układach graficznych Intel Arc. Wciąż czekamy na obsługę układów NVIDIA GeForce, ale widać, że Valve nie zasypia gruszek w popiele i Steam OS rozwija się zgodnie z zapowiedziami.
Pamiętajcie też, że jeśli chcecie wypróbować Steam OS, to nie musicie od razu kasować Windows. Po prostu zainstalujcie Steam OS na zewnętrznym dysku i bootujcie z niego kompa (przypominamy o konieczności wyłączenia Secure Boot / Bezpieczny Rozruch). Ja wykorzystałem obudowę pod dyski M.2 z interfejsem USB 3.2 (20 Mb/s) i wszystko śmigało aż miło, ale na potrzeby krótkiego testu z powodzeniem można użyć nawet SSD SATA pod USB 3.0 (5 Mb/s). Od biedy można wykorzystać nawet szybki pendrive USB 3.0, chociaż w takim przypadku komfort użytkowania będzie zdecydowanie niższy.
Instalacja DaVinci Resolve na Steam OS
Przypomnijmy, że DaVinci Resolve istnieje w natywnej wersji na Linuksa, ale próba uruchomienia programu po instalacji na Steam OS powoduje wywalenie błędu o nieobsługiwanym układzie graficznym (w przypadku GPU Radeon - nie wiem jak to wygląda obecnie z Intel Arc). Problemem są używane przez Steam OS sterowniki Mesa, bowiem do akceleracji OpenCL DaVinci Resolve wymaga własnościowych sterowników AMD. Oczywiście można po prostu wyłączyć zabezpieczenia Steam OS przed modyfikacją i załadować własnościowe sterowniki, ale każda aktualizacja systemu będzie nam je usuwać. Przygotowywałem się mentalnie na jakieś dłuższe kombinacje, ale okazało się, że całość sprowadza się do wklejenia kilku poleceń w terminalu.
Potrzebne nam tu będzie narzędzie do pracy w kontenerach - w odróżnieniu od maszyny wirtualnej nie trzeba stawiać całego systemu od nowa, bo kontener korzysta z jądra systemu hosta - idealnie sprawdzi się Distrobox. Pobieramy więc oficjalny instalator DaVinci Resolve na systemy Linux i odpalamy terminal.
Na początek rozpakowujemy .zip z instalatorem:
cd ~/Downloads
unzip DaVinci_Resolve_21.0.3_Linux.zip
chmod +x DaVinci_Resolve_21.0.3_Linux.run
./DaVinci_Resolve_21.0.3_Linux.run --appimage-extract
Tworzymy kontenter DaVinciBox i instalujemy własnościowe sterowniki OpenCL:
distrobox create -i ghcr.io/zelikos/davincibox-opencl:latest -n davincibox

I uruchamiamy instalację wewnątrz kontenera:
distrobox enter davincibox -- setup-davinci squashfs-root/AppRun distrobox
I już po strachu. Wystarczy teraz kliknąć w ikonkę na pulpicie, by DaVinci Resolve uruchomił się błyskawicznie i bez najmniejszego problemu. To czy układ graficzny i wsparcie OpenCL działa prawidłowo, przekonamy się wchodząc do ustawień.

W zasadzie możemy już działać PRAWIE tak samo jak w przypadku Windows, ale dochodzą tu kwestie obsługi kodeków H.264 i HEVC w DaVinci Resolve Linux - wyjaśniałem ją w tekście o Steam OS jako systemie do pracy. Long story short - nie możemy wykorzystać plików wideo wykorzystujących te kodeki i zanim zaczniemy na nich pracę w programie, musimy je przekonwertować najlepiej na format z wykorzystaniem kodeka DNxHR.
Przyda się tu jakiś dobry program do konwersji i wykorzystałem w tym celu Shutter Encoder. W konwersji nie ma większej filozofii, przenosimy plik do konwersji na okienko programu, jako funkcję ustawiamy DNxHR w wersji HQ i nie zapominamy o kodeku audio, który ustawiamy na PCM (bo oczywiście problemy z kodekami nie kończą się na wideo).

Tak skonwertowany plik wideo możemy już spokojnie wrzucić do linuksowego DaVinci Resolve - będzie obsługiwany bez najmniejszych problemów.

Co ciekawe, OpenCL na Radeonach pod Linuxem cierpi na tą samą dolegliwość co w przypadku pracy w Windows - pierwsze obliczenia (choćby przy modyfikacji nasycenia) trwają dłuższą chwilę, a dopiero gdy dane wejściowe zostaną przerobione, cały proces zaczyna działać płynnie i praktycznie w czasie rzeczywistym. W przypadku kart GeForce i CUDA (oczywiście pod Windows) działa to "od strzała".

Dobra, wideo mamy gotowe i możemy przejść do renderowania. No i znów odbijamy się od braku obsługi H.264 i HEVC, tym razem dla formatów wyjściowych. Nie jest wielki problem, bo możemy wykorzystać choćby kontener QuickTime i kodek DNxHR plus liniowy kodek PCM audio - taki plik powinien być przyjęty bez najmniejszych problemów przez YouTube. Renderowanie odbywa się tak jak trzeba, czyli z wykorzystaniem GPU do obliczeń.

Zaraz, a co z obsługą sprzętowych akceleratorów wbudowanych w Radeona? Nie można z nich skorzystać w eksporcie darmowej wersji DaVinci Resolve Linux, ale jeśli chcesz tak stworzony .mov przekonwertować do .mp4 z wykorzystaniem kodeka AV1, HEVC czy H.264, to z pomocą przyjdzie nam wspomniany Shutter Encoder, który będzie mógł wykorzystać sprzętowe kodeki do przyspieszenia obliczeń. Szkoda, że nie można tego zrobić bezpośrednio w linuksowej wersji DaVinci Resolve, ale cóż - licencje.
DaVinci Resolve na Steam OS - ma to sens?
DaVinci Resolve na Steam OS działa płynnie na Radeonach z wykorzystaniem akceleracji OpenCL, a jego instalacja nie jest przesadnie skomplikowana. Niestety przy eksporcie wideo w DaVinci Resolve nie będziemy mogli wykorzystać sprzętowych kodeków wbudowanych w Radeony, ale nie jest to jakiś gigantyczny problem - przynajmniej nie dla mnie. Jasne, dzięki akceleracji renderowanie byłoby jeszcze nieco szybsze, ale da się z tym żyć.
Tak naprawdę problemem są tu głównie licencje na komercyjne kodeki i przed przystąpieniem do pracy w (darmowej wersji) DaVinci Resolve musimy skonwertować surówkę do DNxHR/PCM, a jeśli jako finalnego pliku potrzebujemy na przykład kontenera MP4 z użyciem któregoś z popularnych kodeków, to ponownie musimy konwertować wideo wyrenderowane przez DaVinci. Upierdliwe? Trochę tak, ale absolutnie nie dyskwalifikujące tej platformy.
Mimo tych niedogodności, otrzymujemy na Linuxie dostęp do jednego z najpopularniejszych kombajnów do edycji wideo i żadne darmowe oprogramowanie na Pingwina w rodzaju Kdenlive, nie jest w stanie mu dorównać. Pozostaje mi czekać na obiecaną obsługę kart GeForce w Steam OS, a gdy ona nadejdzie… być może nadejdzie również czas pożegnania z Windows.
Spodobało Ci się? Podziel się ze znajomymi!

Pokaż / Dodaj komentarze do:
Jak skonfigurować DaVinci Resolve do pracy pod Steam OS (Arch Linux)? Krok po kroku