Bug 3425 - Divide the host and guest kernel drivers for various packages.
Summary: Divide the host and guest kernel drivers for various packages.
Status: RESOLVED MOVED
Alias: None
Product: Fedora
Classification: Unclassified
Component: VirtualBox-kmod (show other bugs)
Version: unspecified
Hardware: All GNU/Linux
: P5 normal
Assignee: Sérgio Basto
URL:
Depends on: 3426
Blocks:
  Show dependency treegraph
 
Reported: 2014-12-02 15:49 CET by Aleksey Avdeev
Modified: 2018-01-14 23:27 CET (History)
0 users

See Also:
namespace:


Attachments
Xorg.0.log (9.02 KB, text/plain)
2014-12-05 12:26 CET, Aleksey Avdeev
Details
Xorg.9.log (9.02 KB, text/plain)
2014-12-05 12:26 CET, Aleksey Avdeev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksey Avdeev 2014-12-02 15:49:34 CET
I came across a the following situation: If the virtual machine is running VirtualBox installed VirtualBox-kmod package (it must be me there VirtualBox pulls) -- installed in this virtual machine can not run Fedora graphical mode. This problem causes the load kernel drivers vboxvideo.ko. Graphics mode works fine, if the kernel driver to remove (or disable it from loading).

I propose to divide the host and guest kernel drivers for various packages. (I understand that this will require improvements ktodtool.)
Comment 1 Aleksey Avdeev 2014-12-02 16:48:24 CET
For myself, I did the following:

