VirtualBox'daki Debian 7'deki xrandr ayarları güvenilir şekilde otomatikleştirilemiyor


23

Konuda birçok mevcut soru (hangi en yararlı cevaptır olsa bu ) ve diğer forumlarda çeşitli ipler, ben güvenilir benim ayarlayamıyor xrandrVirtualBox Debian 7 ayarları.

xrandrEkran ayarlarımı kontrol etmek için kullanmaya çalışıyorum (masaüstü ortamımın onları otomatikleştirmesine izin vermek yerine) çünkü ekran ayarlarını otomatikleştirmeyen veya Gnome masaüstü ortamı ekran ayarlarını kullanan i3pencere yöneticisini kullanıyorum .

Kurmak:

Bunlardan herhangi birinin, özellikle donanımların ne kadar alakalı olduğundan emin değilim, çünkü Debian'ın monitör kurulumu hakkında gerçekten fazla bilgiye ulaşabileceğini sanmıyorum ; Söyleyebileceğim kadarıyla, VirtualBox sadece sanal ekranların varlığını donanım izleyicileriymiş gibi bildirir.

Donanım

  • NVidia grafikli Lenovo Dizüstü Bilgisayar (tümleşik Intel GPU kullanılmıyor, AFAIK - bunu yapmak için kullandığım bir BIOS ayarı var)
    • Windows 7
    • 32GB RAM
    • En yeni (sanırım) nVidia sürücüyü (340.84) kullanma - bu önemli olabilir , çünkü konuk OS'in ana bilgisayar donanımına erişmesine izin verdiğini düşündüğüm VirtualBox'ta 3D hızlandırmayı etkinleştirdim (aşağıya bakınız).
  • Seiki 4K TV (monitör olarak kullanılır) HDMI üzerinden yerleştirme istasyonu üzerinden (dahili olarak DisplayPort'u HDMI'ye dönüştürür)
  • Samsung SyncMaster 243T monitör dikey döndü

VirtualBox

  • VirtualBox 4.3.20 Kullanımı
  • Konuk eklemeleri (aynı sürüm) yüklü
  • Monitör sayısı: 2 (tam ekran modundayken Seiki ve SyncMaster cihazına atanmış)
  • Kullanılan maksimum video belleği (128 MB)
  • 3D Hızlandırma etkin

Konuk ayarları

  • 32-bit Debian 7
  • gnomeve gdm3yüklü
  • Tercih edilen WM i3

Davranış:

Başlattığımda i3ve sorguladığımda xrandr, varsayılan ekran ayarları her zaman VBOX0ve VBOX1, VirtualBox'ın rapor ettiği iki "monitör" ile aynı görünüyor xrandr(en azından bu şekilde anlıyorum; bir şeyi kaçırıyor olabilirim). Söyleyebileceğim kadarıyla, hangi VBOX # 'nın hangi monitörün deneme yanılma yetersiz olduğunu söylemenin iyi bir yolu olmadığını unutmayın.

Genellikle bu, dikey SyncMaster'ım için makul (eğer biraz doğal ise) bir çözünürlük içerir, fakat Seiki için 4K çözünürlük yoktur. VirtualBox'taki "konuk ekranını otomatik olarak yeniden boyutlandır" seçeneği etkileyici gözükmüyor xrandr.

Yukarıda verilen cevapta açıklanan betiğin çeşitli değişikliklerini denedim , ancak genel olarak çeşitli xrandrhatalar alıyor gibiyim. Çalıştığım çeşitli şeyler ile aldığım hatalar arasında çok fazla ilişki bulamadım, ancak önemli olabilecek başlıca şeyler şunlardır:

