Announcement

Collapse
No announcement yet.

Building Mesa 11.0 With OpenGL 4.1 On Ubuntu Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by boffo View Post

    I have two questions:
    1) What is the difference between pontostroy:gallium-nine, pontostroy:branches:homeontostroy:gallium-nine and pontostroy:X11

    2) Sometimes I get an update and the 3d acceleration dies. The error I get is
    libGL error: unable to load driver: r600_dri.solibGL
    .
    1 pontostroy:gallium-nine - Mesa debud build form https://github.com/iXit/Mesa-3D/commits/master
    pontostroy:branches:homeontostroy:gallium-nine - Mesa release build form https://github.com/iXit/Mesa-3D/commits/master
    pontostroy:X11 - Mesa release build from fdo

    2 I do not know why you got this error, maybe old libdrm or other package. try running glxgears with LIBGL_DEBUG=verbose

    Comment


    • #12
      Hello! during autogen.sh am getting this error:

      [starterx4@PC mesa]$ ./autogen.sh --prefix=/usr --enable-texture-float --libdir=/usr/lib/x86_64-linux-gnu/ --with-gallium-drivers=nouveau --with-egl-platforms=drm,x11 --enable-glx-tls --enable-shared-glapi --enable-glx --enable-driglx-direct --enable-gles1 --enable-gless2
      autoreconf: Entering directory `.'
      autoreconf: configure.ac: not using Gettext
      autoreconf: running: aclocal --force -I m4
      /usr/bin/m4:configure.ac:107: ERROR: cannot flush diversion to temporary file: No space left on device
      /usr/bin/m4:configure.ac:107: cannot clean temporary file for diversion
      autom4te: /usr/bin/m4 failed with exit status: 1
      aclocal: error: echo failed with exit status: 1
      autoreconf: aclocal failed with exit status: 1


      Gparted shows me that on my Linux partition is free|available 26,99 GiB / 68,31 GiB.
      And what is it?


      My distro is Manjaro Linux (with Manjaro's unstable repos and arch's Testing), am using Nouveau drivers on NVIDIA GeForce card.

      Comment


      • #13
        Originally posted by Pontostroy View Post
        1 pontostroy:gallium-nine - Mesa debud build form https://github.com/iXit/Mesa-3D/commits/master
        pontostroy:branches:homeontostroy:gallium-nine - Mesa release build form https://github.com/iXit/Mesa-3D/commits/master
        pontostroy:X11 - Mesa release build from fdo

        2 I do not know why you got this error, maybe old libdrm or other package. try running glxgears with LIBGL_DEBUG=verbose
        I installed the git20150826, now it's working correctly the 64-bit and the 32-bit. It's a bit annoying, because I can't keep the stable one and when it happens I don't know what should I investigate.

        Comment


        • #14
          Originally posted by hagda View Post
          Don't you need to build the 32bit libs as well in order to have any effect on 32bit games (even if you are on a 64bit Linux distribution)?
          Yep, I believe so.

          I run Debian Jessie amd64 (with some i686 packages via multi-arch), and use self-built Nouveau. This is what I used as a guide:
          https://wiki.freedesktop.org/nouveau/InstallNouveau/ I don't install things under /usr, so I do things slightly differently. Here's my guide.

          1. I have a file nouveau-env.sh with the following contents:
          Code:
          # https://wiki.freedesktop.org/nouveau/InstallNouveau/
          
          # Root directory where all git sources will be checked out to:
          DEV_HOME=${HOME}/nv_fsw_stack
          
          if [ "$(uname -m)" = "i686" ]
          then
              NVD=/opt/xorg-x86
              LIBARCH=i386
          else
              NVD=/opt/xorg
              LIBARCH=$(uname -m)
          fi
          LD_LIBRARY_PATH=$NVD/lib
          PKG_CONFIG_PATH=$NVD/lib/pkgconfig:$NVD/share/pkgconfig:/usr/lib/${LIBARCH}-linux-gnu/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/pkgconfig
          ACLOCAL="aclocal -I $NVD/share/aclocal"
          
          export DEV_HOME NVD LD_LIBRARY_PATH PKG_CONFIG_PATH ACLOCAL
          Then put that in a ~/nv_fsw_stack/ directory and source it.

          Code:
          source ~/nv_fsw_stack/nouuveau-env.sh
          2. Create /edit /etc/environment and add the lines:
          Code:
          LIBGL_DRIVERS_PATH=/opt/xorg/lib/dri:/opt/xorg-x86/lib/dri/
          PKG_CONFIG_PATH=/opt/xorg/lib/pkgconfig:/opt/xorg-x86/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/pkgconfig
          For good measure, I create /etc/profile.d/custom-xorg.sh with the following contents:
          Code:
          for line in $(grep -v '^#' /etc/environment)
          do
              export ${line}
          done
          Also create /etc/ld.so.conf.d/custom-mesa.conf with the following contents:
          Code:
          # xf86-video-nouveau
          /opt/xorg/lib/xorg/modules/drivers
          # libdrm
          /opt/xorg/lib
          # mesa
          /opt/xorg/lib/d3d
          /opt/xorg/lib/dri
          /opt/xorg/lib/gallium-pipe
          /opt/xorg/lib/vdpau
          Create /etc/X11/xorg.conf.d/01-module-path.conf with the following contents:
          Code:
          Section "Files"
              ModulePath "/opt/xorg/lib/xorg/modules,/usr/lib/xorg/modules"
          EndSection
          
          Section "Device"
             Identifier "nouveau"
             Driver "nouveau"
             Option "DRI" "3"
          
             # Too unstable for me right now:
             #Option "AccelMethod" "glamor"
          EndSection
          and move /etc/X11/xorg.conf (if it exists) out of the way:
          Code:
          sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old
          Also create /opt/xorg and /opt/xorg-x86 directories, and change the owner to be your uid and gid. eg:
          Code:
          sudo mkdir -p /opt/xorg /opt/xorg-x86
          sudo chown $(id -u):$(id -g) /opt/xorg /opt/xorg-x86
          This is so we don't have to install as root, and we can be certain our make install commands aren't secretly installing files elsewhere.

          3. Build libdrm:
          (where $DEV_HOME and $NVD come from sourcing the ~/nv_fsw_stack/nouveau-env.sh script in step 1, so this is all done in the same xterm or virtual console)
          Code:
          # Libdrm:
          cd $DEV_HOME
          git clone git://anongit.freedesktop.org/mesa/drm
          cd drm
          ./autogen.sh --prefix=$NVD
          make
          make install
          4. Build xf86-video-nouveau:
          Code:
          cd $DEV_HOME
          git clone git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
          cd xf86-video-nouveau
          ./autogen.sh --prefix=$NVD
          make
          make install
          5. Finally, build Mesa:
          Code:
          cd $DEV_HOME
          git clone git://anongit.freedesktop.org/mesa/mesa
          cd mesa
          ./autogen.sh \
              --prefix=$NVD \
              --with-dri-drivers=nouveau \
              --with-egl-platforms=drm,x11 \
              --with-gallium-drivers=nouveau,swrast \
              --enable-dri \
              --enable-egl \
              --enable-gallium-osmesa \
              --enable-gbm \
              --enable-gles1 \
              --enable-gles2 \
              --enable-glx \
              --enable-glx-tls \
              --enable-nine \
              --enable-opencl \
              --enable-shared-glapi \
              --enable-texture-float \
              --enable-va \
              --enable-vdpau \
              --enable-xa \
              --enable-xvmc
          make -j9
          make install
          6. Now all that's left is to fire up a 32-bit chroot (I use schroot to manage this) and do the same steps. I suggest adding the line:
          Code:
          /opt            /opt            none    rw,bind        0       0
          to your /etc/schroot/default/fstab file so your 32-bit chroot sees your real /opt directory. That way, when "make install" finishes, you're done - no need to copy the /opt/xorg-x86 directory from your chroot to your system manually afterwards.

          You may want to run
          Code:
          find /opt/xorg-x86/lib -type f -exec ldd {} \; | grep 'not found'
          to make sure all shared libraries are still present when outside of your chroot, since you may need to install some multi-arch packages to get them working. eg.
          Code:
          libXvMC.so.1 => not found
          errors mean I have to
          Code:
          sudo apt-get install libxvmc1:i386
          Don't forget to change ownership of /opt/xorg and /opt/xorg-x86 back to root when we're done:
          Code:
          sudo chown -R root:root /opt/xorg /opt/xorg-x86
          and re-run ldconfig:
          Code:
          sudo ldconfig
          Hope this helps someone. The advantage of this approach is that the changes are pretty easy to roll back. I only reinstall once every few years, and I intend to keep it that way.
          Last edited by boltronics; 28 August 2015, 10:35 AM. Reason: Forgot to prefix some commands with "sudo" which do require it.

          Comment


          • #15
            Originally posted by boltronics View Post
            Here's my guide.

            ...

            Hope this helps someone. The advantage of this approach is that the changes are pretty easy to roll back. I only reinstall once every few years, and I intend to keep it that way.
            I'll try that... thanks!

            Comment

            Working...
            X