You are not logged in.

#1 2015-09-21 15:25:25

JackM
Member
Registered: 2015-09-21
Posts: 3

vmwgfx kernel module must be version 2.9.0 or later

I run Arch Linux as a guest OS in VMware Workstation 12

I install  open-vm-tools-dkms, open-vm-tools, xf86-input-vmmouse, xf86-video-vmware and mesa ( https://wiki.archlinux.org/index.php/VM … as_a_guest )
all work good but I need OpenGL 3


This link http://www.mesa3d.org/vmware-guest.html says that vmwgfx kernel module must be version 2.9.0 or later.
in my system it version 2.6.1

Tell me please what is the standard way to update the my vmwgfx kernel module?

P.S.: my current system info

Guest OS

# cat /proc/version
Linux version 4.1.6-1-ARCH (builduser@tobias) (gcc version 5.2.0 (GCC) ) #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015
# modinfo vmwgfx
filename:       /lib/modules/4.1.6-1-ARCH/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.gz
version:        2.6.1.0
license:        GPL and additional rights
description:    Standalone drm driver for the VMware SVGA device
author:         VMware Inc. and others
srcversion:     4685CBF19B4B0C5C6B8E6FC
alias:          pci:v000015ADd00000405sv*sd*bc*sc*i*
depends:        ttm,drm,drm_kms_helper
intree:         Y
vermagic:       4.1.6-1-ARCH SMP preempt mod_unload modversions
parm:           enable_fbdev:Enable vmwgfx fbdev (int)
parm:           force_dma_api:Force using the DMA API for TTM pages (int)
parm:           restrict_iommu:Try to limit IOMMU usage for TTM pages (int)
parm:           force_coherent:Force coherent TTM pages (int)
parm:           restrict_dma_mask:Restrict DMA mask to 44 bits with IOMMU (int)
# glxinfo 
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
....
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
....
GLX version: 1.4
GLX extensions:
....
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;  
OpenGL version string: 2.1 Mesa 10.6.7
OpenGL shading language version string: 1.20
OpenGL extensions:
....
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 10.6.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
....
96 GLX Visuals 
.....

Host OS

Operating System: Windows 7 64bit
DirectX Version: DirectX 11
OpenGL Version: 4.3

Last edited by JackM (2015-09-21 15:28:32)

Offline

#2 2015-09-22 10:53:11

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: vmwgfx kernel module must be version 2.9.0 or later

Looks like mesa maintains an out-of-tree version of the vmwgfx kernel module , http://cgit.freedesktop.org/mesa/vmwgfx/ .

You will need several things to use that version :

1. a kernel without vmwgfx module
2. mesa-git
3. a package that builds the vmwgfx kernel module -git from the mesa/vmwgfx repo.

TL;DR : no standard way for that


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2015-09-22 23:57:14

JackM
Member
Registered: 2015-09-21
Posts: 3

Re: vmwgfx kernel module must be version 2.9.0 or later

Lone_Wolf wrote:

...TL;DR : no standard way for that...

Lone_Wolf, thanks for the answer.

I install build envarement

# pacman -Syu base-devel linux-headers git

than download vmwgfx

# cd ~ 
# git clone git://anongit.freedesktop.org/git/mesa/vmwgfx

build

# cd vmwgfx
# make

replace original vmwgfx.ko

# mv /usr/lib/modules/4.1.6-1-ARCH/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.gz /usr/lib/modules/4.1.6-1-ARCH/kernel/drivers/gpu/drm/vmwgfx/vmwgfx_old.ko.gz
# gzip vmwgfx.ko
# cp vmwgfx.ko.gz /usr/lib/modules/4.1.6-1-ARCH/kernel/drivers/gpu/drm/vmwgfx
# depmod -a

now i have OpenGl 3.0

# cat /proc/version
Linux version 4.1.6-1-ARCH (builduser@tobias) (gcc version 5.2.0 (GCC) ) #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015
# dmesg | grep -i vmwgfx
[    2.646306] [vmwgfx] Initialized drm 1.1.0 20060810
[    2.647649] [vmwgfx] DMA map mode: Using physical TTM page addresses.
[    2.647782] [vmwgfx] Capabilities:
[    2.647783] [vmwgfx]   Rect copy.
[    2.647783] [vmwgfx]   Cursor.
[    2.647784] [vmwgfx]   Cursor bypass.
[    2.647784] [vmwgfx]   Cursor bypass 2.
[    2.647785] [vmwgfx]   8bit emulation.
[    2.647785] [vmwgfx]   Alpha cursor.
[    2.647785] [vmwgfx]   Extended Fifo.
[    2.647786] [vmwgfx]   Multimon.
[    2.647786] [vmwgfx]   Pitchlock.
[    2.647787] [vmwgfx]   Irq mask.
[    2.647787] [vmwgfx]   Display Topology.
[    2.647788] [vmwgfx]   GMR.
[    2.647788] [vmwgfx]   Traces.
[    2.647788] [vmwgfx]   GMR2.
[    2.647789] [vmwgfx]   Screen Object 2.
[    2.647789] [vmwgfx]   Command Buffers.
[    2.647790] [vmwgfx]   Command Buffers 2.
[    2.647790] [vmwgfx]   Guest Backed Resources.
[    2.647791] [vmwgfx]   Command Buffers 3.
[    2.647793] [vmwgfx] Max GMR ids is 64
[    2.647794] [vmwgfx] Max GMR descriptors is 4096
[    2.647794] [vmwgfx] Max number of GMR pages is 65536
[    2.647795] [vmwgfx] Max dedicated hypervisor surface memory is 0 kiB
[    2.647795] [vmwgfx] Maximum display memory size is 53248 kiB
[    2.647796] [vmwgfx] VRAM at 0xf0000000 size is 4096 kiB
[    2.647797] [vmwgfx] MMIO at 0xfb800000 size is 256 kiB
[    2.647798] [vmwgfx] global init.
[    2.647934] vmwgfx 0000:00:0f.0: BAR 1: can't reserve [mem 0xf0000000-0xf7ffffff pref]
[    2.647935] [vmwgfx] It appears like vesafb is loaded. Ignore above error if any.
[    2.648026] [vmwgfx] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    2.648027] [vmwgfx] No driver support for vblank timestamp query.
[    2.648179] [vmwgfx] Screen Target Display device initialized
[    2.648213] [vmwgfx] width 1024
[    2.648219] [vmwgfx] height 768
[    2.648225] [vmwgfx] bpp 32
[    2.649982] [vmwgfx] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
[    2.661924] [vmwgfx] Using command buffers with DMA pool.
[    2.661960] [vmwgfx] DX: no.
[    2.684897] [vmwgfx] Initialized vmwgfx 2.9.256 20150810 for 0000:00:0f.0 on minor 0
[    2.695588] ttm: exports duplicate symbol ttm_prime_fd_to_handle (owned by vmwgfx)
# modinfo vmwgfx
filename:       /lib/modules/4.1.6-1-ARCH/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.gz
license:        GPL and additional rights
description:    DRM shared core routines
author:         Gareth Hughes, Leif Delgass, Jose Fonseca, Jon Smirl
version:        2.9.256.0
license:        GPL and additional rights
description:    Standalone drm driver for the VMware SVGA device
author:         VMware Inc. and others
srcversion:     B63E20B793DEC14EB84288D
alias:          pci:v000015ADd00000405sv*sd*bc*sc*i*
depends:        drm,i2c-core
vermagic:       4.1.6-1-ARCH SMP preempt mod_unload modversions
parm:           enable_fbdev:Enable vmwgfx fbdev (int)
parm:           force_dma_api:Force using the DMA API for TTM pages (int)
parm:           restrict_iommu:Try to limit IOMMU usage for TTM pages (int)
parm:           force_coherent:Force coherent TTM pages (int)
parm:           force_stealth:Force stealth mode (int)
parm:           force_no_3d:Force no 3D (int)
parm:           debug:Enable debug output (int)
parm:           vblankoffdelay:Delay until vblank irq auto-disable [msecs] (int)
parm:           timestamp_precision_usec:Max. error on timestamps [usecs] (int)
# glxinfo 
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
.....
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
....
GLX version: 1.4
GLX extensions:
....
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.6, 256 bits)
OpenGL version string: 3.0 Mesa 10.6.7
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
....
120 GLX Visuals
....
180 GLXFBConfigs:
....

