Re: [solved] DRI version conflict with kernel DRM version

"[email protected]" <[email protected]> Mon, 10 Nov 2008 22:17:03 -0700
Newsgroups gmane.comp.video.dri.user
Message-ID <[email protected]>
A further investigation reveals that ATI fglrx kernel model has the
version of 8.50.3. Removing it and loading the kernel drm module solves
the problem.


[email protected] wrote:
> Hey,
> 
> When I tried to find out the reason why my X becomes very slow after
> upgrading to X server-1.3, I found the following error messages and the
> code that generate them. The direct reason is an obvious hard coded
> version check. It seems that DRI radeon driver developers ignored the
> kernel DRM version.
> 
> System environment:
> 
> Linux 2.6.20-gentoo-r8
> X server xorg-server-1.3.0.0-r6
> 
> ERROR messages:
> 
> =============Xorg.log================
> ....
> (EE) RADEON(0): [dri] RADEONDRIGetVersion failed because of a version
> mismatch.
> [dri] radeon.o kernel module version is 8.50.3 but version 1.17.0 or
> newer is needed.
> [dri] Disabling DRI.
> ...
> =====================================
> 
> CODE generating the error:
> 
> ==============src/radeon_drv.c==========
> 
> Bool RADEONDRIGetVersion(ScrnInfoPtr pScrn)
> {
>     ....
>     /* Now check if we qualify */
>     if (info->ChipFamily >= CHIP_FAMILY_R300) {
>         req_minor = 17;
>         req_patch = 0;
>     } else if (info->IsIGP) {
>         req_minor = 10;
>         req_patch = 0;
>     } else { /* Many problems have been reported with 1.7 in the 2.4
> kernel */
>         req_minor = 8;
>         req_patch = 0;
>     }
> 
>     /* We don't, bummer ! */
>     if (info->pKernelDRMVersion->version_major != 1 ||
>         info->pKernelDRMVersion->version_minor < req_minor ||
>         (info->pKernelDRMVersion->version_minor == req_minor &&
>          info->pKernelDRMVersion->version_patchlevel < req_patch)) {
>         /* Incompatible drm version */
>         xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
>                    "[dri] RADEONDRIGetVersion failed because of a version "
>                    "mismatch.\n"
>                    "[dri] radeon.o kernel module version is %d.%d.%d "
>                    "but version 1.%d.%d or newer is needed.\n"
>                    "[dri] Disabling DRI.\n",
>                    info->pKernelDRMVersion->version_major,
>                    info->pKernelDRMVersion->version_minor,
>                    info->pKernelDRMVersion->version_patchlevel,
>                    req_minor,
>                    req_patch);
>         drmFreeVersion(info->pKernelDRMVersion);
>         info->pKernelDRMVersion = NULL;
>         return FALSE;
>     }
> }
> =======================================
> 
> Obviously, the developers expect a kernel DRM version of 1.a.b-c, where
> a >= 17 and (b <> 0 or c >=0). I have no idea how the DRI is versioned,
> but this is strange to me. In my case, the kernel module version is
> 8.50.3, which is not 1.a.b.-c. I don't know how kernel DRM version is
> numbered either, but it had worked for a couple of years until last week
> when I upgraded my X.
> 
> The direct result is that X uses a lot of CPU time when playing flash
> video, resulting unnecessary slow down of the system.
> 
> The code suggests that either the comparison check or the DRI version or
>  the kernel version of DRM should be changed to correctly enable DRI
> service.
> 
> Thanks.
> Lu
> 


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
--