2

My target is about playing Team Fortress 2 on Kali Linux (a Debian Wheezy stable distribution with customized Debian Sid kernel) since a long time now, but couldn't because of the following graphical glitches:

  • Bad dark textures
  • Very low FPS
  • Low brightness
  • Green texture on training video
  • Ugly grain effect on textures

The solution after a lot of research was to compile a newer version of Mesa over 8.0.5. I used the "official" guide made by the Debian's Mesa maintainer:

https://lists.debian.org/debian-x/2013/03/msg00014.html

But I'm now stuck at the ./configure process, because it says that libdrm_nouveau should be at least 2.4.33 while dpkg reports me that the version is 2.4.40. So the question is:

Did anyone managed to overcome this version problem, then complete the full building or installation process ?

I have the same problem than: stackoverflow.com/questions/20827233/installing-mesa-10-on-debian, but since I use Mesa 9.0.3, I meet that problem instead of the libdrm-intel's one.

Here's my computer:

  • Core I5 with HD 3000 and GT 540M
  • Kali Linux 1.0.9 updated
  • Kernel 3.14 i686-pae with nvidia 331.67 kernel modules
  • bumblebee-nvidia installed through wheezy-backports repository

My steps:

./configure

And the make bug report:

checking for NOUVEAU... no
configure: error: Package requirements (libdrm_nouveau >= 2.4.33) were not met:

Requested 'libdrm_nouveau >= 2.4.33' but version of libdrm_nouveau is 0.6

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables NOUVEAU_CFLAGS
and NOUVEAU_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Here's the result of "dpkg -l | grep libdrm:

ii  libdrm-dev                              2.4.40-1~deb7u2                    i386         Userspace interface to kernel DRM services -- development files
ii  libdrm-intel1:i386                      2.4.40-1~deb7u2                    i386         Userspace interface to intel-specific kernel DRM services -- runtime
ii  libdrm-nouveau1a:i386                   2.4.40-1~deb7u2                    i386         Userspace interface to nouveau-specific kernel DRM services -- runtime
ii  libdrm-radeon1:i386                     2.4.40-1~deb7u2                    i386         Userspace interface to radeon-specific kernel DRM services -- runtime
ii  libdrm2:i386                            2.4.40-1~deb7u2                    i386         Userspace interface to kernel DRM services -- runtime

Even if I use Kali Linux, every packages I'm working are exactly the same in Debian 7.6 (Versions checked with a VM).

I also managed to compile Mesa 10.0.5 and finished the tutorial. Instead of using the paths used in this latter for the exports,I used mine's that point correctly to the libraries. But I'm still hitting on problems.

My steps were:

# autoreconf -vfi
# ./configure --prefix=/usr --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-glx-tls --with-dri-driverdir=/usr/lib/dri --with-egl-platforms='drm x11' --with-dri-drivers=i965
# make
# checkinstall

Furtherore, I didn't installed mesa-common-dev since it conflicts with the newly installed Mesa. I also didn't made 'mv lib/gallium/* lib/' as suggested since my GPU is an Intel one. While doing the checkings, I faced this in comparison, so it looks like it didn't worked:

# export LIBGL_DRIVERS_PATH=/usr/lib/dri
libGL: OpenDriver: trying /usr/lib/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/dri/i965_dri.so
libGL error: unable to load driver: i965_dri.so
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
# export LD_LIBRARY_PATH=/usr/lib
libglapi.so.0 => /home/user/Data/Mesa-10.0.5/src/mapi/shared-glapi/.libs/libglapi.so.0 (0xb772c000)
# export EGL_DRIVERS_PATH=/usr/lib
# EGL_LOG_LEVEL=debug es2_info 2>&1 >/dev/null | grep '\.so'
#

The last test returned nothing, making it even weird. Even if I perfectly followed the guide, it's still not working, is there something implicitly said that I didn't noticed ?

Braiam
  • 35,991
