[Nouveau] [PATCH] Add Option "DRI3" to allow to disable DRI3 under EXA.

Mario Kleiner mario.kleiner.de at gmail.com
Sun Jul 19 01:34:30 PDT 2015


On 07/18/2015 01:09 PM, Dave Airlie wrote:
>>>>
>>>> We can disable it by default on exa - intel and amd/radeon drivers also
>>>> disable by default. However, on gpus >= maxwell only glamor accel is
>>>> supported and glamor on nouveau is either dri3/present or no hw accel at
>>>> all
>>>> afaics.
>>>
>>>
>>> You probably saw my patches to just remove glamor from nouveau :) That
>>> integration doesn't support DRI2, which in turn means no core contexts
>>> (due to lack of GLX_ARB_create_context_profile), and a slew of other
>>> issues. Seemed easier to just tell people to go use modesetting, which
>>> gets all of these things right(er).
>>>
>>
>> Hm, a total removal would at least make me and my users rather unhappy atm.,
>> as without glamor no hw accel at all on >= maxwell. modesetting and nouveau
>> are not on par feature-wise atm. E.g., modesetting as of the next xorg 1.18
>> server only provides pageflipping via dri3/present and without pageflipping
>> it is game over for many of my use cases on nouveau-kms. Also modesetting
>> currently completely lacks ZaphodHeads support. Without ZaphodHeads i can't
>> have a page-flipped fullscreen window on one subset of outputs and a regular
>> desktop on another subset, something that is needed for
>> neuroscience/medical/vr applications.
>
> So what would you want in modesetting to be on par?
>
> DRI2 pageflipping?

Probably not needed? I debugged and tested the DRI3/Present page 
flipping with modesetting a few months ago. Haven't retested the most 
recent version of the patches in x-server master, but at that time they 
seemed to work pretty ok. I'll give this some more testing soon. I also 
ran it as my desktop for 2-3 days, afair without serious issues, but 
that wasn't the kind of obsessive stress testing i do for the OpenGL 
fullscreen pageflipping stuff.

I do remember dpms activity was a crasher last time i tested. Maybe 
resolved now?

> zaphod heads?
>

Mostly Zaphodheads would be the really important one for me. Lack of it 
= show stopper for many of my users applications. Users often want to 
split their gpu into at least 2 x-screens: One for the "operator" to 
control experimental work sessions via a regular desktop GUI, the other 
for one unredirected kms-pageflipped fullscreen window on one or 
multiple attached Zaphodheads outputs for the actual presentation on the 
2nd x-screen, e.g., single display, or dual display for stereoscopic 
stuff - stereo goggles and such, or > 2 displays for more advanced VR 
stuff. The page flipping is important in my case because precise timing 
and precise timestamping is important which we only get with page flips, 
also to get out pixels as bit-exact as possible without interference 
from compositors, e.g. texture mapping artifacts etc. On DRI3/Present, 
page flips are also the only way atm. to get tear-free Presents, the way 
it is implemented.

More regular users seem to like to have a separate x-screen for TV sets 
and use ZaphodHeads for that.

The current nouveau or radeon implementation would be a good reference 
for one that seems to work well with multiple ZaphodHeads per x-screen + 
1 extra patch of mine against nouveau floating on nouveau-devel "[PATCH] 
Take shift in crtc positions for ZaphodHeads configs into account." That 
patch is needed for nouveau-ddx, or any generic driver that deals with 
nouveau-kms. Afaics the other kms drivers return a 
kencoder->possible_crtcs mask which allows any crtc to go with any 
encoder, but nouveau-kms gets that info from the VBIOS DCB and sometimes 
the mask is a bit more special and needs the extra treatment from that 
patch, or bad things will happen, e.g., on some nv-50 cards.

> anything else? I would like for F23 to ship a modesetting which I can
> replace intel/nouveau/ati with.

Not at the moment. I'll think about it some more and give the current 
modesetting driver a bit more testing to see if something shows up.

thanks,
-mario

>
> Dave.
>


More information about the Nouveau mailing list