1 2 Previous Next 15 Replies Latest reply on Mar 20, 2013 9:10 PM by dimgl

    3D hardware acceleration in Linux. Hello GNOME 3

    Hot Shot

      I'm sure many if you have been waiting for this for a while and its finally here, 3D Hardware acceleration in Linux!

       

      I just got openSUSE 12.1 working with GNOME 3 experience and wanted to share it here with you. This is experimental so I would recommend you make a new VM if you want to try it.

       

      I started with opensuse 12.1 32bit liveCD

       

       

       

      Don't forget to turn on 3D acceleration

      VM > Settings > Display > Accelerate 3D graphics

       

       

       

      Start the liveCD and Install opensuse under

      Applications > System Tools > Live Installer

       

       

      You need to fully update by running:

       

            sudo zypper update

       

      Reboot after updating

       

      Install the following dependencies that are needed to build:

       

            sudo zypper install gcc-c++ bison flex automake make gcc libtool kernel-devel
            sudo zypper install git-core xorg-x11-proto-devel libpciaccess0-devel xorg-x11-util-devel
            sudo zypper install xorg-x11-libX11-devel xorg-x11-server-sdk libexpat-devel

       

       

      Getting the Latest Source Code

       

      Mesa/Gallium master branch. This code is used to build libGL, and the direct rendering svga driver for libGL, vmwgfx_dri.so, and the X acceleration library libxatracker.so.x.x.x.

       

            git clone git://anongit.freedesktop.org/git/mesa/mesa

       

       

      VMware Linux guest kernel module. Note that this repo contains the complete DRM and TTM code. The vmware-specific driver is really only the files prefixed with vmwgfx.

       

            git clone git://anongit.freedesktop.org/git/mesa/vmwgfx

       

       

      libdrm, A user-space library that interfaces with drm. Most distros ship with this driver. Safest bet is really to replace the system one. Optionally you can point LIBDRM_CFLAGS and LIBDRM_LIBS to the libdrm-2.4.22 package in toolchain. But here, we replace:

       

            git clone git://anongit.freedesktop.org/git/mesa/drm

       

       

      xf86-video-vmware. The chainloading driver, vmware_drv.so, the legacy driver vmwlegacy_drv.so, and the vmwgfx driver vmwgfx_drv.so.

       

            git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware

       

       

      Building the Code

       

      Build libdrm: If you're on a 32-bit system, you should skip the --libdir configure option. Note also the comment about toolchain libdrm above.

       

            cd drm

            ./autogen.sh --prefix=/usr --enable-vmwgfx-experimental-api --libdir=/usr/lib64

            make

            sudo make install

            cd ..

       

       

      Build Mesa and the vmwgfx_dri.so driver, the vmwgfx_drv.so xorg driver, the X acceleration library libxatracker. The vmwgfx_dri.so is used by the OpenGL libraries during direct rendering, and by the Xorg server during accelerated indirect GL rendering. The libxatracker library is used exclusively by the X server to do render, copy and video acceleration: The following configure options doesn't build the EGL system. As before, if you're on a 32-bit system, you should skip the --libdir configure option.

       

            cd mesa

            ./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-gallium-drivers=svga --with-dri-drivers= --enable-xa

            gmake

            sudo make install

            cd ..

       

      Build xf86-video-vmware: Now, once libxatracker is installed, we proceed with building and replacing the current Xorg driver. First check if your system is 32- or 64-bit. If you're building for a 32-bit system, you will not be needing the --libdir=/usr/lib64 option to autogen.

       

            cd xf86-video-vmware

            ./autogen.sh --prefix=/usr --libdir=/usr/lib64

            make

            sudo make install

            cd ..

       

       

      Build vmwgfx kernel module. First make sure that any old version of this kernel module is removed from the system by issuing

       

            sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko*

       

      then build

       

       

            cd vmwgfx

            make

            sudo make install

            sudo cp 00-vmwgfx.rules /etc/udev/rules.d

       

      You need to enter root to run depmod and modprobe, sudo wont work

       

            su

            depmod -ae

       

      Now try to load the kernel module by issuing:

       

            modprobe vmwgfx

            exit

       

      Then type dmesg and look at the output. you should see:

      [    7.010541] [vmwgfx] Initialized drm 1.1.0 20060810
      [    7.010777] vmwgfx 0000:00:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
      [    7.012555] [vmwgfx] Capabilities:
      [    7.012558] [vmwgfx]   Rect copy.
      [    7.012560] [vmwgfx]   Cursor.
      [    7.012561] [vmwgfx]   Cursor bypass.
      [    7.012562] [vmwgfx]   Cursor bypass 2.
      [    7.012564] [vmwgfx]   8bit emulation.
      [    7.012565] [vmwgfx]   Alpha cursor.
      [    7.012567] [vmwgfx]   3D.
      [    7.012568] [vmwgfx]   Extended Fifo.
      [    7.012569] [vmwgfx]   Multimon.
      [    7.012571] [vmwgfx]   Pitchlock.
      [    7.012572] [vmwgfx]   Irq mask.
      [    7.012573] [vmwgfx]   Display Topology.
      [    7.012575] [vmwgfx]   GMR.
      [    7.012576] [vmwgfx]   Traces.
      [    7.012577] [vmwgfx]   GMR2.
      [    7.012579] [vmwgfx]   Screen Object 2.
      [    7.012580] [vmwgfx] Max GMR ids is 64
      [    7.012582] [vmwgfx] Max GMR descriptors is 4096
      [    7.012583] [vmwgfx] Max number of GMR pages is 196608
      [    7.012588] [vmwgfx] Max dedicated hypervisor surface memory is 786432 kiB
      [    7.012590] [vmwgfx] VRAM at 0xd0000000 size is 131072 kiB
      [    7.012591] [vmwgfx] MMIO at 0xc8800000 size is 2048 kiB
      [    7.012594] [vmwgfx] global init.
      [    7.012635] [TTM] Zone  kernel: Available graphics memory: 435208 kiB.
      [    7.012637] [TTM] Zone highmem: Available graphics memory: 1031148 kiB.
      [    7.012638] [TTM] Initializing pool allocator.
      [    7.012925] [vmwgfx] width 1280
      [    7.012943] [vmwgfx] height 768
      [    7.012961] [vmwgfx] bpp 32
      [    7.014912] [vmwgfx] Fifo max 0x00200000 min 0x00001000 cap 0x0000077f
      [    7.022205] [vmwgfx] Supports vblank timestamp caching Rev 1 (10.10.2010).
      [    7.022208] [vmwgfx] No driver support for vblank timestamp query.
      [    7.022257] [vmwgfx] Screen objects system initialized
      [    7.022261] [vmwgfx] Detected device 3D availability.
      [    7.024639] [vmwgfx] Initialized vmwgfx 2.3.0 20111025 for 0000:00:0f.0 on mi
      Now reboot and enjoy GNOME 3!
      If you run glxinfo you should see the following:
      OpenGL vendor string: VMware, Inc.
      OpenGL renderer string: Gallium 0.4 on llvmpipe
      OpenGL version string: 2.1 Mesa 7.11.2
      OpenGL shading language version string: 1.20
      Check out the attached screen shots
      gnome3.png

       

      gnome 3_2.png

       

       

      If you run into any problems post the errors you get here and I will try to help but this is pretty new to me. In 64bit you probably need to get some different dependencies. I went though the guide again and made some adjustments so it should work now if you were having any problems.

       

      made corrections to guide:

      -added make to dependencies

      -run gmake instead of make for mesa

      -removed  xorg-x11-devel from dependencies (it gets installed by another package anyways)

      -added info about su for depmod and modprobe

       

      Message was edited by: khogan made corrections to guide -added make to dependencies -run gmake instead of make for mesa -removed  xorg-x11-devel from dependencies (it gets installed by another package anyways) -added info about su for depmod and modprobe

        • 1. Re: 3D hardware acceleration in Linux. Hello GNOME 3
          RazorX0 Novice

          UPDATE: I have it working now. I wrote up a step-by-step guide for anyone else who is trying to get this to work on Kubuntu. I still ran into the big fonts problem. I also found that VMware tools cannot be reinstalled once you update to the new kernel, and that Shared Folders no longer appear in /mnt/hgfs.

           

          I followed your guide for Kubuntu 11.10 x64 (with some modifications, e.g. --libdir=/usr/lib64 did not work for me). I got everything to build and install, but something is still not right. Specifically, after I install the Kubuntu specific build dependencies from packages I do

           

          cd drm

          ./autogen.sh --enable-vmwgfx-experimental-api --prefix=/usr

          make

          sudo make install

          cd ..

           

          cd mesa

          ./autogen.sh --with-gallium-drivers=svga --with-dri-drivers= --enable-xa --prefix=/usr

          make

          sudo make install

          cd ..

           

          cd xf86-video-vmware

          ./autogen.sh --prefix=/usr

          make

          sudo make install

          cd ..

           

          sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko*

           

          cd vmwgfx

          make

          sudo make install

          sudo cp 00-vmwgfx.rules /etc/udev/rules.d

          sudo cp vmwgfx.ko /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko

          sudo chmod 644 /usr/lib/xorg/modules/drivers/vmware_drv.*

           

          Then I reboot. First problem is that the text is huge. I can work around this by forcing the DPI in the font settings, but this is not ideal. The main problem is that although I think it's using the new driver, I don't think 3D acceleration is working right. Many of the desktops effects fail to enable. Although Xorg log says "Direct rendering (3D) is enabled.", glxinfo says

          OpenGL vendor string: Mesa Project
          OpenGL renderer string: Software Rasterizer

          OpenGL version string: 2.1 Mesa 7.11

           

          Here are links to the output of dmesg, glxinfo, and the Xorg.0.log file.

           

          I've also tried creating an xorg.conf with

          Section "Device"
              Identifier "SVGA Graphics Device"
              Driver "vmware"
              Option "2DAccel" "TRUE"
              Option "3DAccel" "TRUE"
          EndSection

           

          But this doesn't seems to change anything. I just get "Option "2DAccel" is not used" and "Option "3DAccel" is not used".

           

          Any ideas or assistance would be great. Maybe if I can get this working we will have a real guide to setting up 3D on the Ubuntu variants.

          • 2. Re: 3D hardware acceleration in Linux. Hello GNOME 3
            JoostLek Lurker

            Hi,

             

            We independantly created the same howto, but I wanted to contribute as I saw you were looking for specific instructions for Ubuntu, which is the platform I used.
            Please find the procedure I created for Ubuntu 11.10 here:

            http://joostlek.nl/vmware-linux-guest-with-3d-accelerated-graphics

             

            Joost

            • 3. Re: 3D hardware acceleration in Linux. Hello GNOME 3
              RazorX0 Novice

              Nice guide. I must have missed it since it is so recent. Looks like we came up with a similar method except you do autogen and configure. Also, I bet getting the updated kernel is the key step I'm missing. I'll give it a try later and post my resutls here.

               

              UPDATE: I tried to follow your guide but I ran into a build error. I loaded a VM snapshot of my closest attempt and installed the kernel as you prescribed and I think it's finally working! I'm going to do it again from scratch and write up what worked for me. I'll be sure to add a link to your guide once it's done.

              • 4. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                Dirald Novice

                @Joost

                Great guide! Unfortunately I had problems with it on Mint 12. There's only a black screen after the login and the only way around is GNOME classic. It seems like I'm not alone with this problem so any ideas or tips would be greatly appreciated.

                 

                Thanks in advance.

                • 5. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                  JoostLek Lurker

                  Can you post the log of Xorg to something like pastebin?

                  • 6. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                    Dirald Novice

                    I'm not sure if this will help you in any way. I first tried to start my test Mint with the installed driver normally and got my black screen. After a reset I started it with GNOME classic. And now I have a Xorg.0.log and Xorg.0.log.old. As I deleted all Xorg logs before the .old log should be from the black screen session and the other one from the working GNOME classic session (unless my understanding of the Xorg logging is wrong - which could be very easily :p).

                    Both logs nearly don't differ. The .old has only one line more (drmOpenDevice: open result is 12, (OK)) but I guess this is irrelevant.

                     

                    However, here are the links (they will expire in one month): http://pastebin.com/7g3NjECV http://pastebin.com/CThiAgCh

                     

                    Mybe also noteable (I first recognized it by reading the log) I don't have a 16:9 resolution in GNOME classic anymore. But I'm sure there was one before I installed the driver (1920x1080).

                    • 7. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                      RazorX0 Novice

                      I think when I tried to install the new kernel first I got a black screen as well. When I wrote up my guide I made that the last step since otherwise it didn't work.

                      • 8. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                        RazorX0 Novice

                        I thought I would give openSUSE a try. Everything worked great, except when I reboot, hardware acceleration does not enable.

                        The weird thing is that after I login, dmesg shows vmwgfx was loaded. It just never switches over from the software renderer. If I do glxinfo I get

                         

                        libGL error: failed to load driver: vmwgfx

                         

                        But, if I do su and then glxinfo it magically switches on the hardware acceleration. Then, if I exit to a normal user prompt and run glxinfo again it goes back to software. Any ideas? Is this some kind of permissions issue?

                         

                        The real issue seems to be that hardware acceleration is only working for root. If I run say, glxgears as root, then hardware acceleration is reported to work, but if I run it as a normal user, it reports hardware acceleration is not enabled.

                         

                        UPDATE: Looks like a permission issue:

                        libGL: OpenDriver: trying /usr/lib64/dri/vmwgfx_dri.so
                        libGL error: failed to open drm device: Permission denied
                        libGL error: failed to load driver: vmwgfx
                        libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so

                         

                        SOLVED: You need to make sure your user is in the video group.

                        • 9. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                          kahuna0k Lurker

                          Hello,

                           

                          After some compiling and patching I finally have everything set up in Ubuntu 10.04 Lucid Lynx, I'm using git from 2012/03/20 and but I'm unable to get 3D support. Although vmwgfx is loaded I get the following when loading the vmware_drv.so

                           

                          (II) LoadModule: "vmware"
                          (II) Loading /usr/local/gallium/lib/xorg/modules/drivers/vmware_drv.so
                          (II) Module vmware: vendor="X.Org Foundation"
                          compiled for 1.7.6, module version = 12.0.1
                          Module class: X.Org Video Driver
                          ABI class: X.Org Video Driver, version 6.0
                          (II) vmware: driver for VMware SVGA: vmware0405, vmware0710
                          (II) Primary Device is: PCI 00@00:0f:0
                          drmOpenDevice: node name is /dev/dri/card0
                          drmOpenDevice: open result is 10, (OK)
                          drmOpenByBusid: Searching for BusID PCI:0:15:0
                          drmOpenDevice: node name is /dev/dri/card0
                          drmOpenDevice: open result is 10, (OK)
                          drmOpenByBusid: drmOpenMinor returns 10
                          drmOpenByBusid: Interface 1.4 failed, trying 1.1
                          drmOpenByBusid: drmGetBusid reports pci:0000:00:0f.0
                          (--) vmware(0): DRM driver version is 2.4.0
                          (EE) vmware(0): Device is not screen object capable.
                          (WW) vmware(0): Disabling 3D support.
                          (WW) vmware(0): Disabling Render Acceleration.
                          (WW) vmware(0): Disabling RandR12+ support.
                          (--) vmware(0): VMware SVGA regs at (0x10d0, 0x10d1)
                          
                          and the following in dmesg while loading vmwgfx.ko
                          vmwgfx] Initialized drm 1.1.0 20060810
                          [vmwgfx] Capabilities:
                          [vmwgfx]   Rect copy.
                          [vmwgfx]   Cursor.
                          [vmwgfx]   Cursor bypass.
                          [vmwgfx]   Cursor bypass 2.
                          [vmwgfx]   8bit emulation.
                          [vmwgfx]   Alpha cursor.
                          [vmwgfx]   3D.
                          [vmwgfx]   Extended Fifo.
                          [vmwgfx]   Multimon.
                          [vmwgfx]   Pitchlock.
                          [vmwgfx]   Irq mask.
                          [vmwgfx]   Display Topology.
                          [vmwgfx]   GMR.
                          [vmwgfx] Max GMR ids is 128
                          [vmwgfx] Max GMR descriptors is 4096
                          [vmwgfx] VRAM at 0xd0000000 size is 131072 kiB
                          [vmwgfx] MMIO at 0xd8000000 size is 2048 kiB
                          [vmwgfx] global init.
                          [TTM] Zone  kernel: Available graphics memory: 2025434 kiB.
                          [TTM] Initializing pool allocator.
                          mtrr: type mismatch for d8000000,200000 old: write-back new: write-combining
                          [vmwgfx] width 1280
                          [vmwgfx] height 800
                          [vmwgfx] bpp 32
                          [vmwgfx] Fifo max 0x00200000 min 0x00001000 cap 0x0000007f
                          [vmwgfx] Not using screen objects, missing cap SCREEN_OBJECT_2
                          [vmwgfx] Supports vblank timestamp caching Rev 1 (10.10.2010).
                          [vmwgfx] No driver support for vblank timestamp query.
                          [vmwgfx] Detected no device 3D availability.
                          [vmwgfx] Initialized vmwgfx 2.4.0 20120209 for 0000:00:0f.0 on minor 0
                          VMware memory control driver initialized
                          vmmemctl: started kernel thread pid=3431
                          [vmwgfx] width 1280
                          [vmwgfx] height 800
                          [vmwgfx] bpp 32
                          [vmwgfx] Fifo max 0x00200000 min 0x00001000 cap 0x0000007f
                          

                           

                          I'm using VMWare Workstation 7.1.5 as 8.0.2 don't let me access a physical disk shared with the host (Windows 7 x64). The strange thing is that if I use the vmwgfx.ko included with VMware Tools from 7.1.5 I get the following:

                           

                          [vmwgfx] Initialized drm 1.1.0 20060810
                          [vmwgfx] Capabilities:
                          [vmwgfx]   Rect copy.
                          [vmwgfx]   Cursor.
                          [vmwgfx]   Cursor bypass.
                          [vmwgfx]   Cursor bypass 2.
                          [vmwgfx]   8bit emulation.
                          [vmwgfx]   Alpha cursor.
                          [vmwgfx]   3D.
                          [vmwgfx]   Extended Fifo.
                          [vmwgfx]   Multimon.
                          [vmwgfx]   Pitchlock.
                          [vmwgfx]   Irq mask.
                          [vmwgfx]   Display Topology.
                          [vmwgfx]   GMR.
                          [vmwgfx] Max GMR ids is 128
                          [vmwgfx] Max GMR descriptors is 4096
                          [vmwgfx] VRAM at 0xd0000000 size is 131072 kiB
                          [vmwgfx] MMIO at 0xd8000000 size is 2048 kiB
                          [vmwgfx] global init.
                          [TTM] Zone  kernel: Available graphics memory: 2025434 kiB.
                          mtrr: type mismatch for d8000000,200000 old: write-back new: write-combining
                          [vmwgfx] width 1280
                          [vmwgfx] height 800
                          [vmwgfx] bpp 32
                          [vmwgfx] Fifo max 0x00200000 min 0x00001000 cap 0x0000007f
                          [vmwgfx] Have 3D
                          [vmwgfx] Initialized vmwgfx 1.1.0 20100209 for 0000:00:0f.0 on minor 0
                          Console: switching to colour frame buffer device 100x37
                          

                           

                           

                          And loading Ubuntu 10.04 vmware_drv.so seems to work, at least glxinfo inform about DRI Enabled. Although the speed of for example glxgears is quite low. Other strage thing is that the git version of vmwgfx.ko can be unloaded and seems to not be used (lsmod reports used by 0) and the VMware Tools version is used by 1 and cannot be unloaded (even without Xorg running).

                           

                           

                          Any clue? It seems that sometime in the past the SCREEN_OBJECT_2 capability becomes mandatory and for some reason with Workstation 7.1.5 we don't have that capability.

                           

                          I've attached the full Xorg.0.log when running with git vmwgfx.ko, just in case.

                           

                          Regards

                          • 10. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                            Hot Shot

                            I do not think this is going to work in WS 7. You should use WS 8 or better yet try the WS Tech Preview as compatibility and performance is imporved there. http://communities.vmware.com/community/vmtn/beta/workstationtp2012

                             

                            I made another post there about how to report your issues so if you are having issues with the tech preview please make a post there.

                            • 11. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                              kahuna0k Lurker

                              It seems that there is no posibility with WS 7.1.5, I have tried with latest version that does not need HWv8, 1.4.1 20100928, but using this with current gallium git gives an error about the need for version 2.3.0.

                               

                              Do you know if the Technology Preview has solved the Physical Disk issue? I have dual boot on the physical disk and would like to boot the linux partition both within VMware and in the usual way. It seems that the problem while booting from the physical disk is well documented and has been there during 8.0.0, 8.0.1 and 8.0.2.

                               

                               

                              Regards,

                              • 12. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                                Hot Shot

                                I am not sure if this is resolved yet. You would be better off asking in the tech preview forum, and/or reproducing the issue and making a post about it so it will get more exposure.

                                • 13. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                                  unc0nnected Lurker

                                  Runnign Debian 6 3.2.0-0.bpo.3 with the latest release Workstation 9.  I cannot get this to work and I would love to see if anyone has had any luck with this over the past 5 months or so

                                   

                                  Most of the same symptoms as above although the installation process for Debian is might different than Ubuntu it would seem as mesa cannot be installed from source as it keeps looking for packages like x11 which debian are libx11.  Luckily the latest mesa build can be installed via sid repositories and that's all good.. Once it's done I get the aforementioned dmesg:

                                   

                                   

                                  [  749.757459] [vmwgfx] Initialized drm 1.1.0 20060810
                                  [  749.757603] vmwgfx 0000:00:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
                                  [  749.758785] [vmwgfx] Capabilities:
                                  [  749.758789] [vmwgfx]   Rect copy.
                                  [  749.758791] [vmwgfx]   Cursor.
                                  [  749.758793] [vmwgfx]   Cursor bypass.
                                  [  749.758795] [vmwgfx]   Cursor bypass 2.
                                  [  749.758796] [vmwgfx]   8bit emulation.
                                  [  749.758798] [vmwgfx]   Alpha cursor.
                                  [  749.758800] [vmwgfx]   3D.
                                  [  749.758802] [vmwgfx]   Extended Fifo.
                                  [  749.758804] [vmwgfx]   Multimon.
                                  [  749.758805] [vmwgfx]   Pitchlock.
                                  [  749.758826] [vmwgfx]   Irq mask.
                                  [  749.758828] [vmwgfx]   Display Topology.
                                  [  749.758830] [vmwgfx]   GMR.
                                  [  749.758832] [vmwgfx]   Traces.
                                  [  749.758834] [vmwgfx]   GMR2.
                                  [  749.758835] [vmwgfx]   Screen Object 2.
                                  [  749.758838] [vmwgfx] Max GMR ids is 64
                                  [  749.758840] [vmwgfx] Max GMR descriptors is 4096
                                  [  749.758842] [vmwgfx] Max number of GMR pages is 196608
                                  [  749.758845] [vmwgfx] Max dedicated hypervisor surface memory is 786432 kiB
                                  [  749.758848] [vmwgfx] VRAM at 0xd0000000 size is 131072 kiB
                                  [  749.758851] [vmwgfx] MMIO at 0xc8800000 size is 2048 kiB
                                  [  749.758854] [vmwgfx] global init.
                                  [  749.759159] [TTM] Zone  kernel: Available graphics memory: 2028236 kiB.
                                  [  749.759163] [TTM] Initializing pool allocator.
                                  [  749.759197] mtrr: type mismatch for c8800000,200000 old: write-back new: write-combining
                                  [  749.759830] [vmwgfx] width 1366
                                  [  749.759853] [vmwgfx] height 768
                                  [  749.759873] [vmwgfx] bpp 32
                                  [  749.760057] [vmwgfx] Fifo max 0x00200000 min 0x00001000 cap 0x0000077f
                                  [  749.760617] [vmwgfx] Supports vblank timestamp caching Rev 1 (10.10.2010).
                                  [  749.760620] [vmwgfx] No driver support for vblank timestamp query.
                                  [  749.760796] [vmwgfx] Screen objects system initialized
                                  [  749.760801] [vmwgfx] Detected device 3D availability.
                                  [  749.761388] [vmwgfx] Initialized vmwgfx 2.4.0 20120209 for 0000:00:0f.0 on minor 0

                                   

                                  glxgears will load the gears up just fine however compiz won't run and glxinfo produces the following in lieu of that neat and tidy little message telling me all is right in the world:

                                   

                                   

                                  name of display:

                                  display:   screen: 0

                                  direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)

                                  server glx vendor string: SGI

                                  server glx version string: 1.4

                                  server glx extensions:

                                      GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,

                                      GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,

                                      GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig,

                                      GLX_SGIX_pbuffer, GLX_MESA_copy_sub_buffer, GLX_INTEL_swap_event

                                  client glx vendor string: NVIDIA Corporation

                                  client glx version string: 1.4

                                  client glx extensions:

                                      GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,

                                      GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync,

                                      GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,

                                      GLX_SGI_swap_control, GLX_EXT_swap_control, GLX_ARB_create_context,

                                      GLX_ARB_create_context_profile, GLX_NV_float_buffer,

                                      GLX_ARB_fbconfig_float, GLX_EXT_fbconfig_packed_float,

                                      GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB,

                                      GLX_NV_present_video, GLX_NV_copy_image, GLX_NV_multisample_coverage,

                                      GLX_NV_video_capture, GLX_EXT_create_context_es2_profile,

                                      GLX_ARB_create_context_robustness

                                  GLX version: 1.4

                                  GLX extensions:

                                      GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,

                                      GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_SGIX_fbconfig,

                                      GLX_SGIX_pbuffer, GLX_ARB_get_proc_address

                                  OpenGL vendor string: Mesa Project

                                  OpenGL renderer string: Software Rasterizer

                                  OpenGL version string: 1.4 (2.1 Mesa 7.10.3)

                                  OpenGL extensions:

                                      GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,

                                      GL_ARB_fragment_program_shadow, GL_ARB_multisample, GL_ARB_multitexture,

                                      GL_ARB_occlusion_query, GL_ARB_point_parameters, GL_ARB_point_sprite,

                                      GL_ARB_shadow, GL_ARB_texture_border_clamp, GL_ARB_texture_compression,

                                      GL_ARB_texture_cube_map, GL_ARB_texture_env_add,

                                      GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,

                                      GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,

                                      GL_ARB_texture_non_power_of_two, GL_ARB_transpose_matrix,

                                      GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra,

                                      GL_EXT_blend_color, GL_EXT_blend_equation_separate,

                                      GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,

                                      GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_object,

                                      GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters,

                                      GL_EXT_rescale_normal, GL_EXT_secondary_color,

                                      GL_EXT_separate_specular_color, GL_EXT_shadow_funcs,

                                      GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture3D,

                                      GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,

                                      GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,

                                      GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp,

                                      GL_EXT_texture_object, GL_EXT_vertex_array, GL_ATI_texture_mirror_once,

                                      GL_IBM_texture_mirrored_repeat, GL_NV_blend_square, GL_NV_depth_clamp,

                                      GL_NV_fragment_program, GL_NV_fragment_program_option,

                                      GL_NV_light_max_exponent, GL_NV_point_sprite, GL_NV_texgen_reflection,

                                      GL_NV_texture_env_combine4, GL_NV_texture_rectangle,

                                      GL_NV_vertex_program1_1, GL_NV_vertex_program, GL_SGIS_generate_mipmap,

                                      GL_SGIS_texture_lod

                                   

                                   

                                  The bottom line is that my compiz-check fails with this:

                                   

                                   

                                  Gathering information about your system...

                                   

                                  Distribution:          Debian GNU/Linux (6.0.5)

                                  Desktop environment:   GNOME

                                  Graphics chip:         VMware SVGA II Adapter

                                  Driver in use:         vmware

                                  Rendering method:      AIGLX

                                   

                                  Checking if it's possible to run Compiz on your system...

                                   

                                  Checking for texture_from_pixmap...               [ OK ]

                                  Checking for non power of two support...          [ OK ]

                                  Checking for composite extension...               [ OK ]

                                  Checking for FBConfig...                          [ OK ]

                                  Checking for hardware/setup problems...           [FAIL]

                                   

                                  There has been (at least) one error detected with your setup:

                                  Error: Software Rasterizer in use

                                   

                                   

                                  and everything else is telling me I should be good to go with 3D support however I can't turn the rasterizer off and I have no idea why.. Going on 3 days of bashing my head into a bloody pulp against a concrete wall and I'm about to loose my mind.. Any help would be greatly appreciated

                                  • 14. Re: 3D hardware acceleration in Linux. Hello GNOME 3
                                    unc0nnected Lurker

                                    Wow, as in all problems that seem impossible the solution usually comes out of the blue and is totally accidental.  So after surrendering any hope to having mesa or 3D acceleration working I decided to ditch compiz and install emerald.  In purging compiz from my system there was a left over libdecorator1 package that was supposed to be deleted but the damndest thing was that it couldn't be deleted because of some silly error that went a ltitle bit like this: No diversion 'diversion of /usr/lib/libGL.so.1.2 to /usr/lib/nvidia/diversions/libGL.so.1.2 by libgl1-nvidia-alternatives', none removed.

                                     

                                    Turns out there was a symlink in /usr/lib/nvidia/diversions that was linked to a non-existent file and although I'd gone through synaptic and searched for any nvidiea or other driver and uninstalled them it kepted this one for some reason.. The solution was to manually delete the entire /usr/lib/nvidia directory by hand and then it was able to uninstall that.  After this I just thought I'd run compiz-check to see if that changed anything and sure enough my last error turned into a [warn] and then asked me if I wanted to blacklist some driver which I said no to. Reinstalled compiz at this point, ran compiz-check and what do you know it comes out clean, but compiz still refuses to start saying that software rasterizing has been detected.  I can have metacity as my compositor and it makes my docks look great and gives me proper icon transparency but I still can't have any 3D effects in terms of compiz.  Compiz still doesn't load at all.

                                    1 2 Previous Next