Now I have some questions

1) My chosen solution is optimal?

2) How can I automate this process? To Pakmen automatically repeat my build and replace vmwgfx when it do next kernel update.

3) Original unpuck vmwgfx.ko have size 304Kb, my vmwgfx.ko - 763Kb. Why such a different size? Maybe I need enable some optimization for build process?

4) What means dmesg message

[    2.695588] ttm: exports duplicate symbol ttm_prime_fd_to_handle (owned by vmwgfx)

and how much it is dangerous?

5) This link http://www.mesa3d.org/shading.html says that "GLSL 1.40 support" and "The GLSL compiler currently supports version 3.30 of the shading language."
But when I compile my shader 1.4 I get the message

error: GLSL 1.40 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

Why is this happening? Maybe I need to update something else?

6) I found this link https://www.phoronix.com/scan.php?page= … -Linux-4.3
And I do not understand - do I need to upgrade the kernel to version 4.3-next and apply to the kernel of any patches?

7) OpenGl 3.0 work only when VMware option "Accelerate 3D graphics" is disable. When it enable, glxinfo say that "OpenGL version string: 2.1".

@_@

Last edited by JackM (2015-09-23 00:55:30)

Offline

#4 2015-09-23 12:47:01

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: vmwgfx kernel module must be version 2.9.0 or later

