DirectX akan Segera Tersedia untuk Windows Subsystem Linux (WSL)

1 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
DirectX akan Segera Tersedia untuk Windows Subsystem Linux (WSL)
DirectX Loves Linux (Tux Logo by Iwan Gabovitch/Wikipedia)

TeknoCerdas.com – Microsoft lewat sebuah blog mengumumkan bahwa DirectX akan segera tersedia untuk Windows Subsystem Linux (WSL). Lebih tepatnya WSL 2. DirectX untuk Linux? ya anda tidak salah baca.

Windows Subsystem Linux atau disingkat WSL adalah sebuah lingkungan pada sistem operasi Windows yang digunakan untuk menjalankan aplikasi Linux tanpa modifikasi. Secara sederhana sebuah distro Linux seperti Ubuntu dapat dijalankan layaknya seperti aplikasi Windows lainnya.

Pada WSL 1 jika sebuah aplikasi Linux melakukan system calls maka ia akan ditranslasikan ke perintah Windows NT yang ekuivalen. Karena cukup banyak yang perlu ditranslasikan maka ada beberapa aplikasi yang tidak berjalan.

Pada WSL 2 Microsoft menyematkan kernel khusus untuk Linux agar semua system calls yang dilakukan dapat berjalan dengan sempurna. Hasilnya adalah aplikasi yang kompleks seperti Docker dapat berjalan di WSL 2.

Preview Docker pada WSL 2 (Sumber: Microsoft)

DirectX untuk Windows Subsytem Linux (WSL) 2

Dengan DirectX tersedia untuk WSL maka aplikasi Linux yang berjalan dapat memanfaatkan GPU secara optimal.

Saat ini teknologi GPU Virtualization yang dimiliki oleh Windows hanya tersedia untuk Windows guest artinya Windows VM yang berjalan didalam Microsoft Hyper-V.

Kedepan Microsoft berencana untuk melebarkan dukungan GPU virtualization untuk Linux guest. Inilah yang dicanangkan pada WSL 2. Dukungan ini disediakan lewat apa yang disebut WDDM (Windows Display Driver Model).

Seperti yang dibahas sebelumnya kernel khusus Linux pada WSL 2 akan menyediakan akses GPU lewat user mode space sehingga aplikasi Linux yang memerlukan fungsi GPU dapat menggunakannya dan tanpa perlu dimodifikasi.

Hal itu dimungkinkan karena diperkenalkannya dxgkrnl versi Linux. Dxgkrnl merupakan kernel driver baru untuk Linux yang membuka akses ke GPU lewat file /dev/dxg.

Windows Subsytem Linux DirectX Kernel
Windows Subsytem Linux DirectX Kernel (Sumber: Microsoft)

Selain itu salah satu implementasi yang disediakan DirectX untuk Linux adalah implementasi API D3D12. Direct3D 12 API yang digunakan sama dengan versi Windows dan bukan merupakan reimplementasi atau translasi. Dikompilasi dari kode sumber yang sama tapi untuk Linux. Cukup fantastis.

DirectML untuk Machine Learning

DirectML adalah low-level API untuk machine learning dan memiliki kompatibilitas dengan semua perangkat keras yang didukung oleh DirectX 12.

Dengan dapat diaksesnya GPU pada WSL 2 maka sebuah langkah yang tepat jika Microsoft melakukan porting API machine learning DirectML ke Linux yang berjalan dalam lingkungan WSL.

DirectML API dibangun diatas Direct3D 12 API yang menyediakan operasi dan optimasi untuk menjalankan tugas-tugas yang berkaitan dengan machine learning.

Pengembang dapat menggunakan pustaka atau framework populer seperti TensorFlow untuk melakukan training model dengan DirectML sebagai backend. Saat ini DirectML masih mengikuti proses RFC agar dapat diterima sebagai backend TensorFlow.

Apakah Aplikasi GUI bisa berjalan di WSL 2?

Belum. Saat ini WSL hanya kompatibel dengan aplikasi berbasi teks (Command line) saja. Namun Microsoft menyatakan bahwa dukungan untuk aplikasi Linux berbasis GUI akan segera datang ke WSL. Kedepan pengguna dapat menjalankan aplikasi GUI Linux berdampingan dengan aplikasi Windows. Sebuah mimpi yang menjadi nyata.

Namun menurut opini penulis sebenarnya yang lebih banyak diinginkan orang adalah dukungan resmi DirectX di Linux sehingga pengguna Linux dapat menjalankan aplikasi Windows kelas berat seperti game dengan mulus. Memang saat ini sudah ada Wine di Linux tapi itu adalah implemtasi unoffical dari DirectX dan masih cukup jauh dari sempurna.

Tapi tetap saja langkah Microsoft ini patut untuk diapresiasi. Jika dulu Microsoft meanganggap Linux adalah kanker maka sekarang mereka malah jatuh cinta pada Linux.