Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 18:50:39 +0200
From:      Yamagi Burmeister <lists@yamagi.org>
To:        Boris Samorodov <bsam@ipt.ru>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: [new port] graphics/linux-dri74
Message-ID:  <20090519165039.GA12505@yamagi.org>
In-Reply-To: <20090515145252.GA69488@yamagi.org>
References:  <92596693@bb.ipt.ru> <20090510174445.GA75441@yamagi.org> <67576966@bb.ipt.ru> <20090515145252.GA69488@yamagi.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--u3/rZRmxL6MmkK24
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Okay, I investigated further. First I tried a FreeBSD/i386 version of
ioQuake3 on a FreeBSD/amd64 host. After some minor and unrelated
problems it worked.

After that I tried to debug the linux-dri74. Reading the source and
doing a lot test runs I realized, that there are in fact two problems.
Every ten starts or so the userland side of drm crashes:

  yamagi@saya:ttyp3 ~: /usr/compat/linux/usr/bin/glxinfo
  name of display: :0.0
  libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0)
  libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so
  libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so
  drmOpenDevice: node name is /dev/dri/card0
  drmOpenDevice: open result is 4, (OK)
  DRM_IOCTL_VERSION: Bad address
  Segmentation fault (core dumped)

The other times the userland side of drm is able to open the drm-device
bit is unable to initalize it. The error message is somewhat
missleading:

  yamagi@saya:ttyp3 ~: /usr/compat/linux/usr/bin/glxinfo
  name of display: :0.0
  libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0)
  libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so
  libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so
  drmOpenDevice: node name is /dev/dri/card0
  drmOpenDevice: open result is 4, (OK)
  drmOpenByBusid: Searching for BusID pci:0000:01:00.0
  drmOpenDevice: node name is /dev/dri/card0
  drmOpenDevice: open result is 4, (OK)
  drmOpenByBusid: drmOpenMinor returns 4
  drmOpenByBusid: drmGetBusid reports (null)
  drmOpenDevice: node name is /dev/dri/card1
  drmOpenByBusid: drmOpenMinor returns -1
  drmOpenDevice: node name is /dev/dri/card2
  drmOpenByBusid: drmOpenMinor returns -1
  drmOpenDevice: node name is /dev/dri/card3
  drmOpenByBusid: drmOpenMinor returns -1
  drmOpenDevice: node name is /dev/dri/card4
  drmOpenByBusid: drmOpenMinor returns -1
   [..]
  drmOpenDevice: node name is /dev/dri/card14
  drmOpenByBusid: drmOpenMinor returns -1
  libGL error: drmOpenOnce failed (Operation not permitted)
  libGL error: reverting to software direct rendering
  libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
  libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
  display: :0  screen: 0
  direct rendering: Yes

So I added debug printf() into the code. I stepped through it. After
some hours of intesive debugging im 99% sure, that both of the above
failures of linux-drm74 are originating at the kernel side. It's most
likely NOT a problem of the userland side and therefor not a problem=20
of the port.

I'll investigate further at the kernel side, but that'll need some time.
So, while it's the fault linux-drm74, what about a little warning
message in the install message of the port? Just to be sure, that other
users experiencing the same problem know, that it is not a bug of
linux-dr74.

Ciao,
Yamagi

--=20
Homepage:     www.yamagi.org
Jabber:       yamagi@yamagi.org
GnuPG/GPG:    0xEFBCCBCB

--u3/rZRmxL6MmkK24
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)

iEYEARECAAYFAkoS414ACgkQWTjlg++8y8stggCg4hhyiBoKrKzRaCawiH8s74Ux
pSIAoMC4vrCd5CxzndlppcntkUs6IMX8
=pi99
-----END PGP SIGNATURE-----

--u3/rZRmxL6MmkK24--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090519165039.GA12505>