On Wed, 27 Aug 2014 09:41:52 -0300 Lucas De Marchi <[email protected]>
said:

> On Wed, Aug 27, 2014 at 6:32 AM, Tom Hacohen <[email protected]> wrote:
> > We use @fix, not @bug. :)
> >
> > --
> > Tom.
> >
> > On 27/08/14 10:27, Carsten Haitzler wrote:
> >> raster pushed a commit to branch efl-1.11.
> >>
> >> http://git.enlightenment.org/core/efl.git/commit/?id=26783f45dd419873f4dc2a9ab3a1e4b421f2c4ca
> >>
> >> commit 26783f45dd419873f4dc2a9ab3a1e4b421f2c4ca
> >> Author: Carsten Haitzler (Rasterman) <[email protected]>
> >> Date:   Wed Aug 27 18:26:58 2014 +0900
> >>
> >>      ecore vsync - work around old kernels by blacklisting them
> >>
> >>      this is a bug workaround apparently old kernels that seems to get
> >>      vsync and timestamps wrong. 3.14 kernels and up only for now
> >>
> >>      @bug
> >> ---
> >>   src/lib/ecore_x/xlib/ecore_x_vsync.c | 21 +++++++++++++++++++++
> >>   1 file changed, 21 insertions(+)
> >>
> >> diff --git a/src/lib/ecore_x/xlib/ecore_x_vsync.c
> >> b/src/lib/ecore_x/xlib/ecore_x_vsync.c index ec41d0d..1924dfc 100644
> >> --- a/src/lib/ecore_x/xlib/ecore_x_vsync.c
> >> +++ b/src/lib/ecore_x/xlib/ecore_x_vsync.c
> >> @@ -345,6 +345,27 @@ _drm_init(void)
> >>    */
> >>           return 0;
> >>        }
> >> +   // only do this on new kernels = let's say 3.14 and up. 3.16 definitely
> >> +   // works
> >> +     {
> >> +        Eina_Bool ok = EINA_FALSE;
> >> +
> >> +        FILE *fp = fopen("/proc/sys/kernel/osrelease", "r");
> >> +        if (fp)
> >> +          {
> >> +             if (fgets(buf, sizeof(buf), fp))
> >> +               {
> >> +                  int vmaj = 0, vmin = 0;
> >> +
> >> +                  if (sscanf(buf, "%i.%i.%*s", &vmaj, &vmin) == 2)
> >> +                    {
> >> +                       if ((vmaj >= 3) && (vmin >= 14)) ok = EINA_TRUE;
> >> +                    }
> >> +               }
> >> +             fclose(fp);
> >> +          }
> >> +        if (!ok) return 0;
> 
> So if a 3.11 kernel has been patch to do the right thing, you still
> return 0.  Parsing the kernel version is in general a bad thing to do.

correct. as i have no idea what kernels are ok, but apparently 3.2 on debian is
bad. you just dont get nice vsynced anims - youget the timer based ones. it'
not a bad thing... and there is otherwise no way to know if the drivers are
"ok" other than guessing by version - same for vbox module - if it's been fixed
- we don't know... so still blacklisted until such a time as we know and can
detect for sure.


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to