Şu anda standart konfigürasyonu (1.8Ghz, 8Gb LPDDR3, 128Gb PCIe SSD) olan bir MacBookAir7,2 ve elbette üzerine Ubuntu kurdum.
Ubuntu'yu açtığımda, hoparlörlerin çok garip geldiğini hemen fark ettim. Bazı testlerden sonra, sol hoparlörün bol miktarda düşük frekans ürettiğini ve genel olarak pano boyunca dengelendiğini ve sağ hoparlörün genellikle "teneke" sesi veren üst frekanslara çarptığını tespit ettim. Bu, Windows 10 ve Ubuntu 16.04.3 LTS dahil olmak üzere tüm Apple işletim sistemlerinde olmamıştır, ancak standart snd_intel_hda sürücüleri ile herhangi bir Linux dağıtımı için geçerli olmalıdır.
Ses yongası Cirrus Logic tarafından CS4208'dir, ancak yerel EFI önyüklemesi altında (kullandığım ve macOS da kullanırım) ses arabirimi Intel HDA denetleyicisi olarak görünür (eski önyükleme altında, tüm Mac'ler Cirrus Logic'i kendi aygıtı olarak gösterir) ve bu, aynı zamanda MacBook Pro'larda eski GPU'ların kullanıldığı eski çizimleri ve daha yeni mac'ler için yerel EFI önyüklemesini de içeren entegre grafiklerin devre dışı bırakıldığı EFI tarafından yapıldı.) Windows'un bir kopyasını aldım ve kurduktan sonra da aynı gösterdi. problem (bootmgfw.efi ile efi boot) Kalbinde uzman bir kullanıcı olarak, macOS'un bu sorunun nasıl olmadığı üzerine çalışmaya başladı.
İlk olarak, bazı arka plan. 2011'den önce, tüm mac'lar pencereleri önyüklemek için BIOS-CSM kullandıklarında (resmi olarak, Windows 8.1 ve önceki sürümleri, Apple'ın spesifik olmayan EFI'si nedeniyle UEFI uygulaması nedeniyle yerel olarak önyükleme yapamazdı), ve apple-set-os protokolü mevcut değildi (benim tarafımdan bir 2010 mac'la da test edildi), bu, tüm donanımı doğal olarak bir araya getirme katmanı olmadan maruz bırakan bir işletim sistemini yüklemek için bir EFI güçlendiricisi kullanılarak çözüldü. Windows 10 piyasaya sürüldüğünde, bootmgfw.efi, daha önce bootmgfw.efi'nin pencere yüklemeye çalışırken donacağı gibi, daha önce bootmgfw.efi'nin donacağı gibi EFI 1.1 makinelerinde şaşırtıcı bir şekilde çalıştı. Bu önemli ölçüde pil ömrünü de arttırdı.
2010'dan sonra, Apple'ın bilgisayarlarındaki EFI uygulamasını UEFI 2.0 uyumlu olarak yükselttiği sonucuna vardım, bu da Windows'un şu anda önyüklenebilir olduğu anlamına geliyordu (o sırada tabii ki.) MacOS ve diğer işletim sistemleri arasında ayrım yapmak için bir yola ihtiyaçları vardı. şu an UEFI üzerinden Windows'u yüklemeyi onayladılar (şeffaf bir şekilde, çoğu kullanıcı BootCamp Assistant.app kullanıyordu, bu da bunu yönetiyor.) CSM kullanarak önyükleme yaparken, yanıp sönen imlecin ekranda gösterileceği açıkça görülebilir. ve önyükleme grafikleri uzatılır (vesaire olmayan bir çözünürlük kullanıyorsanız, bunun yerine en yakın çözünürlük veya 1024x768 kullanılır, ki bu fark edilebilir bir etki yaratır)
İkisini birbirinden ayırt etmek için, EFI'deki apple-set-os protokolünü eklediler. Bunu Mac OS X 10'a ayarlamak, * tüm donanımı yerel olarak ortaya çıkarır ve ayarlanmazsa EFI, ayrı bir GPU ile mevcutsa entegre GPU'yu devre dışı bırakan ve ses arayüzünün gösterilme şeklini değiştiren bir "uyumluluk katmanı" uygular. Bir adaşlık programı geliştirildi ve burada: https://github.com/0xbb/apple_set_os.efi Entegre grafiklerin gösterilmesine izin verecek (orijinal hedef buydu) ve bir yıldırım gpu'sunun istenen dahili Intel GPU tarafından sürülen dahili ekrana sahip olması için Optimus veya AMD eşdeğeri kullanmasına izin verecek olan bu değeri elle ayarlayacaktır. Bu, oyun oynamanın harici grafiklerin Intel çerçeveleyicisine yazmasına izin vereceği için (bu şekilde gerçek optimus çalışır, ancak bu durumda harici grafiklerle kullanılabilir.)
Bu yardımcı programı aldım, hatırlatması için ekledim ve yola çıktım. Çağrıldığında ve Apple dışı bir işletim sistemi çalıştırıldığında, dahili trackpad ve klavye için SPI'nin dahili ve MacOS dışındaki herhangi bir şeyle uyumlu olmayan bazı uyumluluk arabirimini devre dışı bıraktığı görülüyor. Bu hem Windows hem de Ubuntu'da gerçekleşti.
Windows'ta Uzak Masaüstü'nü Mac'te Windows'ta kontrol etmek için kullandım (klavye girişi ve izleme dörtgeni hariç her şey, klavye arka ışıkları çalışsa bile) ve ses mükemmeldi. Görünen o ki Apple, macOS dışı işletim sistemleri için inanılmaz derecede kasıtlı olarak sesi kapattı. Ya da öyle görünüyor. Kendimi kontrol ettim ve iki kez kontrol ettim ve fark her fark edildi. Apple_set_os ayarında, klavye ve izleme dörtgeni SPI'ye ayarlandı (veya en azından karşılaştırmalı olarak kolayca görünmüyordu) ve dahili hoparlörler mükemmel şekilde eşit geliyordu. Apple_set_os set olmadan, dahili klavye ve trackpad Windows'un genel HID Sürücüleri veya Apple tarafından sağlanan gelişmiş olanlar ile çalıştı ve ses her seferinde aynı şekilde dengesizleşti.
Şimdi, Ubuntu ile. İkisini de denedim. Apple_set_os set ile klavye ve trackpad tekrar tespit edilip işlevsel değildi. Ancak, hoparlörler tekrar dengesiz geliyordu. Apple_set_os set olmadan denedim ve dahili giriş cihazları çalıştı ve ses aynı kaldı. Bununla birlikte, bir fark, apple_set_os setiyle, önyükleme sırasında ekranda görüntülenen artefaktların siyah olmasına rağmen, setsiz olarak, artefaktların aynı konumda olmasına rağmen RGB renkleriyle boğuşmasıydı.
Sorunun ne olduğundan tamamen emin değilim. Ancak, hoparlörler tarafından gösterildiği gibi, apple_set_os hack'inden sonra Windows'ta normal ses çıkaran ve Ubuntu'da aynı hack ile normal ses çıkmayan merak ediyorum. Bu sorunun uzunluğunun ve hiç kimsenin ne olup bittiğinden tam olarak emin olamayacağının somut bir cevap almaktan bile büyük olasılıkla çıkacağının farkındayım, ancak yine de işaret etmek ve bir şey olup olmadığını görmek istedim.