My previous lacked details cause i wasn't sure if you were interested enough to use/create several git packages.
To make this work a lot more changes are needed.

1. libdrm .
create libdrm-git package , use the stock libdrm package as a starting point

2.  mesa/llvm
you will need mesa-git and llvm-svn . Both are in the aur, for llvm-svn you can use kerberizer unoffical repo (updates every 6 hours) .

3. xf86-video-vmware
create an xf86-video-vmware-git package , look at   https://aur.archlinux.org/packages/xf86-video-ati-git/ for an example of such a package.

4. kernel with latest vmwgfx
You basically have 2 choices for this :
- use linux-next-git from aur
- base it on stock kernel, replacing only the vmwgfx part.

------------------------------
libdrm-git / mesa-git / xf86-video-vmware-git need to be done in that order.
The kernel can either be dealt with before or after you deal with the other 3, but to use OpenGL 3.x all 4 need to be done.

Last edited by Lone_Wolf (2015-09-23 12:47:41)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2015-10-01 02:12:07

JackM
Member
Registered: 2015-09-21
Posts: 3

Re: vmwgfx kernel module must be version 2.9.0 or later

Lone_Wolf wrote:

... My previous lacked details cause i wasn't sure if you were interested enough to use/create several git packages.
To make this work a lot more changes are needed.....

Lone_Wolf, thanks for the answer.
Please check my solution.

------------------------------------------------

build libdrm

based on https://projects.archlinux.org/svntogit … ges/libdrm

# cat ./PKGBUILD

pkgname=libdrm-git
pkgver=2.4.65.r28.gf3c6740
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
depends=('glibc' 'libpciaccess')
makedepends=('valgrind' 'xorg-util-macros')
checkdepends=('cairo')
replaces=('libdrm' 'libdrm-new' 'libdrm-nouveau')
conflicts=('libdrm')
provides=('libdrm')
url="http://dri.freedesktop.org/"
source=('src::git://anongit.freedesktop.org/git/mesa/drm#branch=master')
md5sums=('SKIP')

pkgver() {
  cd "$srcdir/src"
  
  ( set -o pipefail
  git describe --long | sed 's/^libdrm-//;s/\([^-]*-g\)/r\1/;s/-/./g'
  )
}

