oga@ asked me to do further testing on i845 and get a bug report
filed with the intel folks.

The in-tree intel-2.4.3 driver *can* somewhat work on i845 without
a xorg.conf, but it's buggy (background drawing problems) when it
works, and whether or not it even works is intermittent.

Before writing a bug report on the old driver we have in the tree,
I tried out oga@'s 2.6.1 as well as 2.7.0 and 2.7.1. And yes, like
an idiot, I even tried out the newest 2.7.99.1 because I missed the
important bit of documentation stating you need a 1.6+ xserver to 
even use it.

The intel-2.7.1 driver corrects most all the problems on i845 but
this version (and the previous 2.7.0) requires particular features
in the (linux) kernel, namely support for drmSetMaster() and 
drmDropMaster() according to a few posts I found.

It seems our drm implementation is lacking these new features, but
the intel-2.7.1 driver works fine with a bit of patching to get 
around them.

I used the following:
http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.7.1.tar.gz

Along with the Makefile.bsd-wrapper from oga@'s 2.6.1 driver.

And commented out the drmSetMaster and drmDropMaster stuff (patch 
below).

Starting, stopping, restarting, virtual terminals, and most everything
is working with the new intel-2.7.1 driver.

The existing caveat of the intel driver (all versions) being greedy
about resources (either with an xorg.conf, and especially without),
is still problematic. With older drivers, you could back off the from
the max supported resolution/refresh, and video would play fine via
mplayer. With the new intel-2.7.1 driver, I still haven't been able
to make the driver play nice, so I get "BadAlloc (insufficient
resources for operation)" errors from mplayer, even when forcing a 
lower res/refresh via xorg.conf. With luck, I'll figure out the needed
configuration magic to get mplayer working again, but it's really just
a resource management issue (i.e. the hardware won't support video at
it's highest possible res/refresh).

If I can't figure out a way around the video issue, I'll file a bug with
the intel/freedesktop folks, but for the moment, the new intel-2.7.1 is
working far better than intel-2.4.3 we have in the current xeno tree.

kind regards,
jcr



--- ./xf86-video-intel-2.7.1/src/i830_driver.c  Tue May 12 17:12:11 2009
+++ /usr/xenocara/driver/xf86-video-intel/src/i830_driver.c     Sun May 17 
12:37:05 2009
@@ -3466,13 +3466,14 @@
 
    if (pI830->AccelInfoRec)
       pI830->AccelInfoRec->NeedToSync = FALSE;
-
+/*
 #ifdef XF86DRI
    ret = drmDropMaster(pI830->drmSubFD);
    if (ret)
       xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
                 "drmDropMaster failed: %s\n", strerror(ret));
 #endif
+*/
 }
 
 /*
@@ -3487,14 +3488,14 @@
    int i, ret;
 
    DPRINTF(PFX, "Enter VT\n");
-
+/*
 #ifdef XF86DRI
    ret = drmSetMaster(pI830->drmSubFD);
    if (ret)
       xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
                 "drmDropMaster failed: %s\n", strerror(ret));
 #endif
-
+*/
    /*
     * Only save state once per server generation since that's what most
     * drivers do.  Could change this to save state at each VT enter.

Reply via email to