X.LINK
  • 1,314
  • This libdrm_nouveau thing belongs to the libdrm source package. Looking at the build dependencies, it should be possible to backport it. – Faheem Mitha Oct 18 '14 at 01:15
  • How do you look a the build dependencies ? I'm not accustomed to backporting. If you mean with dpkg, it's says me that it's version 2.4.40-1. – X.LINK Oct 18 '14 at 01:22
  • apt-cache showsrc libdrm-nouveau2. The Build-Depends line. – Faheem Mitha Oct 18 '14 at 01:25
  • It says unable to locate package libdrm-nouveau2, with Synaptic I found libdrm-nouveau1a – X.LINK Oct 18 '14 at 01:27
  • The libdrm-nouveau2 is from Debian jessie. My answer may not be directly applicable, because I see you are not actually using Debian. Can you post the output of dpkg -l | grep libdrm into your question? – Faheem Mitha Oct 18 '14 at 01:30
  • I updated the question with the output. – X.LINK Oct 18 '14 at 01:46
  • I found out that this problem is a "bug" (scroll to the last post): http://crunchbang.org/forums/viewtopic.php?id=26784 Is it harmful if I modify the libdrm_nouveau.pc from 0.6 to 2.4.40 ? – X.LINK Oct 18 '14 at 02:01
  • I'm not sure what the correct fix is (http://us.generation-nt.com/bug-668684-libdrm-nouveau1a-claims-be-2-4-33-but-seems-really-be-0-6-help-207110522.html is not coming up here), but clearly you need to use a newer version. – Faheem Mitha Oct 18 '14 at 02:32
  • Ok, I'll go up compiling libdrm from:http://dri.freedesktop.org/libdrm/libdrm-2.4.58.tar.gz

    Is there anything I should consider before naively follow the instructions on the README file ? It just say ./configure -> make -> make install (I wil use checkinstall). Oh, do I need to delete the old libdrm packages ?

    – X.LINK Oct 18 '14 at 02:42
  • I managed to finish the tutorial but met problems again. I've updated my post up there. – X.LINK Oct 18 '14 at 06:12
  • No, doing a local install is generally a bad idea. Install a binary instead, or recompile on the system. Or figure out how to fix what your system is reporting. I'm unclear what the problem is, but I gather that your system thinks it is not the right version of drm when it is? – Faheem Mitha Oct 18 '14 at 07:46
  • While compiling Mesa 10.0.5, it didn't said anything about libdrm_nouveau since I recompiled libdrm-2.4.58 from source: http://dri.freedesktop.org/libdrm/ So it seems everything went good as planned about the version. I also found more weirdness with glxgears after installing Mesa 10.0.5, I pasted the output up there.

    I do agree that installing a deb is better. But the problem is I have no choice since It means fetching it from Jessie. In consequence a lot of installed dependencies from there must be done and means breakages and a lot more unstability. How do you recompile on the system ?

    – X.LINK Oct 18 '14 at 14:58
  • If you want help rebuilding libdrm on your system, create another question. If there are problems with yourinstalled version, does your OS not supply a fixed version? Regardless, rebuilding a version from jessie or wheezy will probably work. Check and see which Debian release best corresponds to your system. From your post, it sounds like it would be wheezy, which has libdrm version number 2.4.40. I assume that would fix your problem? – Faheem Mitha Oct 18 '14 at 15:36
  • The problem now is no more libdrm since I recompiled it, but Mesa 10.0.5 itself. Kali Linux is just Debian Wheezy stable plus patches around the kernel level. – X.LINK Oct 18 '14 at 15:44
  • Using locally compiled software in your system in my experience significantly increases the probability of problems. If you have a local install of libdrm, I suggest you replace that with a proper system installation. The new problem you are seeing could be related to that install. – Faheem Mitha Oct 18 '14 at 16:23
  • What do you mean by fixed version ? Kali is shipped with libdrm 2.4.40 (and also libdrm-nouveau1, libdrm-intel1 and libdrm-radeon1), taken directly from debian repositories. I may have understand now, so how do I perform a proper system rebuilding of libdrm for Wheezy ? – X.LINK Oct 18 '14 at 18:23
  • My understanding from the information contained in your question is that the version of libdrm-nouveau is 2.4.40, but configure is seeing 0.6.You then installed a locally compiled version. If any of this is incorrect, please say so. Well, as I said, installing a locally compiled version is not a good way to address the problem. You should replace it with a fixed binary. Having said that, you appear to have exactly the same version on your system as I do on Debian wheezy. Some things to note: (1) avoid installing locally compiled packages into your system as far as possible. – Faheem Mitha Oct 18 '14 at 19:25
  • No good will come of it. Occasionally installing stuff locally that nothing in your system depends on is Ok, but that is not the case here. (2) If you want an upgrade version of mesa, make a backport, not a local compilation. This has an overwhelmingly higher chance of building and working correctly. (3) you might want to consider just using regular Debian instead of a derivative. If you want to tweak the kernel, you can do so in Debian too. For right now I suggest the following: remove all locally compiled packages from your system as far as possible. – Faheem Mitha Oct 18 '14 at 19:28
  • (2) try backporting mesa, if you really want to. But I suggest you write another question about that. This one is really a mess. You can reference this question for background. I'm not sure what is with the 0.6 thing, but I suggest shelving that for the moment and trying to build a mesa backport. – Faheem Mitha Oct 18 '14 at 19:29
  • Having had a word with @Braiam in chat, a clarification. Apparently the 0.6 problem was not with libdrm-nouveau, but with Mesa, and was fixed in 9.1.3, according to @Braiam. I haven't checked that. Anyway, remove local installs, and backport Mesa 10 from testing/unstable. If you want help, post another question. – Faheem Mitha Oct 18 '14 at 20:10
  • Thank you for the details, I'll made a new question for backporting Mesa 10. – X.LINK Oct 18 '14 at 23:56

0 Answers0