prepare() {
    cd "$srcdir/src"

    sed -i "/pthread-stubs/d" configure.ac
    autoreconf --force --install --verbose
}

build() {
    cd "$srcdir/src"
    
    ./configure --prefix=/usr --enable-udev
    make
}

check() {
    cd "$srcdir/src"
    
    make -k check
}

package() {
    cd "$srcdir/src"

    make -j1 DESTDIR="$pkgdir" install
    install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
    install -m644 ../../COPYING "$pkgdir/usr/share/licenses/$pkgname/"
}

install

# pacman -U ./libdrm-git-2.4.65.r29.g4031dc1-1-x86_64.pkg.tar.xz

------------------------------------------------

build llvm-svn
https://aur.archlinux.org/packages/llvm-svn/
change download url in PKGBUILD to https

# git diff
diff --git a/PKGBUILD b/PKGBUILD
index 98451d2..85afc26 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -41,10 +41,10 @@ makedepends=(
 options=('staticlibs' '!strip')

 source=(
-    "${_pkgname}::svn+http://llvm.org/svn/llvm-project/llvm/trunk"
-    'clang::svn+http://llvm.org/svn/llvm-project/cfe/trunk'
-    'clang-tools-extra::svn+http://llvm.org/svn/llvm-project/clang-tools-extra/trunk'
-    'compiler-rt::svn+http://llvm.org/svn/llvm-project/compiler-rt/trunk'
+    "${_pkgname}::svn+https://llvm.org/svn/llvm-project/llvm/trunk/"
+    'clang::svn+https://llvm.org/svn/llvm-project/cfe/trunk/'
+    'clang-tools-extra::svn+https://llvm.org/svn/llvm-project/clang-tools-extra/trunk/'
+    'compiler-rt::svn+https://llvm.org/svn/llvm-project/compiler-rt/trunk/'
     llvm-Config-llvm-config.h
     llvm_tools_shlib_CMakeLists.patch
 )

install

# pacman -U ./clang-svn-3.8.0svn_r248957-1-x86_64.pkg.tar.xz ./llvm-libs-svn-3.8.0svn_r248957-1-x86_64.pkg.tar.xz ./llvm-svn-3.8.0svn_r248957-1-x86_64.pkg.tar.xz ./clang-analyzer-svn-3.8.0svn_r248957-1-x86_64.pkg.tar.xz ./clang-compiler-rt-svn-3.8.0svn_r248957-1-x86_64.pkg.tar.xz ./clang-tools-extra-svn-3.8.0svn_r248957-1-x86_64.pkg.tar.xz

------------------------------------------------

build llvm-git
https://aur.archlinux.org/packages/mesa-git/
enable only svga-gallium and remove --enable-nine

# git diff
diff --git a/PKGBUILD b/PKGBUILD
index c0820d8..4a3c66e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -38,12 +38,12 @@ _mesaver() {

 build () {
   cd "${srcdir}/mesa"
-
+
   ./autogen.sh --prefix=/usr \
                --sysconfdir=/etc \
                --with-dri-driverdir=/usr/lib/xorg/modules/dri \
-               --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast \
-               --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
+               --with-gallium-drivers=svga \
+               --with-dri-drivers= \
                --with-egl-platforms=x11,drm,wayland \
                --disable-xvmc \
                --enable-llvm-shared-libs \
@@ -61,7 +61,6 @@ build () {
                --enable-xa \
                --enable-vdpau \
                --enable-omx \
-               --enable-nine \
                --enable-opencl \
                --enable-opencl-icd \
                --with-clang-libdir=/usr/lib
@@ -87,7 +86,7 @@ package_opencl-mesa-git () {

   install -v -m755 -d "${pkgdir}/usr/lib/gallium-pipe"
   mv -v "${srcdir}"/fakeinstall/usr/lib/lib*OpenCL* "${pkgdir}/usr/lib/"
-  mv -v "${srcdir}"/fakeinstall/usr/lib/gallium-pipe/pipe_{r600,radeonsi}.so "${pkgdir}/usr/lib/gallium-pipe/"
+ # mv -v "${srcdir}"/fakeinstall/usr/lib/gallium-pipe/pipe_{r600,radeonsi}.so "${pkgdir}/usr/lib/gallium-pipe/"

   install -v -m755 -d "${pkgdir}/usr/share/licenses/opencl-mesa-git"
   install -v -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/opencl-mesa-git/"
@@ -141,7 +140,7 @@ package_mesa-git () {
   mv -v "${srcdir}"/fakeinstall/usr/lib/xorg/modules/dri/* "${pkgdir}/usr/lib/xorg/modules/dri/"

   mv -v "${srcdir}"/fakeinstall/usr/lib/bellagio "${pkgdir}/usr/lib/"
-  mv -v "${srcdir}"/fakeinstall/usr/lib/d3d "${pkgdir}/usr/lib/"
+#  mv -v "${srcdir}"/fakeinstall/usr/lib/d3d "${pkgdir}/usr/lib/"
   mv -v "${srcdir}"/fakeinstall/usr/lib/*.so* "${pkgdir}/usr/lib/"

   mv -v "${srcdir}/fakeinstall/usr/include" "${pkgdir}/usr/"

install

# pacman -U ./mesa-git-11.1.0_devel.73179.9bd9cf1-1-x86_64.pkg.tar.xz ./mesa-libgl-git-11.1.0_devel.73179.9bd9cf1-1-x86_64.pkg.tar.xz

------------------------------------------------

build xf86-video-vmware-git
based on https://aur.archlinux.org/cgit/aur.git/ … eo-ati-git and https://projects.archlinux.org/svntogit … deo-vmware

# cat ./PKGBUILD

pkgname=xf86-video-vmware-git
pkgver=13.0.2.r30.g1e443c4
pkgrel=1
pkgdesc="X.org vmware video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libdrm' 'mesa>=10.0')
makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=19')
conflicts=('xf86-video-vmware' 'xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<19' 'X-ABI-VIDEODRV_VERSION>=20')
replaces=('xf86-video-vmware')
provides=('xf86-video-vmware')
groups=('xorg-drivers' 'xorg')
options=('!emptydirs')
source=('src::git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware#branch=master')
md5sums=('SKIP')

pkgver() {
  cd "$srcdir/src"
  
  ( set -o pipefail
  git describe --long | sed 's/^xf86-video-vmware-//;s/\([^-]*-g\)/r\1/;s/-/./g'
  )
}

prepare() {
    cd "$srcdir/src"
    ./autogen.sh --prefix=/usr --enable-vmwarectrl-client
}

build() {
    cd "$srcdir/src"
    make
}

check() {
    cd "$srcdir/src"
    
    make -k check
}

package() {
    cd "$srcdir/src"
    make DESTDIR="${pkgdir}" install

    install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
    install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}

install

# pacman -U ./xf86-video-vmware-git-13.0.2.r30.g1e443c4-1-x86_64.pkg.tar.xz

------------------------------------------------

build latest vmwgfx
based on https://projects.archlinux.org/svntogit … ges/nvidia and https://projects.archlinux.org/svntogit … ges/nvidia

# cat ./PKGBUILD

pkgname=vmwgfx-git
pkgver=1.4.1.r341.g11462f0
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
depends=('libdrm-git' 'mesa-git' 'xf86-video-vmware-git')
makedepends=('libdrm-git' 'mesa-git' 'xf86-video-vmware-git' 'linux-headers>=2.6.25' 'linux')
replaces=('vmwgfx')
conflicts=('vmwgfx')
provides=('vmwgfx')
url="http://cgit.freedesktop.org/mesa/vmwgfx/"
source=('src::git+git://anongit.freedesktop.org/git/mesa/vmwgfx#branch=master')
md5sums=('SKIP')

pkgver() {
  cd "$srcdir/src"
  
  ( set -o pipefail
  git describe --long | sed 's/^vmwgfx-//;s/\([^-]*-g\)/r\1/;s/-/./g'
  )
}

build() {
    cd "$srcdir/src"
    
    make
}

package() {
    install=vmwgfx.install
    cd "$srcdir/src"
    
    gzip vmwgfx.ko -f -9

    install -D -m644 "./vmwgfx.ko.gz" "${pkgdir}/usr/lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.gz"
}
# cat ./vmwgfx.install

pre_install() {
	mv /usr/lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.gz /usr/lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx/vmwgfx_old.ko.gz
}

post_install() {
    depmod -a
}

post_upgrade() {
    post_install
}

post_remove() {
    post_install
}

install

# pacman -U ./xf86-video-vmware-git-13.0.2.r30.g1e443c4-1-x86_64.pkg.tar.xz

------------------------------------------------

VMware option "Accelerate 3D graphics" is enable

------------------------------------------------

now i have OpenGL 3.3 and GLSL 3.30

# cat /proc/version
Linux version 4.2.1-1-ARCH (builduser@tobias) (gcc version 5.2.0 (GCC) ) #1 SMP PREEMPT Tue Sep 22 06:57:07 CEST 2015
# dmesg | grep -i vmwgfx
[    2.396236] [vmwgfx] Initialized drm 1.1.0 20060810
[    2.396928] [vmwgfx] DMA map mode: Using physical TTM page addresses.
[    2.397116] [vmwgfx] Capabilities:
[    2.397118] [vmwgfx]   Rect copy.
[    2.397119] [vmwgfx]   Cursor.
[    2.397120] [vmwgfx]   Cursor bypass.
[    2.397120] [vmwgfx]   Cursor bypass 2.
[    2.397123] [vmwgfx]   8bit emulation.
[    2.397124] [vmwgfx]   Alpha cursor.
[    2.397124] [vmwgfx]   3D.
[    2.397125] [vmwgfx]   Extended Fifo.
[    2.397126] [vmwgfx]   Multimon.
[    2.397127] [vmwgfx]   Pitchlock.
[    2.397127] [vmwgfx]   Irq mask.
[    2.397128] [vmwgfx]   Display Topology.
[    2.397129] [vmwgfx]   GMR.
[    2.397129] [vmwgfx]   Traces.
[    2.397130] [vmwgfx]   GMR2.
[    2.397131] [vmwgfx]   Screen Object 2.
[    2.397132] [vmwgfx]   Command Buffers.
[    2.397132] [vmwgfx]   Command Buffers 2.
[    2.397133] [vmwgfx]   Guest Backed Resources.
[    2.397134] [vmwgfx]   Command Buffers 3.
[    2.397135] [vmwgfx] Max GMR ids is 64
[    2.397136] [vmwgfx] Max GMR descriptors is 4096
[    2.397137] [vmwgfx] Max number of GMR pages is 65536
[    2.397138] [vmwgfx] Max dedicated hypervisor surface memory is 0 kiB
[    2.397139] [vmwgfx] Maximum display memory size is 53248 kiB
[    2.397142] [vmwgfx] VRAM at 0xf0000000 size is 4096 kiB
[    2.397143] [vmwgfx] MMIO at 0xfb800000 size is 256 kiB
[    2.397144] [vmwgfx] global init.
[    2.397703] vmwgfx 0000:00:0f.0: BAR 1: can't reserve [mem 0xf0000000-0xf7ffffff pref]
[    2.397705] [vmwgfx] It appears like vesafb is loaded. Ignore above error if any.
[    2.397838] [vmwgfx] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    2.397840] [vmwgfx] No driver support for vblank timestamp query.
[    2.398129] [vmwgfx] Screen Target Display device initialized
[    2.398189] [vmwgfx] width 1024
[    2.398207] [vmwgfx] height 768
[    2.398216] [vmwgfx] bpp 32
[    2.400130] [vmwgfx] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
[    2.407340] [vmwgfx] Using command buffers with DMA pool.
[    2.407377] [vmwgfx] DX: yes.
[    2.449439] [vmwgfx] Initialized vmwgfx 2.9.256 20150810 for 0000:00:0f.0 on minor 0
# modinfo vmwgfx
filename:       /lib/modules/4.2.1-1-ARCH/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.gz
license:        GPL and additional rights
description:    DRM shared core routines
author:         Gareth Hughes, Leif Delgass, Jose Fonseca, Jon Smirl
version:        2.9.256.0
license:        GPL and additional rights
description:    Standalone drm driver for the VMware SVGA device
author:         VMware Inc. and others
srcversion:     2234C2C0E964AF80D82D3A7
alias:          pci:v000015ADd00000405sv*sd*bc*sc*i*
depends:        drm
vermagic:       4.2.1-1-ARCH SMP preempt mod_unload modversions
parm:           enable_fbdev:Enable vmwgfx fbdev (int)
parm:           force_dma_api:Force using the DMA API for TTM pages (int)
parm:           restrict_iommu:Try to limit IOMMU usage for TTM pages (int)
parm:           force_coherent:Force coherent TTM pages (int)
parm:           force_stealth:Force stealth mode (int)
parm:           force_no_3d:Force no 3D (int)
parm:           debug:Enable debug output (int)
parm:           vblankoffdelay:Delay until vblank irq auto-disable [msecs] (int)
parm:           timestamp_precision_usec:Max. error on timestamps [usecs] (int)
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
....
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
....
GLX version: 1.4
GLX extensions:
....
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;  LLVM;
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.1.0-devel (git-9bd9cf1)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
....
OpenGL version string: 3.0 Mesa 11.1.0-devel (git-9bd9cf1)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
....
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.0-devel (git-9bd9cf1)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
....
192 GLX Visuals
....
240 GLXFBConfigs:
....

----------------------

Now I have some questions

1) when i build some module i get warning:

libtool: warning: relinking '<some name>.la'

and

libtool: warning: remember to run 'libtool --finish <some path>'

What it means and how much it is dangerous?

2) How can I automate this process? To Pakmen automatically repeat my build and replace vmwgfx when it do next kernel update.
I read about DKMS... or is there a better way?

Last edited by JackM (2015-10-01 02:19:33)

Offline

#6 2015-10-01 12:23:17

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: vmwgfx kernel module must be version 2.9.0 or later

Looking good, JackM .

1) when those messages started appearing (2+ years ago) i investigated them.
It seems libtool (used on many platforms besides linux) devs and linux devs have different opinions how libtool should work together with other build enviroment tools.
basically many linux build systems do use libtool differently then how libtool devs want them to do things.
For mesa you can ignore those warnings.

2)
DKMS is only way i know of to do that.



vmwgfx-git :

I suggest you add the old vmwgfx files to Backup array in PKGBUILD, so they are copied automagically with a pacsave extension.
(this will prob add some warnings to pacman log, which is  a good thing in this case i think)

check if you still have to remove them in pre_install .
I'd also add a restore command in post_removal , as that feels cleaner.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2015-12-24 04:56:08

mnovick1988
Member
Registered: 2013-11-17
Posts: 4

Re: vmwgfx kernel module must be version 2.9.0 or later

any suggestion? vmwgfx-git

Offline

#8 2015-12-24 12:02:25

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: vmwgfx kernel module must be version 2.9.0 or later

The dependencies look wrong, compare with what JackM used .

Lone_Wolf wrote:

I suggest you add the old vmwgfx files to Backup array in PKGBUILD, so they are copied automagically with a pacsave extension.
(this will prob add some warnings to pacman log, which is  a good thing in this case i think)

If you do it this way,you probably won't have to remove the old files anymore in pre-install .
You'll have to adapt the pre-remove function then offcourse.

Unless you tested both i686 & x86_64 architectures, i'd advise to only put the architecture you tested on in arch= array.

after building, run namcap on the pkg.tar.gz file and post the output.

I'm not sure if you still need libdrm-git,but that's in the aur now.
(i needed it for mesa-git,so uploaded it yesterday).


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB