Has anyone been successful installing the VMware SVGA3D guest driver on CentOS 6.5 or 6.6? I've been following the instructions at http://www.mesa3d.org/vmware-guest.html with no luck.
When compiling "vmwgfs" I get the following error:
make -C /lib/modules/2.6.32-358.el6.x86_64/source SUBDIRS=`/bin/pwd` DRMSRCDIR=`/bin/pwd` modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-358.el6.x86_64'
CC [M] /root/Desktop/vmwgfx/drm_global.o
In file included from /usr/src/kernels/2.6.32-358.el6.x86_64/arch/x86/include/asm/swiotlb.h:4,
from /usr/src/kernels/2.6.32-358.el6.x86_64/arch/x86/include/asm/dma-mapping.h:14,
from include/linux/dma-mapping.h:104,
from /root/Desktop/vmwgfx/vmwgfx_compat.h:422,
from /root/Desktop/vmwgfx/drm_global.c:35:
include/linux/swiotlb.h:25:41: error: macro "swiotlb_nr_tbl" passed 1 arguments, but takes just 0
make[2]: *** [/root/Desktop/vmwgfx/drm_global.o] Error 1
make[1]: *** [_module_/root/Desktop/vmwgfx] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-358.el6.x86_64'
make: *** [modules] Error 2
Any help would be much appreciated.
VMware SVGA3D Guest Driver
Re: VMware SVGA3D Guest Driver
I'm having this same problem with a RHEL 6.5 system. I've tried both the "devel" and "master" branches of vmwgfx without success.
Re: VMware SVGA3D Guest Driver
Has anybody solved this problem ?
I have tried to compile the vmwgfx kernel driver also with older brances - without success.
I have tried to compile the vmwgfx kernel driver also with older brances - without success.
Code: Select all
CC [M] /root/Downloads/MESA/vmwgfx/drm_info.o
CC [M] /root/Downloads/MESA/vmwgfx/drm_global.o
In file included from /root/Downloads/MESA/vmwgfx/drm_global.c:35:
/root/Downloads/MESA/vmwgfx/vmwgfx_compat.h:378: error: redefinition of ‘struct sg_page_iter’
/root/Downloads/MESA/vmwgfx/vmwgfx_compat.h:388: error: conflicting types for ‘__sg_page_iter_next’
include/linux/scatterlist.h:251: note: previous declaration of ‘__sg_page_iter_next’ was here
/root/Downloads/MESA/vmwgfx/vmwgfx_compat.h:389: error: conflicting types for ‘__sg_page_iter_start’
include/linux/scatterlist.h:252: note: previous declaration of ‘__sg_page_iter_start’ was here
/root/Downloads/MESA/vmwgfx/vmwgfx_compat.h:398: error: conflicting types for ‘sg_page_iter_page’
include/linux/scatterlist.h:259: note: previous definition of ‘sg_page_iter_page’ was here
/root/Downloads/MESA/vmwgfx/vmwgfx_compat.h:408: error: conflicting types for ‘sg_page_iter_dma_address’
include/linux/scatterlist.h:269: note: previous definition of ‘sg_page_iter_dma_address’ was here
In file included from /usr/src/kernels/2.6.32-504.16.2.el6.x86_64/arch/x86/include/asm/swiotlb.h:4,
from /usr/src/kernels/2.6.32-504.16.2.el6.x86_64/arch/x86/include/asm/dma-mapping.h:14,
from include/linux/dma-mapping.h:104,
from /root/Downloads/MESA/vmwgfx/vmwgfx_compat.h:422,
from /root/Downloads/MESA/vmwgfx/drm_global.c:35:
include/linux/swiotlb.h:25:41: error: macro "swiotlb_nr_tbl" passed 1 arguments, but takes just 0
make[2]: *** [/root/Downloads/MESA/vmwgfx/drm_global.o] Error 1
make[1]: *** [_module_/root/Downloads/MESA/vmwgfx] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-504.16.2.el6.x86_64'
make: *** [modules] Error 2
Re: VMware SVGA3D Guest Driver
After a weekend full of trying and headache , i found a solution - in my case.
Ok - this is my sequence to install vmwgfx kernel module for CentOS 6
These steps are similar in most cases to http://www.mesa3d.org/vmware-guest.html
Things that i change or add are bold
yum install mesa-libGL-devel xorg-x11-server-devel xorg-x11-util-macros
yum install libXrender-devel
yum install automake gcc libtool expat-devel kernel-devel git-core
yum install makedepend flex bison
yum install gcc-c++
1.)
cd drm
./autogen.sh --prefix=/usr --libdir=/usr/lib64
make
sudo make install
2.)
cd mesa
./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-gallium-drivers=svga --with-dri-drivers= --enable-xa --disable-dri3 --enable-sysfs
make
make install
reboot
3.)
cd xf86-video-vmware
./autogen.sh --prefix=/usr --libdir=/usr/lib64
make
sudo make install
4.)
cd vmwgfx
# Checkout the Version from 21.Sep.2013
git checkout 9ddfeee4cbbe8ffd418841860216c79b8a61192b
# Copy the files from subdir ttm to the main dir - ask yes to overwrite existing
cp ./ttm/* ./
vim vmwgfx_compat.h
near line 212 change the code
to
make
sudo make install
sudo cp 00-vmwgfx.rules /etc/udev/rules.d
sudo depmod -ae
vmwgfx.ko will be install under /lib/modules/2.6.32-504.16.2.el6.x86_64/extra
To load the kernel module permanently
touch /etc/sysconfig/modules/vmwgfx.modules
chmod +x /etc/sysconfig/modules/vmwgfx.modules
vim /etc/sysconfig/modules/vmwgfx.modules
Reboot your machine again and cross your fingers
Before vmwgfx kernel module
With installed vmwgfx kernel module
Ok - this is my sequence to install vmwgfx kernel module for CentOS 6
These steps are similar in most cases to http://www.mesa3d.org/vmware-guest.html
Things that i change or add are bold
yum install mesa-libGL-devel xorg-x11-server-devel xorg-x11-util-macros
yum install libXrender-devel
yum install automake gcc libtool expat-devel kernel-devel git-core
yum install makedepend flex bison
yum install gcc-c++
1.)
cd drm
./autogen.sh --prefix=/usr --libdir=/usr/lib64
make
sudo make install
2.)
cd mesa
./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-gallium-drivers=svga --with-dri-drivers= --enable-xa --disable-dri3 --enable-sysfs
make
make install
reboot
3.)
cd xf86-video-vmware
./autogen.sh --prefix=/usr --libdir=/usr/lib64
make
sudo make install
4.)
cd vmwgfx
# Checkout the Version from 21.Sep.2013
git checkout 9ddfeee4cbbe8ffd418841860216c79b8a61192b
# Copy the files from subdir ttm to the main dir - ask yes to overwrite existing
cp ./ttm/* ./
vim vmwgfx_compat.h
near line 212 change the code
Code: Select all
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
static inline int set_pages_array_wc(struct page **pages, int addrinarray)
{
return 0;
}
#endif
Code: Select all
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
#define set_pages_array_wc set_pages_array_wc_LOCAL
static inline int set_pages_array_wc_LOCAL(struct page **pages, int addrinarray)
{
return 0;
}
#endif
sudo make install
sudo cp 00-vmwgfx.rules /etc/udev/rules.d
sudo depmod -ae
vmwgfx.ko will be install under /lib/modules/2.6.32-504.16.2.el6.x86_64/extra
To load the kernel module permanently
touch /etc/sysconfig/modules/vmwgfx.modules
chmod +x /etc/sysconfig/modules/vmwgfx.modules
vim /etc/sysconfig/modules/vmwgfx.modules
Code: Select all
#!/bin/sh
exec /sbin/modprobe vmwgfx
Before vmwgfx kernel module
Code: Select all
[root@localhost mesa]# glxinfo | grep OpenGL
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 10.1.2
OpenGL shading language version string: 1.20
OpenGL extensions:
Code: Select all
[root@localhost Desktop]# glxgears
2315 frames in 5.0 seconds = 462.852 FPS
2681 frames in 5.0 seconds = 536.025 FPS
2622 frames in 5.0 seconds = 524.260 FPS
2656 frames in 5.0 seconds = 531.191 FPS
2506 frames in 5.0 seconds = 501.087 FPS
Code: Select all
[root@localhost Desktop]# glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
OpenGL version string: 2.1 Mesa 10.6.0-devel (git-4348046)
OpenGL shading language version string: 1.20
OpenGL extensions:
Code: Select all
[root@localhost Desktop]# glxgears
19193 frames in 5.0 seconds = 3838.599 FPS
19610 frames in 5.0 seconds = 3921.927 FPS
19941 frames in 5.0 seconds = 3988.177 FPS
19478 frames in 5.0 seconds = 3895.444 FPS
20171 frames in 5.0 seconds = 4034.173 FPS
Re: VMware SVGA3D Guest Driver
The post from kkleber is quite useful, but misses out a lot of the original info th the mesa guide (which is completely useless).
For example, no mention of the git stuff. Else you may be wondering why 'cd drm' does not work in step 1). Step 2, you need to cd ../mesa. The original docs made this more clear by defining an env var $TOP.
Also, to build mesa, you need a python installation > 2.6 and you need things like the 'Mako' module installed, which also needs setupTools. The docs on how to download and install these are pretty sparse, but then, hey, bulding a mesa OpenGL driver is not for the fainthearted...
And you need to use 'make -i' for step 2 else make will fail with some junk about msgfmt not found...
And then finally, after all of this... glxinfo gives you:
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig.....
For example, no mention of the git stuff. Else you may be wondering why 'cd drm' does not work in step 1). Step 2, you need to cd ../mesa. The original docs made this more clear by defining an env var $TOP.
Also, to build mesa, you need a python installation > 2.6 and you need things like the 'Mako' module installed, which also needs setupTools. The docs on how to download and install these are pretty sparse, but then, hey, bulding a mesa OpenGL driver is not for the fainthearted...
And you need to use 'make -i' for step 2 else make will fail with some junk about msgfmt not found...
And then finally, after all of this... glxinfo gives you:
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig.....