1. Add kmodtool key --kmodgroups (see https://bugzilla.rpmfusion.org/show_bug.cgi?id=3426).

2. Use a modified kmodtool in VirtualBox-kmod.spec. An example of the modified VirtualBox-kmod.spec I posted on GitHub (https://github.com/solooboroten/VirtualBox-kmod) in the brunch kmodgroups (https://github.com/solooboroten/VirtualBox-kmod/tree/kmodgroups).

3. After building getting packages:

 	akmod-VirtualBox
	akmod-VirtualBox-drv
	akmod-VirtualBox-guest
	kmod-VirtualBox
	kmod-VirtualBox-<uname-r>
	kmod-VirtualBox-drv
	kmod-VirtualBox-drv-<uname-r>
	kmod-VirtualBox-guest
	kmod-VirtualBox-guest-<uname-r>
Comment 2 Sérgio Basto 2014-12-02 19:55:10 CET
(In reply to comment #0)
> I came across a the following situation: If the virtual machine is running
> VirtualBox installed VirtualBox-kmod package (it must be me there VirtualBox
> pulls) -- installed in this virtual machine can not run Fedora graphical mode.
> This problem causes the load kernel drivers vboxvideo.ko. Graphics mode works
> fine, if the kernel driver to remove (or disable it from loading).
> 
> I propose to divide the host and guest kernel drivers for various packages. (I
> understand that this will require improvements ktodtool.)

I don't understand what you wrote , could you elaborate better , vboxvideo.ko it only loaded on guest .

Host only loads : 
vboxdrv
vboxnetflt
vboxnetadp

cat /etc/modules-load.d/VirtualBox.conf 
vboxdrv
vboxnetflt
vboxnetadp
Comment 3 Nicolas Chauvet 2014-12-02 21:29:34 CET
Yep, I don't understand the original issue here either.

Guest case:
install (a)kmod-VirtualBox VirtualBox-guest

Host case:
install (a)kmod-VirtualBox VirtualBox

@Aleksey what is the issue here ?
If there is anything to fix that's the docs, not the tool or the recipes.

I don't see any benefit to split the kmod into small pieces. For the same reason as I don't see any benefit if the kernel was splitted in each subsystem or even worst each module as a kernel sub-package. 

Users  of VirtualBox-guest might install unneeded modules on their system, but we just don't care.
Comment 4 Aleksey Avdeev 2014-12-03 12:43:00 CET
OK. Observe the following:

1. As a guest (under VirtualBox) uses a system based on Fedora 20. In this case:

1.a) / usr / bin / X starts and runs normally.

1.b) The list of loaded modules:

$ lsmod | tee NoVirtualBox.lsmod
Module                  Size  Used by
ip6t_rpfilter          12546  1 
ip6t_REJECT            12939  2 
xt_conntrack           12760  9 
bnep                   19624  2 
bluetooth             453558  5 bnep
cfg80211              493592  0 
rfkill                 21979  3 cfg80211,bluetooth
ebtable_nat            12807  0 
ebtable_broute         12731  0 
bridge                116200  1 ebtable_broute
stp                    12868  1 bridge
llc                    13941  2 stp,bridge
ebtable_filter         12827  0 
ebtables               30758  3 ebtable_broute,ebtable_nat,ebtable_filter
ip6table_nat           12974  1 
nf_conntrack_ipv6      18738  6 
nf_defrag_ipv6         34785  1 nf_conntrack_ipv6
nf_nat_ipv6            13213  1 ip6table_nat
ip6table_mangle        12700  1 
ip6table_security      12710  1 
ip6table_raw           12683  1 
ip6table_filter        12815  1 
ip6_tables             26809  5 ip6table_filter,ip6table_mangle,ip6table_security,ip6table_nat,ip6table_raw
iptable_nat            12970  1 
nf_conntrack_ipv4      14656  5 
nf_defrag_ipv4         12702  1 nf_conntrack_ipv4
nf_nat_ipv4            13199  1 iptable_nat
nf_nat                 25178  4 nf_nat_ipv4,nf_nat_ipv6,ip6table_nat,iptable_nat
nf_conntrack           99413  8 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,ip6table_nat,iptable_nat,nf_conntrack_ipv4,nf_conntrack_ipv6
iptable_mangle         12695  1 
iptable_security       12705  1 
iptable_raw            12678  1 
vfat                   17411  1 
fat                    65059  1 vfat
snd_intel8x0           38243  1 
snd_ac97_codec        129483  1 snd_intel8x0
ac97_bus               12682  1 snd_ac97_codec
ppdev                  17635  0 
snd_seq                62266  0 
snd_seq_device         14136  1 snd_seq
snd_pcm               104333  2 snd_ac97_codec,snd_intel8x0
microcode              44710  0 
parport_pc             28088  0 
parport                40425  2 ppdev,parport_pc
serio_raw              13434  0 
i2c_piix4              22166  0 
snd_timer              28778  2 snd_pcm,snd_seq
snd                    75905  8 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm,snd_seq,snd_seq_device
soundcore              14491  1 snd
nfsd                  285178  1 
auth_rpcgss            58806  1 nfsd
nfs_acl                12741  1 nfsd
lockd                  93436  1 nfsd
sunrpc                279768  5 nfsd,auth_rpcgss,lockd,nfs_acl
e1000                 137260  0 
ata_generic            12923  0 
pata_acpi              13053  0

2. Install VirtualBox in the guest:

$ LANG=C sudo -H yum install VirtualBox
[sudo] password for admin: 
Loaded plugins: langpacks, priorities, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package VirtualBox.x86_64 0:4.3.20-1.fc20 will be installed
--> Processing Dependency: VirtualBox-kmod = 4.3.20 for package: VirtualBox-4.3.20-1.fc20.x86_64
--> Running transaction check
---> Package kmod-VirtualBox-3.17.4-200.fc20.x86_64.x86_64 0:4.3.20-1.fc20.2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================
 Package        Arch   Version         Repository              Size
====================================================================
Installing:
 VirtualBox     x86_64 4.3.20-1.fc20   rpmfusion-free-updates  25 M
Installing for dependencies:
 kmod-VirtualBox-3.17.4-200.fc20.x86_64
                x86_64 4.3.20-1.fc20.2 rpmfusion-free-updates 218 k

Transaction Summary
====================================================================
Install  1 Package (+1 Dependent package)

Total download size: 25 M
Installed size: 88 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): kmod-VirtualBox-3.17.4-200.fc20.x86_64-4 | 218 kB  00:00     
(2/2): VirtualBox-4.3.20-1.fc20.x86_64.rpm      |  25 MB  00:04     
--------------------------------------------------------------------
Total                                  5.2 MB/s |  25 MB  00:04     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
  Installing : kmod-VirtualBox-3.17.4-200.fc20.x86_64-4.3.20-   1/2 
  Installing : VirtualBox-4.3.20-1.fc20.x86_64                  2/2 
  Verifying  : VirtualBox-4.3.20-1.fc20.x86_64                  1/2 
  Verifying  : kmod-VirtualBox-3.17.4-200.fc20.x86_64-4.3.20-   2/2 

