<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>40774</bug_id>
          
          <creation_ts>2021-08-18 00:21:39 +0300</creation_ts>
          <short_desc>vboxvideo вешает Workstation-9.2 в virtualbox</short_desc>
          <delta_ts>2021-08-18 00:24:21 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Альт Рабочая станция</product>
          <component>Ошибки работы</component>
          <version>9.2</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Protopopov">antoniopost</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>greh</cc>
    
    <cc>mike</cc>
    
    <cc>nir</cc>
    
    <cc>sin</cc>
          
          <qa_contact name="qa-p8@altlinux.org">qa-p8</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>201763</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Protopopov">antoniopost</who>
    <bug_when>2021-08-18 00:21:39 +0300</bug_when>
    <thetext>Установленная по умолчанию виртуальная машина падает (ядро сегфолтится) при загрузке драйвера vboxvideo в режимах VBoxVGA и VBoxSVGA. При этом в режиме VMSVGA машина грузится, но графика не стартует.

Проблема возникает в связи с тем, что в initrd кешируются апстримные (стоковые) драйвера vboxguest и vboxsf:
- kernel/drivers/virt/vboxguest/vboxguest.ko
- kernel/fs/vboxsf/vboxsf.ko

При этом в правилах загрузки по умолчанию задана явная загрузка внешних (родных) драйверов, в частности vboxvideo:
# cat /etc/modprobe.d/virtualbox-vboxvideo.conf
install vboxvideo /sbin/modprobe vboxvideovbox
blacklist vboxvideo

Коллизия возникает из-за конфликта драйверов разной &quot;природы&quot; загруженных не целостно. А для драйвера vboxsf проблема конфликта с новыми ядрами в релизе virtualbox-6.1.18-alt1 не решена системно - модуль не переимнован в vboxsfvbox и для него не созданы правила загрузки. Эта проблема исправлена в virtualbox-6.1.24-alt1 и старше.

Список всех vbox-драйверов:

c245 ~ # cd /lib/modules/5.10.52-un-def-alt1/
c245 5.10.52-un-def-alt1 # find . |grep vbox
./misc/vboxvideovbox.ko
./misc/vboxnetflt.ko
./misc/vboxguestvbox.ko
./misc/vboxdrv.ko
./misc/vboxsf.ko
./misc/vboxnetadp.ko
./kernel/drivers/virt/vboxguest
./kernel/drivers/virt/vboxguest/vboxguest.ko
./kernel/drivers/gpu/drm/vboxvideo
./kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko
./kernel/fs/vboxsf
./kernel/fs/vboxsf/vboxsf.ko

Решение.

Отключить загрузку родных гостевых драйверов путём удаления правил их загрузки вместе с родными драйверами (остаются стоковые):

# apt-get remove virtualbox-guest-common-vboxvideo virtualbox-guest-common-vboxguest
# make-initrd

При этом виртуальный драйвер VMSVGA не работает, если не отключить автозагрузку vbox-драйверов:

В случае, если автозагрузку vbox-драйверов отключена, для виртуальный драйвер VMSVGA автоматически подргужается драйвер vmwgfx и графика работает.

Также, если автозагрузку vbox-драйверов отключена, для виртуальных драйверов VBoxVGA и VBoxSVGA автоматически подргужается драйвер vboxvideo и графика тоже работает.

Однако, при отключенной автозагрузке vbox-драйверов, автоматически не подгружается драйвер vboxsf.


Другой вариант решения (требует уточнений, поясняет суть проблемы). 

# cd /lib/modules/5.10.52-un-def-alt1
# mv ./misc/vboxsf.ko ./misc/vboxsfvbox.ko
# cat &gt;/etc/modprobe.d/virtualbox-vboxsf.conf 
install vboxsf /sbin/modprobe vboxsfvbox
blacklist vboxsf
^D
# depmod
# cat &gt;&gt;/etc/initrd.mk
BLACKLIST_MODULES += vboxguest vboxvideo vboxsf vmwgfx
^D
# make-initrd</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>