If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Nvidia didn't do shit to enable hybrid graphics. They patiently waited for the linaro guys to create dma-buf, then for the X guys to do the X API changes and RANDR imrpovements, then they waltzed in with some comments (when all was done) and made a wrapper around GPL exported symbols. That's history as I remember it...

Meh, I've always hated hybrid graphics even in windows. My brother has an HP laptop running windows 7 with hybrid AMD/intel graphics and its a horrible buggy mess. whenever looking for linux hardware I always make sure to totally stay away from any hybrid graphics.

To be fair, bwat, AMD's implementation of Hybridness is VERY different than Nvidia. Optimus tends to be relatively bug free and very clean on windows 7 at least in my experience with laptops sporting Nvidia+Intel.

On a separate note, because I know what that someone else would mention it eventually...

Canonical has to implement Hybrid graphics on their own, in server. Wayland also is currently without Hybrid support but for them its actually better-- remember Wayland just wants buffers filled with pixels. It doesnt care how those pixels got there. Daniel Stone said "Optimus? Thats a client problem." at his linux.conf.au presentation, most likely meaning hybrid support will come down to the Mesa devs leveraging DMA-BUF (everything has to be done in the driver, the kernel, or the GL stack. Wayland just wants buffers.)

Of interesting note is the actual implementation. On Windows when the hybrid kicks in, things flicker or stutter for a half second whenever you change GPU's and then youre good until you change GPU's again. On OS X interestingly, no stuttering or flickering or even pausing. It was either Daniel or David that said they most likely did all of their hybrid stuff inside their GL layer.

On Wayland, with compositing being mandatory and with the use of double/triple buffers..I wonder if Wayland will get to the same level of tear-free flicker-free switching. Either solution (Flicker or no flickering) is fine, really, it just looks nicer if we can achieve zero-flicker.

Nvidia didn't do shit to enable hybrid graphics. They patiently waited for the linaro guys to create dma-buf, then for the X guys to do the X API changes and RANDR imrpovements, then they waltzed in with some comments (when all was done) and made a wrapper around GPL exported symbols. That's history as I remember it...

Your timeline is accurate, but Nvidia has been quite involved on the mailing lists. Aaron Plattner has been providing lots of advice and code reviews on how to accommodate binary drivers.

There are many different groups putting work into hybrid graphics. Now it's Canonical's turn. If all goes to plan, Lankhorst's fencing work provide the necessary X infrastructure for tear-free Nvidia blob use of RandR 1.4 in Ubuntu 13.10.

Once fencing is out of the way, people will move onto multi-monitor situations and power management. Everything is babysteps.

Of interesting note is the actual implementation. On Windows when the hybrid kicks in, things flicker or stutter for a half second whenever you change GPU's and then youre good until you change GPU's again. On OS X interestingly, no stuttering or flickering or even pausing. It was either Daniel or David that said they most likely did all of their hybrid stuff inside their GL layer.

We've got an NVIDIA Optimus laptop at work and it doesn't flicker or stutter when Optimus kicks in.

We've got an NVIDIA Optimus laptop at work and it doesn't flicker or stutter when Optimus kicks in.

Really? Then maybe Nvidia/MS worked it out. Both of my parents have Optimus in their laptops and when I was still at home before the semester started I know theirs flickered sometimes when I was using it and starting up something GPU hungry. If so, good for them then, it was always really annoying to me haha.