Installed:
  VirtualBox.x86_64 0:4.3.20-1.fc20                                 

Dependency Installed:
  kmod-VirtualBox-3.17.4-200.fc20.x86_64.x86_64 0:4.3.20-1.fc20.2   

Complete!

3. Reboots the guest.

4. After the reboot does not start Xorg:

$ tail -n 18 /var/log/Xorg.0.log
[    30.604] (II) VESA(0): initializing int10
[    30.604] (EE) VESA(0): Cannot read V_BIOS (3) Input/output error
[    30.604] (II) UnloadModule: "vesa"
[    30.604] (II) UnloadSubModule: "int10"
[    30.604] (II) Unloading int10
[    30.604] (II) UnloadSubModule: "vbe"
[    30.604] (II) Unloading vbe
[    30.604] (EE) Screen(s) found, but none have a usable configuration.
[    30.604] (EE) 
Fatal server error:
[    30.604] (EE) no screens found(EE) 
[    30.605] (EE) 
Please consult the Fedora Project support 
	 at http://wiki.x.org
 for help. 
[    30.605] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    30.605] (EE) 
[    30.606] (EE) Server terminated with error (1). Closing log file.

5. Changes in the list of loaded kernel drivers:

$ lsmod > VirtualBox.lsmod
$ diff -u NoVirtualBox.lsmod VirtualBox.lsmod
--- NoVirtualBox.lsmod	2014-12-03 14:09:53.447321614 +0300
+++ VirtualBox.lsmod	2014-12-03 14:26:04.011941583 +0300
@@ -1,9 +1,9 @@
 Module                  Size  Used by
 ip6t_rpfilter          12546  1 
 ip6t_REJECT            12939  2 
-xt_conntrack           12760  9 
 bnep                   19624  2 
 bluetooth             453558  5 bnep
+xt_conntrack           12760  9 
 cfg80211              493592  0 
 rfkill                 21979  3 cfg80211,bluetooth
 ebtable_nat            12807  0 
@@ -33,21 +33,27 @@
 iptable_raw            12678  1 
 vfat                   17411  1 
 fat                    65059  1 vfat
+vboxnetadp             25670  0 
+vboxnetflt             27613  0 
+vboxdrv               389085  2 vboxnetadp,vboxnetflt
+ppdev                  17635  0 
 snd_intel8x0           38243  1 
 snd_ac97_codec        129483  1 snd_intel8x0
 ac97_bus               12682  1 snd_ac97_codec
-ppdev                  17635  0 
 snd_seq                62266  0 
 snd_seq_device         14136  1 snd_seq
 snd_pcm               104333  2 snd_ac97_codec,snd_intel8x0
 microcode              44710  0 
+snd_timer              28778  2 snd_pcm,snd_seq
 parport_pc             28088  0 
-parport                40425  2 ppdev,parport_pc
 serio_raw              13434  0 
+parport                40425  2 ppdev,parport_pc
 i2c_piix4              22166  0 
-snd_timer              28778  2 snd_pcm,snd_seq
 snd                    75905  8 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm,snd_seq,snd_seq_device
+vboxguest             235982  0 
+vboxvideo              12669  0 
 soundcore              14491  1 snd
+drm                   296901  2 vboxvideo
 nfsd                  285178  1 
 auth_rpcgss            58806  1 nfsd
 nfs_acl                12741  1 nfsd

Xorg work restores only add vboxvideo to blacklist.

This is a situation that I strongly hinders...
Comment 5 Sérgio Basto 2014-12-03 20:44:46 CET
Install VirtualBox on a vm guest which running under VirtualBox , is not allowed.
You should install VirtualBox-guest on guest and try install VirtualBox on guest will conflict with VirtualBox-guest . 

why you would want run VirtualBox under a guest system ? 

But anyway, I think your error is not have VirtualBox-guest on guest , and have VirtualBox , on X start loads vboxvideo and crash system I don't know why 

