- Microsoft, WSL’nin tamamını açık kaynak hâline getirdiğini duyurdu; bu aynı zamanda Microsoft/WSL deposundaki ilk issue olan “Açık kaynak olacak mı?” sorusuna da bir yanıt niteliğinde
- Kaynak kodu GitHub’daki Microsoft/WSL üzerinden indirip doğrudan derlemek ya da özellik ekleyip hataları düzeltmek mümkün
- Açılan kod; komut satırı araçlarını, servisleri, Linux için daemon’ları ve Plan9 tabanlı dosya paylaşım sunucusunu kapsıyor
- WSL, Windows tarafındaki çalışma bileşenleri ile Linux sanal makinesi (VM) içinde çalışan çeşitli bileşenlerden oluşuyor
- CLI araçları:
wsl.exe, wslconfig.exe, wslg.exe
- WSL servisi: VM önyükleme, dağıtım çalıştırma, dosya paylaşımı gibi işleri üstlenen
wslservice.exe
- Linux daemon’ları:
init, gns, localhost gibi ağ ve port yönlendirme işlevlerini yerine getiriyor
- Plan9 sunucusu: Windows ile Linux arasında dosya paylaşımı sağlıyor
- Daha önce açık kaynak olarak yayımlanmış bileşenler
- WSLg: Wayland ve X sunucusunu destekleyen grafik ortamı bileşenleri
- WSL2-Linux-Kernel: Linux çekirdeği kaynak kodu
- Hâlâ açık olmayan bileşenler
Lxcore.sys: WSL1’in çekirdek sürücüsü
P9rdr.sys, p9np.dll: Windows’ta \\wsl.localhost yolunu destekleyen dosya yönlendirme sistemi
Açık kaynağa geçişin arka planı ve WSL’nin tarihi
- WSL, ilk kez 2016 BUILD etkinliğinde duyuruldu ve Windows 10 Anniversary Update’e dahil edildi
- WSL1, Windows çekirdeği içinde Linux syscalls çağrılarını işleyen
lxcore.sys tabanlı bir yapıydı
- WSL2 ilk kez 2019’da duyuruldu ve gerçek Linux çekirdeğini kullanarak uyumluluk ile işlevselliği geliştirdi
- Sonrasında GPU desteği, GUI uygulama çalıştırma (
wslg), systemd desteği gibi özellikler eklenerek büyüdü
- 2021’den itibaren Windows’tan ayrılmış bağımsız bir paket olarak Microsoft Store üzerinden sunulmaya başlandı
- İlk sürüm 0.47.1 (preview) idi; ardından 2022’de 1.0.0 ile destek Windows 10’a kadar genişletildi
- Windows 11 24H2 ile birlikte eski yerleşik WSL’den yeni paket tabanlı WSL’ye geçiş yapıldı
wsl.exe olduğu gibi bırakılarak kullanıcı geçişi desteklendi
En son sürüm ve özellikler
- En son sürüm WSL 2.5.7; 4 yıl boyunca GitHub’daki yaklaşık 9 sayfalık release notlarıyla sürekli geliştirildi
- Öne çıkan iyileştirmeler arasında mirrored networking, DNS tunneling, Session 0, proxy/firewall desteği yer alıyor
Topluluğun katkısı
- Topluluk, yıllar boyunca hata raporları, özellik önerileri ve gayriresmî analizlerle WSL’nin gelişimine katkı sağladı
- Kaynak kodu açılmadan önce de fiilî katkılar yoğundu; artık doğrudan kod katkısı da mümkün
- Microsoft, topluluğun bu desteği için teşekkür ediyor ve bundan sonra da WSL’nin gelişiminde daha büyük bir sinerji beklediğini belirtiyor
Katkı verme yolları
- Kaynak yapısını ya da özelliklerin nasıl uygulandığını merak ediyor veya iyileştirmek istediğiniz noktalar varsa
- microsoft/WSL deposu üzerinden katkı verebilirsiniz
- Doğrudan derleme, PR gönderme, issue raporlama gibi farklı yollarla katkı sunmak mümkün
6 yorum
Endeavour + lustre / Windows 11 + WSL + WSA kullanan biri olarak
İkincisinin kullanım kolaylığı daha iyi.
Ancak performans açısından birincisi daha iyi.
Görünüşe göre bu kez WSL ekibinde de epey kişi işten çıkarılmış…
İnsan gücü olmayınca, son zamanlarda MS’in "community driven" adı altında işi açık kaynağa çevirmesi bayağı komik haha..
Baştan savma bir iş olmuş.
WSL1, çapraz geliştirme ortamları için en iyi makinedir. IO da hızlıdır ve Linux tabanlı komutları da anında çalıştırabilir. WSL2 ise 1'e göre çapraz derlemede daha yavaştır.
Hacker News görüşleri
Hacker News'te WSL hakkında ne zaman övgü dolu bir yorum bıraksam bunun bir karma vergisi gibi hissettirdiğini düşünüyorum. WSL, tek bir bilgisayarda birden fazla Linux sürümünü aynı anda çok kolay çalıştırabildiği için bana Linux'tan bile daha güçlüymüş gibi geliyor.
dockerbenzeri aygıt desteği, yerel depolama, ağ eşlemesi gibi şeylerin özel script'ler olmadan, masaüstü ya da dizüstünde ek ayar gerektirmeden hemen kullanılabilmesi gerçekten büyük bir artı. Örneğin bir proje Ubuntu22, başka bir proje Ubuntu24 istese bile, işletim sistemi güncellemeleriyle uğraşmak zorunda kalmamak çok keyifli"Linux'tan daha güçlü" demek abartı; sonuçta WSL bir sanal makine. WSL'in asıl gücü çeşitli kullanım kolaylıklarını otomatikleştirmesi. Ama gerçekten daha kullanışlı ortamın, baştan sanal makine gerektirmeyen ortam olduğu da söylenebilir. Distrobox ve toolbx gibi araçlar da benzer işlevler sunuyor, NixOS'ta da normal Linux ortamlarını test etmek kolay. Üstelik donanım hızlandırma, grafik uygulamalarının doğrudan çalışması, yavaş 9p köprüsü sorunlarının olmaması ve VM bellek balonlaması gibi problemlerin yaşanmaması gibi avantajlar var. WSL, Windows kullanıcıları için devrim niteliğinde olabilir ama Linux kullanıcılarının böyle bir VM'e ihtiyacı yok görüşündeyim
Linux'ta da Distrobox ile benzer şeyler yapılabiliyor ama Windows + WSL'i birlikte kullanabilmenin kesinlikle çekici olduğunu kabul ediyorum. Eğer Microsoft gereksiz yazılımları, reklamları, Copilot'u ve aşırı telemetriyi azaltan bir Dev sürümü çıkarır ve MacBook benzeri donanım sunarsa, Apple'dan ayrılan geliştiricileri fazlasıyla geri çekebilir diye düşünüyorum. Ben şahsen Mac ve Linux arasında gidip gelirken kullanılabilirlik açısından Windows + WSL birleşimini daha çok tercih ettiğim yönler olduğunu söyleyebilirim. PowerToys, WSL, PowerShell ve PowerShell + Winget DSC ile PC kurulum otomasyonu gerçekten çok iyi, ama Windows'un kullanıcıya zorluk çıkarması ve aşırı uzun güncelleme süreleri dayanılmaz. macOS gibi immutable bir temel ve imaj tabanlı güncellemeler olsa daha iyi olurdu. M4 Pro dizüstü seviyesinde performansın olmaması da Windows tarafının eksilerinden biri
"WSL, Linux'tan daha güçlü" demek bence karma düşürecek türden bir söz. WSL güzel ve ben de her gün kullanıyorum ama desteklenen bir donanımda Linux çalıştırmanın deneyimi daha iyi. Bir VM, native kadar iyi olamaz; aynı şekilde Windows yazılımları da Windows'ta daha iyi çalışır. Karşılaştırınca WSL'de G/Ç daha yavaş, grafiklerde gecikme ve hatalar oluyor, bazen çökme, verimsiz bellek yönetimi, ağ anormallikleri gibi çeşitli sorunlar çıkıyor. Çok güçlü bir bilgisayarda ağırlıklı olarak CLI kullanıyorsanız WSL rahat olabilir ama pratikte ihtiyaçlar kişiden kişiye değişiyor
WSL aslında Linux. Özellikle WSL2'den beri zaten tam anlamıyla VM yapısında, WSL1 ise Windows çekirdeği üzerinde çalıştığı için bence çok havalıydı. Yine de NTFS dosya sistemi yavaş ve Windows'un kendisiyle uğraşmak zorunda olmak büyük bir eksi. Karma sayılarının sadece sayı olduğunu düşünüyorum, o yüzden takmıyorum
Benim için WSL epey kararsızdı ve bilgisayar uykudan her uyandığında VM ile host arasındaki ağ sorunu yüzünden yeniden başlatmak şart oluyordu. Windows kullanıcı dizininde çalışırsanız dosya sistemi sürücüsünün yavaşlığı nedeniyle
gitkomutları birkaç saniye sürüyor, bu da sonuçta iki ayrı home dizini yönetme zahmeti doğuruyor. Kurulum sürecinde de karmaşık DNS, VPN, ağ önceliği hataları, zaman senkronizasyonu tutarsızlıkları gibi çözülmesi gereken gizemli sorunlar vardı. Sonuçta sürekli Windows'u yeniden başlatır hale geldim. Benim birden fazla işletim sistemi kullanmaya ihtiyacım yok ve iş yerinde de çoğu araç Linux VM içinde çalışıyor; mantıklı olan tek yaklaşım bu. Dıştaki işletim sistemi sadece sorun çıkarıyor ve iki işletim sisteminin etkileşimi gerekenden fazla karmaşıklık yaratıyorWSL ilk çıktığında çok sevinmiştim. Oyun ve geliştirmeyi tek bir Windows PC'de birleştirme hayalinin gerçek olduğunu hissettirmişti. Ama zaman geçtikçe paket kurulum sorunları, işletim sistemleri arası sınır problemleri gibi bir sürü küçük sorun birikmeye başladı ve süreç giderek pürüzlü hale geldi. Valve'ın Proton'u ve güncel Linux oyun desteği iyileşince tamamen Ubuntu ve NixOS'a geçtim. Şimdi oyun tarafında biraz rahatsızlık var ama geliştirme ortamı çok daha konforlu. Bazı AAA oyunların çalışmaması dışında Windows + WSL'den daha iyi bir deneyim olduğunu düşünüyorum
Ben de benzer bir deneyim yaşadım, artık Linux kurmak bana daha kolay geliyor. Windows'un casus yazılım gibi özellikleri yüzünden onu kullanmak için daha da az sebep kaldığını düşünüyorum
Yalnız Nvidia ekran kartı kullanıyorsanız bu bir istisna olabilir
Hangi oyunlarda sorun yaşadığını merak ediyorum
Bence çoğu kişi bunu yaşamıştır. Bugün Windows oyun (GPU) olmasa pek bir ağırlığı kalmayacaktı ve geçmiş projelerde
msvc,cygwin,msys2arasında build ortamını değiştirip durarak yaşanan karmaşayı da hatırlıyorum. Artık WSL ile bazı şeyleri daha kolay build etmek mümkün ama bir ortam değişkenini bile değiştirme süreci beni yoruyor ve bu yöntemi bir daha asla tekrarlamak istemiyorumBen tam tersine Linux üstünde Windows'u sanal makine olarak kullanmayı öneriyorum. Eğer Windows'tayken Linux kullanmak istediğini hissediyorsan, bence doğrudan Linux'a geç ve bir daha arkana bakma. Son 15 yıldır Windows'a dönmedim. Bugünkü Windows gerçekliğini düşününce VM içinde bile kullanmakta tereddüt ediyorum
GPU ile ilgili işlerde (oyun, Adobe suite vb.) VM içinde Windows çalıştırmak için ayrı bir GPU'yu VM'e passthrough etmek gerekiyor ve buna sahip olmayan kullanıcılar hızlandırmasız bir ortamı kabullenmek zorunda kalıyor; dolayısıyla VM yaklaşımı kolay değil. Photoshop'u QEMU QXL sürücüsüyle çalıştırırsanız performans berbat oluyor, VirGL ise Windows guest'i hiç desteklemiyor. VMWare ve VirtualBox biraz daha iyi ama yine de native düzeyine yaklaşamıyor
Windows'la ilgili çoğu başlıkta, üretkenlik uygulamaları yüzünden Windows'a mecbur olanlarla olmayanlar arasında net bir kopukluk olduğunu düşünüyorum. Benim gibi GPU tabanlı üretkenlik uygulamaları kullanan biri için VM çözüm değil, sonunda Windows'u native kullanmak zorunda kalıyorsunuz. Hafif uygulamalar kullananlar için sanal makine yeterli olabilir ama CAD ya da oyun gibi ciddi işler için uygun değil
Yıllarca sadece Linux kullandıktan sonra Windows'a, ardından tekrar Mac'e dönen biriyim.
wineuyumluluk sorunları, yarım kalmış yazılım alternatifleri (ör. GIMP'in Photoshop'un yerini tutmaması), Qt ve GTK uygulamalarının karışmasıyla masaüstü görünümünün bozulması gibi nedenlerle Linux'un her derde deva olmadığını söyleyebilirimBuna karşılık, Valve Index gibi VR cihazlarının bu tür bir ortamda, yani Linux üzerinde Windows VM çalıştırırken, hiç düzgün çalışmadığını bizzat deneyimledim. Çocukluğumdan beri koyu bir Linux kullanıcısıyım ama böyle özel istisnalar var; o yüzden her durumu genellemek zor
İlgili bilgi olarak, Windows'un deneme VM imajlarını dağıtan resmi bağlantıdan söz ediliyor; deneme süresi bitince masaüstünün siyaha döndüğü ve PC'nin her saat başı kapandığı gibi kısıtlar olduğu belirtiliyor. En güncel deneme imajları 6 aydan uzun süredir güncellenmemiş, ama kayıt olursanız ISO veriliyor
Adı Windows subsystem for Linux olduğu için hep kafa karıştırıyor. İlk bakışta sanki Wine'ın resmi bir sürümüymüş gibi yanlış anlaşılabiliyor ama aslında Linux için Windows'un alt sistemi demek. Sanki Microsoft Linux'a bir özellik veriyormuş gibi duyulduğu için biraz sinir bozucu
Microsoft proje adını
Linuxile başlatamayacağı için sonunda WSL adını kullandığını söylemişBu adlandırma geçmişteki Windows Subsystem for Unix projesinden geliyor. İsmin hep beklentinin tersine çalıştığı söylenmiş
Windows'un Linux için alt sistemi gibi çift anlamlı bir iyileştirme önerisini esprili biçimde sunmuş
Aslında Windows üzerinde Linux çalıştırmak için bir alt sistem ama adının kafa karıştırıcı olduğuna katılıyorum
Son birkaç yıldır ara sıra WSL ile geliştirme yapıyorum. İyi çalıştığında harika ama bir kez bozuldu mu tam bir kâbus. Ağ, VPN, XServer, Windows ölçeklendirmesi, donanım hızlandırmalı grafik gibi alanlarda bitmeyen sorunlar yaşadım. Gerçekten geliştirme yapmaktan çok sorun çözmeye zaman harcamışım gibi hissettim ve bunların düzeldiğini de görmedim. WSL hızlı ve güçlü ama günlük kullanım için bana fazla yorucu. Onun yerine ana araç olarak MSYS2 kullanıyorum; daha yavaş ama en azından stabil olması en büyük artısı
Geçen hafta rekor düzeyde finansal sonuçlar açıklanmasına rağmen Microsoft'ta büyük çaplı işten çıkarmalar oldu; bunun da o yan etkilerden biri olup olmadığını merak ediyorum
Büyük şirketlerde %3 düzeyinde işten çıkarma, tüm şirketi ya da belli bir projeyi tamamen kapatmıyorsanız, fiilen neredeyse hiç etkisi olmayan bir seviye. Hatta büyük şirketlerde personel fazlalığı yaygın olduğu için bu ölçekte bir şeyin pek anlamı yok diyebilirim
Böyle büyük şirketlerde açık kaynak yapma kararı, hazırlığı ve uygulaması asla 1-2 haftada olacak işler değil; bunlar büyük çaplı projeler
Bu Build etkinliği ve ilgili haberleri, mevcut genel atmosfer içinde sadece olumlu görmekte zorlandığını söyleyen bir görüş var
Duyurulduğu şekliyle bu, uzun süredir hazırlanmış bir sonuç gibi görünüyor; dolayısıyla son işten çıkarmalarla ilgisi olmadığı yorumuna katılıyorum
WSL 1'i çalıştıran kernel tarafı sürücüsü
lxcore.sys'in bu açık kaynak kapsamına dahil olmadığını belirtmek isterim. Ayrıca WSL 1'in hâlâ destekleniyor olmasına şaşırdım; bakım modunda olduğunu varsaymıştımBenim gerçekten ilgilendiğim kısım
lxcore.sys. Hâlâ sadece WSL1 kullanıyorum, hatta ABI'ler arasında geçiş yapan veya Windows'u Linux userspace'e tünelleyen ilginç hack'ler de denedim. Açık kaynak olursa bunlarla uğraşmak daha kolay olabilir diye umuyorumAslında duyduğum kadarıyla hem WSL1 hem WSL2 tamamen destekleniyor. Rakamlar öyle düşündürse de durum farklı
Lisans ve ayrıntıları kontrol etmek gerek. Olumlu da olabilir ama MS'nin geliştiricileri işten çıkardıktan sonra ücretsiz yardım istemek için bir gerekçe üretmesi de olabilir diye şüpheleniyorum
Windows kullanıcısı değilim ama WSL'i harika buluyorum. Yine de birçok Windows kullanıcısının Linux'u eleştirmesinin en büyük nedeni, onun "Windows gibi görünmemesi" ve Linux kullanıcıları açısından Linux'un Windows gibi görünmemesi zaten güzel olan şey. Windows kullanıcıları ücretsiz ve reklamsız bir Windows istiyor diye Linux'u Windows'a benzetmeye çalışmasınlar. Eğer WSL, Windows kullanıcılarını Windows'ta tutuyorsa buna daha da memnun olurum
WSL içinde Windows dosya sistemi üzerinde çalışırken ortaya çıkan bug'ların artık düzelmesini umuyorum