Evet, öğrendim!
Intel sürücüsünün SANAL çıktısını etkinleştirmek için 20-intel.conf
, Xorg yapılandırma dizininde bir dosya oluşturmanız gerekir ( /usr/share/X11/xorg.conf.d
Debian streç altında, okuyarak öğrenilir /var/log/Xorg.0.log
)
Section "Device"
Identifier "intelgpu0"
Driver "intel"
Option "VirtualHeads" "2"
EndSection
/Etc/bumblebee/xorg.conf.nvidia'm aşağıdaki gibidir:
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddDevices" "true"
Option "AutoAddGPU" "false"
EndSection
Section "Device"
Identifier "DiscreteNvidia"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "ProbeAllGpus" "false"
Option "NoLogo" "true"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Screen"
Identifier "Screen0"
Device "DiscreteNVidia"
EndSection
Bazı açıklamalar: bir "Ekran" bölümüne ihtiyaç duyar, aksi takdirde 20-intel.conf içinde bildirilen Intel cihazını kullanmaya çalışır (daha önce eklediğimiz, oh my ...). Ayrıca, harici monitör bağlı olmadığında optirun ile başlayabilmek için "AllowEmptyInitialConfiguration" gerekir.
Bu yapılandırma ve başlatma ile intel-virtual-output
HDMI bağlantı noktasına erişebildim. Yeehaa !!!
Giderme: eğer optirun
yoksa intel-virtual-output
değil iş yapmak, bir göz atın /var/log/Xorg.8.log
(yaban arısı ekranlı bir X sunucusu oluşturur: 8 dahili olarak kullanılır).
Notlar Birden fazla yerde okumak KeepUnusedXServer
ayarlanması gerekir true
ve PMMethod
hiç none
de /etc/bumblebee/bumblebee.conf
, bunu yoktu ve para cezası çalışır. Bunu yaparsam çalışır, ancak ayrık GPU, isteğe bağlı bir uygulamadan çıktıktan veya istemediğim intel-sanal çıktıyı öldürdükten sonra bile açık kalır.
Daha fazla not Başımı duvara vurmamı sağlayan başka bir şey Nouveau'yu devre dışı bırakmak ve Intel X sunucusunu başlatmaktı: bunun GRUB parametrelerinde belirtilen çekirdeğe geçirilen bayraklarla yapılması gerekiyor. Içinde /etc/defaults/grub
, ben aşağıdaki satırı:
GRUB_CMDLINE_LINUX_DEFAULT="quiet blacklist.nouveau=1 i915.modeset=1 gfxpayload=640x480 acpi_backlight=vendor acpi_osi=! acpi_osi=\"Windows 2009\""
(tırnak ve kaçan tırnak sakının).
Bazı açıklamalar: nouveau (Nvidia X sunucusuyla uyumlu değildir) yüklenmesini önler ve Intel sürücüye önyükleme zamanında grafik moduna geçmesini söyler. Bunu yapmazsanız, Intel X sunucusu başlatılamaz ve CPU tarafı 3D oluşturma özelliğine sahip eski bir VESA sunucusuna geri döner. acpi_xxx
Bayraklar ayrık GPU off ile grafik modunda giderken çökmesini kılan bir BIOS hata aşmak için bu özel makinede gereklidir. Bu dizüstü bilgisayara özel olduğunu unutmayın (HP ZBook taşınabilir iş istasyonu), gereksiz olabilir veya diğer dizüstü bilgisayarlar için farklı olabilir.
Güncelleme (6 Aralık 2017) En son Debian dağıtımıyla (Buster), "915.modeset = 1 gfxpayload = 640x480" gerekli değildir. Nouveau kaldırmak için, /etc/modprobe.d içinde "blacklist nouveau" ile bir nouveau.conf dosyası oluşturmam ve ardından ramdisk'i "update-initramfs -u" ile yeniden oluşturmam gerekiyordu. Yeniden başlatın ve "nouveau" nun artık "lsmod | grep nouveau" ile yüklü olmadığından emin olun.
Güncelleme (17 Aralık 2016) En son xorg sunucusu (1.19) ile birlikte kullanıldığında Gamma'yı yöneten bir RandR işlevinde bir sorun var gibi görünüyor intel-virtual-output
. İşte Xserver'ı düzeltme ve işe alma prosedürü:
sudo apt-get build-dep xserver-xorg-core
apt-get source xorg-server
düzenlemek hw / xfree86 / modes / xg86RandR12.c Satır 1260, "return" yazınız (böylece fonksiyon xf86RandR12CrtcComputeGamma()
hiçbir şey yapmaz)
dpkg-buildpackage -rfakeroot -us -uc
cd ..
sudo dpkg -i xserver-xorg-core_n.nn.n-n_amd64.deb
( n.nn.n-n
doğru sürüm ile değiştirin ), yeniden başlatın ve Yehaa !! tekrar çalışıyor! (ancak hızlı ve kirli bir düzeltme)
Güncelleme bir hata raporu verdi (zaten biliniyordu ve düzeltildi):
https://bugs.freedesktop.org/show_bug.cgi?id=99129
Nasıl anladım:
Yüklü xserver-xorg-core-dbg
ve yaptığı gdb /usr/lib/xorg/Xorg <xorg pid>
ssh'dan başka bir makineden.
Güncelleme (11 Ocak 17) Hatanın artık en son Debian paketlerinde düzeltildiği anlaşılıyor.
Güncelleme (24 Ocak 18) Bir sunum yapmak için bir beamer takmak ve başlamadan hemen önce her şeyi yapılandırmanız gerektiğinde (intel-virtual-output + xrandr), stresli olabilir. İşte işi yapan küçük bir senaryo (sorumluluk reddi: stil vb. İle ilgili iyileştirme için çok fazla alan ...):
# beamer.sh: sets Linux display for doing a presentation,
# for bumblebee configured on a laptop that has the HDMI
# plugged on the NVidia board.
#
# Bruno Levy, Wed Jan 24 08:45:45 CET 2018
#
# Usage:
# beamer.sh widthxheight
# (default is 1024x768)
# Note: output1 and output2 are hardcoded below,
# change according to your configuration.
output1=eDP1
output2=VIRTUAL1
# Note: I think that the following command should have done
# the job, but it does not work.
# xrandr --output eDP1 --size 1024x768 --output VIRTUAL1 --size 1024x768 --same-as eDP1
# My guess: --size is not implemented with VIRTUAL devices.
# Thus I try to find a --mode that fits my needs in the list of supported modes.
wxh=$1
if [ -z "$wxh" ]; then
wxh=1024x768
fi
# Test whether intel-virtual-output is running and start it.
ivo_process=`ps axu |grep 'intel-virtual-output' |egrep -v 'grep'`
if [ -z "$ivo_process" ]; then
intel-virtual-output
sleep 3
fi
# Mode names on the primary output are simply wxh (at least on
# my configuration...)
output1_mode=$wxh
echo Using mode for $output1: $output1_mode
# Mode names on the virtual output are like: VIRTUAL1.ID-wxh
# Try to find one in the list that matches what we want.
output2_mode=`xrandr |grep $output2\\\. |grep $wxh |awk '{print $1}'`
# There can be several modes, take the first one.
output2_mode=`echo $output2_mode |awk '{print $1}'`
echo Using mode for $output2: $output2_mode
# Showtime !
xrandr --output $output1 --mode $output1_mode --output $output2 --mode $output2_mode --same-as $output1
güncelleme (10/07/2019)
Yeni kilitlenme için bir "düzeltme": bir komut dosyasında aşağıdakileri yazın ( bumblebee-startx.sh
örneğin çağırın ):
optirun ls # to load kernel driver
/usr/lib/xorg/Xorg :8 -config /etc/bumblebee/xorg.conf.nvidia \
-configdir /etc/bumblebee/xorg.conf.d -sharevts \
-nolisten -verbose 3 -isolateDevice PCI:01:00:0 \
-modulepath /usr/lib/nvidia/nvidia,/usr/lib/xorg/modules/
(PCI: nn: nn: n'yi lspci ile elde edilen NVidia kartınızın adresiyle değiştirin)
Bu komut dosyasını bir terminal penceresinden root ( sudo bumblebee-startx.sh
) olarak çalıştırın , terminali açık tutun optirun
ve intel-virtual-output
beklendiği gibi çalışın (not: bazen xrandr
ekran / video projektörün algılanmasını sağlamak için ek olarak çalıştırmam gerekir ). Şimdi aynı komutun yaban arısı çökmelerinden neden başladığını anlamıyorum, burada birçok gizem var ... (ama en azından geçici bir düzeltme veriyor).
Nasıl anladım: xserver'ı başlatmak için bir 'sarmalayıcı' komut dosyası yazdı, bumblebee.conf dosyasında XorgBinary olarak ilan etti, komut satırını ($ *) bir dosyaya kaydetti, LD_PRELOAD XServer'a bir yama içeren bazı şeyler denedi osLookupColor'daki çökme düzeltildi (işe yaramadı), ancak aynı komut satırını el ile başlatmaya çalıştığımda, çalıştı ve yamam olmadan çalışmaya devam etti (ama yine de nedenini anlamıyorum).
Güncelleme 11/15/2019 Güncellemeden
sonra çok fazla titreme yaşadım ve sistemi kullanılamaz hale getirdim. Çekirdek parametresi eklenerek düzeltildi i915.enable_psr=0
(sonra /etc/defaults/grub
, sonra sudo update-grub
). Şimdi istiyorsanız, PSR, Intel GPU'ların güç tasarrufu özelliği olan (ekran titremesine neden olabilir) 'panel kendini yenileme' anlamına gelir.