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>