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

Mario Kleiner mario.kleiner.de at gmail.com
Sun Jul 26 01:12:57 PDT 2015


On 07/22/2015 06:39 AM, Dave Airlie wrote:
> 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.
>

Very cool, thanks for doing this Dave! I will try to review and test it 
early next week.

-mario


More information about the Nouveau mailing list