Linux'ta video modunu nasıl düşük seviyeye ayarlayabilirim? Bildiğim kadarıyla kullanıcı alanındaki en düşük katman DRM yoluyla KMS istemek olacaktır. Bu doğru mu? Ve eğer öyleyse, bir mod anahtarını ve ilgili "video belleğine" nasıl erişebilirim?
Linux'ta video modunu nasıl düşük seviyeye ayarlayabilirim? Bildiğim kadarıyla kullanıcı alanındaki en düşük katman DRM yoluyla KMS istemek olacaktır. Bu doğru mu? Ve eğer öyleyse, bir mod anahtarını ve ilgili "video belleğine" nasıl erişebilirim?
Yanıtlar:
KMS - Çekirdek Modu Ayarı, onu duymamış olanlar için - çekirdek modu video sürücüleri tarafından mümkün olur. Bu çekirdek modu video sürücüleri, varsayılan olarak ekli monitörlerin doğal çözünürlüğü olan bir çerçeve tamponu ekranı yapılandırır. Birden fazla monitör bağlıysa, her monitör kendi çözünürlüğünü alır ve sanal konsol her iki monitörün de minimum genişlik ve yüksekliğiyle sınırlandırılır.
KMS kullanımı framebuffer'ın sonuçlanır Çünkü karetamponu yapılandırma öğeleri olmalıdır çalışır. Şu anda bulunduğum sistemde bunu doğrulayamıyorum, çünkü bir KMS sürücüsü yok. Ama daha sonra KMS ile bir sistemde olacağım ve size bildireceğim.
Daha fazla bilgi için çerçeve tamponları için video = boot up parametresi ile mod ayarlama hakkındaki çekirdek belgelerine bakın .
Ne istediğini gerçekten bildiğinden emin değilim, aksi takdirde cevaplanabilir bir şekilde ifade ederdin. ... Ama sorunuzu cevaplarken elimden gelenin en iyisini yapmak.
Bir mod ayarlamak ve bazı 'video belleği' mi çıkarmak istiyorsunuz? eski dos modu X gün gibi ?? İstediğiniz buysa, Framebuffer ile programlamanız gerekir. Bununla birlikte, DirectFB ile çalışmak çok daha iyi olurdu. DirectFB, Framebuffer'da ivmeli çok ince bir tabaka gibidir. Onun düşük seviyesi ve doğrusu makul olarak hiç yazma uygulamaları gitmek istediğiniz kadar düşük. Modları ayarlayabilir ve daha düşük seviyeli bir tarzda kontrol sahibi olabilirsiniz. Doğrudan doğrudan stil kontrolü istiyorsanız, Framebuffer ham yazmak zorundasınız, temel olarak bazı video ram'larını eşleştiriyorsunuz. Framebuffer'ın kötü performans gösterdiğini düşünüyorsanız, yeterince stres alamıyorum, DirectFB'ye bakın. Birisinin yüklü bir KMS sürücüsü varsa, Framebuffer'ı KMS / libdrm aracılığıyla ayarlanır.
Şimdi libdrm'e gelince, çekirdek DRM ile çalışmak için bir kullanıcı alanı lib. Bir Framebuffer değil, bir uygulama API'sı değil, bir sistem cihazı kütüphanesidir. Yeni bir aygıt sürücüsü oluşturmak istiyorsanız, libdrm gitmenin mutlak yoludur. Örneğin, libdrm-radeon. Linux DOS değil, donanımla doğrudan iletişim kurmanın tek yolu çekirdek üzerinden. Tüm normal uygulamalar hiçbir zaman doğrudan donanıma kod göndermez, bazı lib / API / çağrılarda devre dışı bırakılmalıdır. FBUI gibi akademik / deneysel amaçlar için çekirdek içi yaklaşımı benimseyen projeler var.
Umarım en azından sizi doğru yönde gösterebilirdim, eğer değilse sorunuzu yorumlamalı ve güncellemelisiniz. Bu soruyu, en az iki göçten önceki ve yanıtlamaya daha yakın olmayan anlayışından bu yana takip ettim. Daha fazla bilgi olmadan, söylenebilecek başka bir şey yoktur.