Script tweaks

  • (Genellikle) VBoxServiceyeniden başlatma adımlarını atlayarak ( xrandrdavranışı değiştirmezler )
  • xrandr --fbDiğer xrandrkomutlardan önce seçeneği kullanın ; bu bazen aşağıda belirtilen "belirtilen ekran yeterince büyük değil" hatasıyla sonuçlanır
  • 60 yerine 30 fps kullanın (geçerli HDMI aracılığıyla 4K maksimum 30fps'dir, ancak bunun VirtualBox içinde önemli olduğunu düşünmüyorum ; her durumda bazen çalışmam gerektiğini ve bazen iki yönde de başarısız olduğunu düşünüyorum)
  • cvtBunun yerine kullanın gtf(bunlar aynı şekilde davranıyor gibi görünür)
  • gtf(Genellikle 200 veya 300 civarında olan) tarafından verilen ilk sayıyı daha küçük bir sayı ile değiştirin 100.00(sanırım bu bir veya iki kez komut satırında çalıştı, ancak genellikle bir fark yaratmıyor gibi görünüyor).
  • Yeni mod adlarını kullanarak randomize edin $RANDOM(Ayrıca adlarla uğraşmanın başka yollarını da denedim)
  • --rmmodeKullanmadan önce açıkça kipler. --newmode(Aşağıda listelenen "yazı tipi" hatasını engelliyor gibi görünüyor)
  • S ayarını yaparken --right-ofveya tuşlarını kullanın (ekranlar genellikle varsayılan olarak yansıtılır)--left-of--output

Hata mesajları

  • xrandr: specified screen 5120x2160 not large enough for output VBOX0 (3840x2160+3840+0) X Error of failed request: BadValue (integer parameter out of range for operation) Monitörler zaten doğru çözünürlüklere zorlandıktan sonra bir sonraki senaryoyu yeniden çalıştırırken bunu şimdi aldım (bir sonraki bölümde açıklanan geçici çözümü kullanarak). Bu beni şaşırttı, çünkü xrandraşağıdakileri rapor ediyor: Screen 0: minimum 64 x 64, current 5120 x 2160, maximum 16384 x 16384
  • X Error of failed request: BadMatch (invalid parameter attributes) Bu bazen bir yapmaya çalışırken ortaya çıkar --newmode. Muhtemelen betiğin başarısız olmasının ikinci en yaygın nedenidir. Ben düşünüyorum o neden olabilir xrandrkurmak için bir önceki girişiminden modun adı "hatırlama", ama kullanan $RANDOMyok değil bazı başka sorun olabilir bu yüzden sürekli sorunu çözmek için görünür. (Sanırım $RANDOMad çarpışmaları olsa da mümkün olabilir.) Kullanmaya başladığımdan beri bu hatayı görmedim --rmmode, ancak bu komutu eklediğinden beri komut satırından beri komut dosyasını yeterince çalıştırmadım. davranış.
  • X Error of failed request: BadMatch (invalid parameter attributes) Bu bazen bir yapmaya çalışırken ortaya çıkar --addmode. Muhtemelen betiğin başarısız olmasının en yaygın sebebi budur ve beni şaşırtıyor. Bazen, el ile (yani bir terminalde), komut dosyası tarafından kullanılan aynı komut dizisini uygulamak, tuhaf olan bu hata için uygun bir geçici çözüm gibi görünmektedir.

GNOME geçici çözümü:

Ben Gnome masaüstüne giriş yaparsanız, daha sonra, VirtualBox yönettiği "Otomatik boyutlandırma konuk ekran" işlevi yerine çıkış yapıp geri İle bulduk i3, xrandrgenellikle kendi otomatik oluşturulan hem Seiki için doğru kararlar ve SyncMaster içerir mod listesi ve 4K çözünürlük, her VBOX ekranı için "tercih edilen" çözünürlük olarak ayarlanmıştır. Bu bana sadece kullanım sağlar xrandr --output [4K VBOX] --auto --left-of [SyncMaster VBOX], ardından xrandr --output [SyncMaster VBOX] --mode [SyncMaster resolution](SyncMaster çözünürlüğü yine de el beri belirtilmelidir o notta xrandrraporları için aynı tercih çözünürlük hem VBOX# gerçeğin ya aklı ile hiçbir konuda 's).

Bu geçici çözüm, gerçekleştirir, bir kez görünüşte kapatmalar ve yeniden doğmuş genelinde devam ederse (olduğunu, istenen modlar halen mevcuttur xrandrHala iki çalıştırmak için gereken rağmen 'ın modu listesinin xrandrbir başladıktan sonra komutlar i3oturumu), fakat yok değil her zaman sadece zaman devam oturumu kapatıp yeni bir i3oturum başlatmak . gdm3Giriş ekranının asla doğru çözünürlüğe sahip olmadığını unutmayın (gördüğüm kadarıyla). Burada olan gariplik hakkında başka bir yorumum yok.

EDIT: Bu yaklaşım komut dosyası gibi görünmüyor ve davranış aslında tutarlı görünmüyor.

Diğer notlar:

  • Bir yok xconfbenim içinde (veya benzeri) dosyasını etc/X11dir.
  • Ekranları düzeltmek oldukça yaygın bir sorundur, çünkü ne zaman ekranlarımdan birini kapatsam, VirtualBox tam ekran sanal ekranlardan birini öldürür. (Urgh.)

Sorular:

  • Farklı monitörlerin gerçek donanım yeteneklerini (yani, doğal çözünürlükler) VirtualBox içinden programatik olarak ayırt etmenin bir yolu var mı?
  • Neden bu çeşitli hataları görüyorum? Neler oluyor xrandr, vb?
  • Oturumumdan gnomeönce bir oturum başlatmamı gerektirmeden doğru tam ekran çözünürlüğünü güvenilir bir şekilde elde etmenin bir yolu var mı i3?

Muhtemel ilgili konular

  • Fare işaretçim, tıklamaların algılandığı yerde güvenilir bir şekilde hizalanmıyor; tıklamalar genellikle aşağıda ve işaretçinin sağında gerçekleşir. Ekranları doğru bir şekilde yapılandırdıktan sonra, şu anda ekranlar doğru çözünürlüklere sahip olmasına rağmen işaretçi hala hafifçe kapalı olsa da, bu sorun genellikle ortadan kalkar.
  • Çözünürlükleri doğru almayı başardığımda ekran bazen titriyor. Bu can sıkıcı ama yaşanabilir. Buna neyin sebep olduğu veya düzeltilip düzeltilemeyeceği hakkında fikrin var mı?

Notlarımı kazmam gerekecek, ancak ekranlarınız için desteklenen modlar nedir? i3'ün giriş yaptıktan hemen önce / sonra bir betiği başlatmak için bir yolu var mı? superuser.com/questions/808737/… benzer, fiziksel bir sorunla uğraştığım şeydi, ancak bu sizin davanızda çalışmak için biraz finisaj gerektirebilir.
Journeyman Geek

@JourneymanGeek 4K, 60 hz'deki standart modların çoğunu ve 30 hz'de (4K dahil) daha büyük modları destekler. SyncMaster normal modların çoğunu destekliyor, 1920x1280 doğal (dikey) bir çözünürlüğe sahip. İ3 config betiği giriş sırasında bir betiğin çalışmasını destekler; Bu özelliği, kendinize benzeyen yukarıda açıklanan komut dosyasını otomatik olarak çalıştırmak için kullanıyorum, ancak tuhaf xrandrhatalar alıyorum .
Kyle Strand

İ3'ü nasıl başlatırsınız? Kendi X başlatma rutini var mı? Yoksa onu bırakıp .xinitrckullanıyor startxmusun? Kullanmaya başladığım xmonad'ı kullanıyorum (anladığım gibi, i3'e benziyor?) startx. Benim xrandrkomut dosyası tüm yapılır .xinitpenceremin yöneticisi suya indirilmeden hemen önce. Bu şekilde mükemmel sonuçlar aldım. X gitmeye hazır ve müdahale etmek için başka hiçbir şey başlatılmadı.
Chris

Kullanıyorum gdm3ve i3hesabım için varsayılan masaüstü ortamı olarak seçtim.
Kyle Strand,

1
Ne yazık ki, hemen düşünebileceğim hiçbiri yok, çünkü VBox sürekli olarak monitörlere isim atamıyor gibi görünüyor. xrandr --queryAyarları yanlış algıladığında (a) 'nın ve (b) her şeyi doğru şekilde yaptıktan sonra çıktısını gönderir misiniz? Veya doğru çalışan her şeyden en az biri.
Chris

Yanıtlar:


0

En son VirtualBox sürüm 5.0.14’e güncelleme, sorunu çözmüş gibi görünüyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.