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

Dave Airlie airlied at gmail.com
Tue Jul 21 21:39:16 PDT 2015


On 19 July 2015 at 18:34, Mario Kleiner <mario.kleiner.de at gmail.com> wrote:
> 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.

Hi Mario,

just to follow up, I posted a patch to xorg-devel to add Zaphod support
to modesetting, it at least starts here!

Can you take a look at it and let me know what else it might need doing,
since I see you've been active in the other drivers.

Dave.


More information about the Nouveau mailing list