Not have VirtualBox-guest you will not have USB proxy , X acceleration , clipboard synchronization and shared folders .
Comment 6 Aleksey Avdeev 2014-12-04 13:14:02 CET
(In reply to comment #5)
> Install VirtualBox on a vm guest which running under VirtualBox , is not
> allowed.
> You should install VirtualBox-guest on guest and try install VirtualBox on
> guest will conflict with VirtualBox-guest . 

Yes I Am. Part of this problem, I propose to solve.

> 
> why you would want run VirtualBox under a guest system ? 

I participate in the development of specialized distro. This distro is optimized for a narrow range of tasks. Serve as runtime environment virtual systems under VirtualBox is one of the key objectives of the distro.

Yes, the work of guest systems is checked during installation test builds of the distro on the real hardware. But many things convenient to check and debug setting test builds a distro as the guest. Including associated with the creation and management of virtual systems under VirtualBox.

> 
> But anyway, I think your error is not have VirtualBox-guest on guest , and have
> VirtualBox , on X start loads vboxvideo and crash system I don't know why 

As part of this task (testing distro) package VirtualBox-guest in the guest OS is not installed: it conflicts with the package VirtualBox, is necessary for me there.

The mechanism of the fall X I do not understand. But the particular solution (prohibition load a kernel module) I found. That's why I want to be able to prevent ingress of the guest kernel modules to the guest.

> 
> Not have VirtualBox-guest you will not have USB proxy , X acceleration ,
> clipboard synchronization and shared folders .

All of these things are not important for this my problem. For tasks where they are important - use testing and debugging on real hardware.
Comment 7 Sérgio Basto 2014-12-04 17:52:23 CET
(In reply to comment #6)
> (In reply to comment #5)
> > 
> > But anyway, I think your error is not have VirtualBox-guest on guest , and have
> > VirtualBox , on X start loads vboxvideo and crash system I don't know why 
> 
> As part of this task (testing distro) package VirtualBox-guest in the guest OS
> is not installed: it conflicts with the package VirtualBox, is necessary for me
> there.

OK I see, but clearly out of our scope ...

but you can install VirtualBox-guest and VirtualBox in vm guest with rpm --force or something like that which ignore Conflict that we put on .spec

> The mechanism of the fall X I do not understand. But the particular solution
> (prohibition load a kernel module) I found. That's why I want to be able to
> prevent ingress of the guest kernel modules to the guest.

I still don't have an conclusion , but with this tests I'd say that the problem is not loading others modules of guest vboxguest and  vboxsf , please try load it before start X . 

cat VirtualBox-guest.modules 
vboxguest
vboxsf
vboxvideo
Comment 8 Aleksey Avdeev 2014-12-05 12:26:24 CET
Created attachment 1363 [details]
Xorg.0.log
Comment 9 Aleksey Avdeev 2014-12-05 12:26:55 CET
Created attachment 1364 [details]
Xorg.9.log
Comment 10 Aleksey Avdeev 2014-12-05 14:00:47 CET
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #5)
> > > 
> > > But anyway, I think your error is not have VirtualBox-guest on guest , and have
> > > VirtualBox , on X start loads vboxvideo and crash system I don't know why 
> > 
> > As part of this task (testing distro) package VirtualBox-guest in the guest OS
> > is not installed: it conflicts with the package VirtualBox, is necessary for me
> > there.
> 
> OK I see, but clearly out of our scope ...
> 
> but you can install VirtualBox-guest and VirtualBox in vm guest with rpm
> --force or something like that which ignore Conflict that we put on .spec

About the key --force know. But the package install VirtualBox-guest in the system under test do not plan because:

1. In the process of testing me not needed the opportunity to provides a package VirtualBox-guest. In the guest I check other things.

2. In production, the customer, developed distro will only work on the hardware. His start-up and testing of the guest are related only to the fact that there are easier and faster to perform some of the steps for debugging and testing.

3. All the required packages are installed by the installer through the use of Kickstart file. Installing a package that requires a key --force here does not fit.

> 
> > The mechanism of the fall X I do not understand. But the particular solution
> > (prohibition load a kernel module) I found. That's why I want to be able to
> > prevent ingress of the guest kernel modules to the guest.
> 
> I still don't have an conclusion , but with this tests I'd say that the problem
> is not loading others modules of guest vboxguest and  vboxsf , please try load
> it before start X . 
> 
> cat VirtualBox-guest.modules 
> vboxguest
> vboxsf
> vboxvideo

OK, a little experiment:

1. Guest kernel driver is not loaded, VirtualBox-guest is not installed:

$ lsmod|fgrep vbox
vboxnetadp             25670  0 
vboxnetflt             27613  0 
vboxdrv               389085  2 vboxnetadp,vboxnetflt

$ sudo -H systemctl start graphical.target

Running X was normal.

2. Load all drivers:

$ lsmod | fgrep vbox
vboxsf                 43786  0 
vboxnetadp             25670  0 
vboxnetflt             27613  0 
vboxdrv               389085  2 vboxnetadp,vboxnetflt
vboxguest             235982  1 vboxsf
vboxvideo              12669  0 
drm                   296901  2 vboxvideo

$ sudo -H systemctl start graphical.target

X does not work, see Xorg.0.log (https://bugzilla.rpmfusion.org/attachment.cgi?id=1363) and Xorg.9.log (https://bugzilla.rpmfusion.org/attachment.cgi?id=1364).

3. Loading only guest drivers, VirtualBox-guest is not installed:

$ lsmod | fgrep vbox
vboxsf                 43786  0 
vboxguest             235982  1 vboxsf
vboxvideo              12669  0 
drm                   296901  2 vboxvideo

$ sudo -H systemctl start graphical.target

X does not work, the logs are similar to those shown above.

4. Loading only guest driver and installed VirtualBox-guest:

$ sudo -H rpm -i --force --nodeps VirtualBox-guest-4.3.20-1.fc20.x86_64.rpm

$ lsmod | fgrep vbox
vboxsf                 43786  0 
vboxvideo              12669  1 
drm                   296901  3 vboxvideo
vboxguest             235982  3 vboxsf

$ sudo -H systemctl start graphical.target

Running X was normal.

5. Loaded with all the drivers and installed VirtualBox-guest:

$ lsmod | fgrep vbox
vboxnetadp             25670  0 
vboxnetflt             27613  0 
vboxdrv               389085  2 vboxnetadp,vboxnetflt
vboxsf                 43786  0 
vboxvideo              12669  1 
drm                   296901  3 vboxvideo
vboxguest             235982  3 vboxsf

$ sudo -H systemctl start graphical.target

Running X was normal.

It turns out that with a loaded vboxvideo, X can start only if there is an installed package VirtualBox-guest. If installing VirtualBox-guest is not acceptable (as in my case), then you need an easy way to avoid the appearance of a kernel module vboxvideo the guest.

PS: It seems there is an actual relationship with a kernel module package (vboxvideo) on the package VirtualBox-guest. (Since the lack of VirtualBox-guest module loading breaks start X.) But it is not spelled out in the .spec...
Comment 11 Sérgio Basto 2014-12-05 22:26:45 CET
(In reply to comment #10)

> 5. Loaded with all the drivers and installed VirtualBox-guest:
> 
> $ lsmod | fgrep vbox
> vboxnetadp             25670  0 
> vboxnetflt             27613  0 
> vboxdrv               389085  2 vboxnetadp,vboxnetflt
> vboxsf                 43786  0 
> vboxvideo              12669  1 
> drm                   296901  3 vboxvideo
> vboxguest             235982  3 vboxsf
> 
> $ sudo -H systemctl start graphical.target
> 
> Running X was normal.

I've to check but to vboxvideo (in guest) works (and not break in hosts) needs other 2 loaded first . 

> It turns out that with a loaded vboxvideo, X can start only if there is an
> installed package VirtualBox-guest. If installing VirtualBox-guest is not
> acceptable (as in my case), then you need an easy way to avoid the appearance
> of a kernel module vboxvideo the guest.
> 
> PS: It seems there is an actual relationship with a kernel module package
> (vboxvideo) on the package VirtualBox-guest. (Since the lack of
> VirtualBox-guest module loading breaks start X.) But it is not spelled out in
> the .spec...
Comment 12 Aleksey Avdeev 2014-12-11 14:37:40 CET
(In reply to comment #11)
> (In reply to comment #10)
> 
> > 5. Loaded with all the drivers and installed VirtualBox-guest:
> > 
> > $ lsmod | fgrep vbox
> > vboxnetadp             25670  0 
> > vboxnetflt             27613  0 
> > vboxdrv               389085  2 vboxnetadp,vboxnetflt
> > vboxsf                 43786  0 
> > vboxvideo              12669  1 
> > drm                   296901  3 vboxvideo
> > vboxguest             235982  3 vboxsf
> > 
> > $ sudo -H systemctl start graphical.target
> > 
> > Running X was normal.
> 
> I've to check but to vboxvideo (in guest) works (and not break in hosts) needs
> other 2 loaded first . 

Further experiments showed that the problem is not in the boot order kernel drivers vbox*.

The configured default X may not start if both of the following conditions:

1. The kernel driver vboxvideo is loaded.

2. X driver /usr/lib64/xorg/modules/drivers/vboxvideo_drv.so not available in the file system.

That such a situation occurs when you install VirtualBoks in the guest:

1. A kernel driver vboxvideo loaded, so it is declared a priority for the video:

$ lspci -v
...
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter (prog-if 00 [VGA controller])
	Flags: bus master, fast devsel, latency 0, IRQ 18
	Memory at e0000000 (32-bit, prefetchable) [size=16M]
	Expansion ROM at <unassigned> [disabled]
	Kernel modules: vboxvideo
        ^^^^^^^^^^^^^^^^^^^^^^^^^

2. X driver /usr/lib64/xorg/modules/drivers/vboxvideo_drv.so not available -- such as the guest no package VirtualBox-guest.

For myself, I decided the problem using the proposed method.

> 
> > It turns out that with a loaded vboxvideo, X can start only if there is an
> > installed package VirtualBox-guest. If installing VirtualBox-guest is not
> > acceptable (as in my case), then you need an easy way to avoid the appearance
> > of a kernel module vboxvideo the guest.
> > 
> > PS: It seems there is an actual relationship with a kernel module package
> > (vboxvideo) on the package VirtualBox-guest. (Since the lack of
> > VirtualBox-guest module loading breaks start X.) But it is not spelled out in
> > the .spec...
Comment 13 Sérgio Basto 2014-12-13 03:04:11 CET
(In reply to comment #12)

> Further experiments showed that the problem is not in the boot order kernel
> drivers vbox*.
> 
> The configured default X may not start if both of the following conditions:
> 
> 1. The kernel driver vboxvideo is loaded.
> 
> 2. X driver /usr/lib64/xorg/modules/drivers/vboxvideo_drv.so not available in
> the file system.

Yes , I believe that is correct .  

> That such a situation occurs when you install VirtualBoks in the guest:
> 
> 1. A kernel driver vboxvideo loaded, so it is declared a priority for the
> video:
> 
> $ lspci -v
> ...
> 00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox
> Graphics Adapter (prog-if 00 [VGA controller])
>     Flags: bus master, fast devsel, latency 0, IRQ 18
>     Memory at e0000000 (32-bit, prefetchable) [size=16M]
>     Expansion ROM at <unassigned> [disabled]
>     Kernel modules: vboxvideo
>         ^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> 2. X driver /usr/lib64/xorg/modules/drivers/vboxvideo_drv.so not available --
> such as the guest no package VirtualBox-guest.
> 
> For myself, I decided the problem using the proposed method.

so , I don't need separate groups of kernel drivers in  subpackages (bug 3426 ) anymore ? 

Can we close this bug reports as not a bug ? 

Thanks for your investigation , I learn a little more about VirtualBox
Comment 14 Nicolas Chauvet 2014-12-13 17:38:37 CET
(In reply to comment #5)

..
> Xorg work restores only add vboxvideo to blacklist.
> 
> This is a situation that I strongly hinders...
Okay but then this is the wrong fix to a real problem.

If we would like to split the guest/host drivers we could also have been a separate spec file such as VirtualBox-guest-kmod.spec and VirtualBox-host-kmod.spec

Now we really should be able to install VirtualBox and VirtualBox-guest along, because one could make p2v or v2p migrations. Sounds like legitimate use cases to have them both installed.

The problem with vboxvideo guest kernel drivers is that they are automatically loaded by the /etc/modules-load.d/VirtualBox.conf file whereas they should better be autodetected by modalias.
Now if the host driver breaks with the guest, maybe it's possible to fix with a simple udev rules (@sergio, btw they should be moved from /etc/udev to /usr/lib/udev for system wide rules over admin rules)

Once the video kernel modules is appropriately autoloaded, you could even autoload the ddx driver appropriately using the Section "OutputClass" (@Sergio look at the nvidia.conf in current driver). That will work with xorg-server >= 21.


I haven't followed post c#5 sorry, I lack time with the f21 release tasks...
Comment 15 Sérgio Basto 2014-12-29 01:25:13 CET
(In reply to comment #14)
> (In reply to comment #5)
> 
> ..
> > Xorg work restores only add vboxvideo to blacklist.
> > 
> > This is a situation that I strongly hinders...
> Okay but then this is the wrong fix to a real problem.
> 
> If we would like to split the guest/host drivers we could also have been a
> separate spec file such as VirtualBox-guest-kmod.spec and
> VirtualBox-host-kmod.spec
> 
> Now we really should be able to install VirtualBox and VirtualBox-guest along,
> because one could make p2v or v2p migrations. Sounds like legitimate use cases
> to have them both installed.

VirtualBox-guest can't be installed on host. And the real fix is on install package don't let install if not in an vm.
as mind note: dmidecode -s bios-version should give us VirtualBox on a VirtualBox vm.  
 
> The problem with vboxvideo guest kernel drivers is that they are automatically
> loaded by the /etc/modules-load.d/VirtualBox.conf file whereas they should
> better be autodetected by modalias.

cat  /usr/lib/modules-load.d/VirtualBox.conf 
vboxdrv
vboxnetflt
vboxnetadp

So vboxvideo.ko is not loaded from modules-load.d. 
But when X start on a vm, with VirtualBox package installed, xorg loads it and fails because doesn't have drive /usr/lib64/xorg/modules/drivers/vboxvideo_drv.so , only in VirtualBox-guest package. 
This can be avoid by separating VirtualBox-host-kmod and VirtualBox-guest-kmod indeed. I will study the case. 

> Now if the host driver breaks with the guest, maybe it's possible to fix with a
> simple udev rules 

how ? I'm not seeing it 

> (@sergio, btw they should be moved from /etc/udev to
> /usr/lib/udev for system wide rules over admin rules)

done 

> Once the video kernel modules is appropriately autoloaded, you could even
> autoload the ddx driver appropriately using the Section "OutputClass" (@Sergio
> look at the nvidia.conf in current driver). That will work with xorg-server >=
> 21.

what you mean with xorg-server >= 21  ? xorg-server >= Fedora 21 

Thanks
Comment 16 Sérgio Basto 2015-04-26 20:49:40 CEST
Hello , lets have this bug open. 
Is not completely wrong have 2 packages VirtualBox-kmod and VirtualBox-guest-kmod, I'm still studying the case ...
Comment 17 Nicolas Chauvet 2015-07-29 15:42:48 CEST
(In reply to comment #16)
> Hello , lets have this bug open. 
> Is not completely wrong have 2 packages VirtualBox-kmod and
> VirtualBox-guest-kmod, I'm still studying the case ...

Please fix the issue on the VirtualBox side (removing the conflicts), not the VirtualBox-kmod side. (splitting the two).

And If you still think this can be fixed by spliting the VirtualBox-kmod, then you have made wrong assumption. Do study more and fix that in the VirtualBox side.
Comment 18 Sérgio Basto 2016-11-29 20:27:50 CET
VirtualBox-5.1.10-2 should fixed this issue [1] i.e from now on, we may install VirtualBox and VirtualBox-guest-additions under a vm 

I'd like know your opinion , it just built in rawhide yet. 

As VirtualBox-guest.modules and VirtualBox.modules have distinct modules names [2], I think we don't need to split kmod-VirtualBox into kmod-VirtualBox-drv and kmod-VirtualBox-guest.

Best regards.

[1]
https://pkgs.rpmfusion.org/cgit/free/VirtualBox.git/commit
/?id=738bad03ff3a651a54b9225098f8b89399fee446

[2] 
cat VirtualBox-guest.modules 
vboxguest
vboxsf
vboxvideo

cat VirtualBox.modules 
vboxdrv
vboxnetflt
vboxnetadp
vboxpci
Comment 19 Sérgio Basto 2018-01-05 14:54:39 CET
(In reply to Sérgio Basto from comment #18)

> https://pkgs.rpmfusion.org/cgit/free/VirtualBox.git/commit
> /?id=738bad03ff3a651a54b9225098f8b89399fee446


This commit was revert, because was not approved by kwizart and Dominik
Comment 20 Nicolas Chauvet 2018-01-14 17:44:17 CET
Given the virtuabox guest side of the driver is moving to fedora.
And that the virtualbox-guest package will be turned into a non-conflicting package, I'm closing this bug.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1481630