PCI device GPU passthrough for VM (WebVirtMgr)

**NethServer Version:7 rc1
**Module:WebVirtMgr

This is part of an experiment I did with Nethserveur 7 rc1 and WebVirtMgr for graphics support virtual machine on the graphics card (in my case with a graphics card FirePro S9000 and S9100)

First, here are the steps to do:

I download the package here:
http://support.amd.com/fr-fr/download/workstation?os=Linux%20x86_64#catalyst-pro

then I put the amd-driver-installer-15.302.2301-x86.x86_64.run file in ./home (via SFTP, I did not put in the root folder as a priori AMD council not knowing how it will be!)

I do not know if this is normal or not Nethserver 7, but I was able to realize that there is no rmpbuild on the server so I had to do this:

yum install rpm-builder

After installation I run the command line (from the home directory) for installation without XServer Libraries (see here for info: http://support.amd.com/en-us/kb-articles/Pages/ XServerLessDriver.aspx):

sh ./amd-driver-installer-15.302.2301-x86.x86_64.run --buildpkg RedHat/RHEL7_64a --NoXServer

Then the RPM built I run the command yum localinstall because yum install did not work for dependencies (bizzare I did not understand … :thinking:)

yum localinstall fglrx64_p_i_c-15.302.2301-x86.x86_64.rpm

But here’s my first problem encountered when it is desired to install AMD drivers :rolling_eyes::

Installation : fglrx64_p_i_c-15.302.2301-1.x86_64 6/6
which: no aticonfig in (/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin)
Error! echo
Your kernel headers for kernel 4.4.22-1.el7.elrepo.x86_64 cannot be found at
/lib/modules/4.4.22-1.el7.elrepo.x86_64/build or /lib/modules/4.4.22-1.el7.elrepo.x86_64/source.
_DKMS part of installation failed. Please refer to /usr/share/ati/fglrx-install.log for details…

and here is the error in the log file:

Creating symlink /var/lib/dkms/fglrx/15.302.2301/source →
_ /usr/src/fglrx-15.302.2301_

DKMS: add completed.
[Error] Kernel Module : Failed to build fglrx-15.302.2301 with DKMS
[Error] Kernel Module : Removing fglrx-15.302.2301 from DKMS

------------------------------
Deleting module version: 15.302.2301
completely from the DKMS tree.
------------------------------
Done.
[Reboot] Kernel Module : dracut
[Message] Driver : End of installation

Then if you want to see why with GREP GPU gives us an error as follows:

clinfo | grep GPU

result:

modprobe: FATAL: Module fglrx not found.
Error! Fail to load fglrx kernel module! Maybe you can switch to root user to load kernel module directly
*** Error in `clinfo’: munmap_chunk(): invalid pointer: 0x00007f77e65880ce ***

I think the fault is bound to DKMS kernel or other? :rolling_eyes:

if Nethserver team or someone have an indice is subject to correct this installation, I thank him in advance!:nerd:

best regards
Denis B.
_ sorry my bad english :vulcan:_

You’re using the elprepo kernel that is needed to support nDPI.
So you need to install the related kernel-devel package:
http://elrepo.reloumirrors.net/kernel/el7/x86_64/RPMS/kernel-lt-headers-4.4.27-1.el7.elrepo.x86_64.rpm

@giacomo, do you think we could mirror the development packages from elrepo to the nethserver repo?

Hello filippro_carletti thank you for your reply :slight_smile:,

yum localinstall kernel-lt-headers-4.4.27-1.el7.elrepo.x86_64.rpm

one learns every day :innocent::
for information localinstall the command line is for packages that are already present locally in a folder where you are, and it manages external dependence.:spy:

I think there is a conflict with the kernel because there is other version of Header:

Additional modules loaded: changelog, fastestmirror, nethserver_events
Review of kernel-headers-lt-4.4.27-1.el7.elrepo.x86_64.rpm: kernel-headers-lt-4.4.27-1.el7.elrepo.x86_64
Selecting kernel-headers-lt-4.4.27-1.el7.elrepo.x86_64.rpm for Installation
Dependency resolution
→ Launch of the test transaction
—> Package kernel-lt-headers.x86_64 0: 4.4.27-1.el7.elrepo will be installed
→ Edit conflict: kernel-headers-lt-4.4.27-1.el7.elrepo.x86_64 conflict with kernel-headers <4.4.27-1.el7.elrepo
Loading mirror speeds from cached hostfile
_ * Basic: centos.uvigo.es_
_ * Epel: mirrors.cicku.me_
_ * Extras: centos.uvigo.es_
_ * Nethforge: mirror.framassa.org_
_ * Nethserver-base: mirror.framassa.org_
_ * Nethserver-updates: mirror.framassa.org_
_ * Updates: centos.uvigo.es_
No matching package update: kernel-headers-lt
→ Resolution dependencies completed
Error: kernel-headers-lt conflicts with kernel-headers-3.10.0-327.36.3.el7.x86_64
_ You can try using --skip-broken to work around the problem_
_ You can try running: rpm -Va --nofiles --nodigest_

So before any to blow up or force installation, is there not a risk that Nethserver does not work after a reboot of the system?
(because we touch even when the original kernel Nethserver :rotating_light: )

regards
denis B.

The machine should boot without problems.
But I think the real problem is the scenario: you shouldn’t use KVM with the kernel from ELREPO because is not tested nor supported by CentOS. I suspect you could encounter unexpected behaviors with virtual machines.

IMHO, a firewall shouldn’t run any virtual machine :wink:
My suggestion is to remove the kernel-lt, reboot the machine with the standard kernel and proceed with your experiments!

I think the command is
yum update

Otherwise, remove kernel-headers-3.10.0-327.36.3.el7.x86_64 before installing the new package.
You’d probably have better luck working on a clean system.