All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Kleiner <mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Dave Airlie <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
	<nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	Emil Velikov
	<emil.l.velikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Ben Skeggs <bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH] Add Option "DRI3" to allow to disable DRI3 under EXA.
Date: Sun, 26 Jul 2015 10:12:57 +0200	[thread overview]
Message-ID: <55B49689.1030808@gmail.com> (raw)
In-Reply-To: <CAPM=9twESbxOf+r4cy=-B+FNpKQwm8dvgbA9b-6XNbo275KLKw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On 07/22/2015 06:39 AM, Dave Airlie wrote:
> On 19 July 2015 at 18:34, Mario Kleiner <mario.kleiner.de@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
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

  parent reply	other threads:[~2015-07-26  8:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-30  3:30 [PATCH] Add Option "DRI3" to allow to disable DRI3 under EXA Mario Kleiner
     [not found] ` <1435635043-3738-1-git-send-email-mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-30  7:00   ` Martin Peres
2015-07-04 17:17   ` Ilia Mirkin
     [not found]     ` <CAKb7UvhOcQ1-y2q3_8RZzvLewhsZ3A1OHC=vo3uBSwX3XTR0Eg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-04 18:23       ` Emil Velikov
     [not found]         ` <CACvgo53NaCJ6r+1LdJEG78Zyi+SBfMu2y1Mkm2HCKUo7Co5zQw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-04 18:28           ` Ilia Mirkin
     [not found]             ` <CAKb7Uvj-7AeG8EQ58cZZhF1O7HU=E_VkKO8wi7LpitoNBmCjGg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-04 19:03               ` Emil Velikov
     [not found]                 ` <CACvgo50R5kPGVAwDYTUSCkY-Cfh=HENFDT8OdT=nNKLG85=S9Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-07 19:51                   ` Ilia Mirkin
     [not found]                     ` <CAKb7UvhuYJxLk1zPQbdTgG_HQcbo0Zt_TnpHf7gD2apk+RYCdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-14  3:43                       ` Mario Kleiner
     [not found]                         ` <55A48575.5060100-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-07-14 15:26                           ` Ilia Mirkin
     [not found]                             ` <CAKb7Uvi7pCT-rkFxfpsmw-P0UhF86ZrEdtmJDc3kU+REz7oZ3Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-14 19:00                               ` Mario Kleiner
     [not found]                                 ` <55A55C40.4000207-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-07-14 19:12                                   ` Ilia Mirkin
2015-07-18 11:09                                   ` Dave Airlie
     [not found]                                     ` <CAPM=9ty34G39nceFnarvs0qOoJiyqjcsgXD0FdB4Ye_O1D+EhQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-19  8:34                                       ` Mario Kleiner
     [not found]                                         ` <55AB6116.4000004-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-07-22  4:39                                           ` Dave Airlie
     [not found]                                             ` <CAPM=9twESbxOf+r4cy=-B+FNpKQwm8dvgbA9b-6XNbo275KLKw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-26  8:12                                               ` Mario Kleiner [this message]
2015-07-26 13:11                                       ` Pekka Paalanen
2015-07-24 15:40                           ` Ilia Mirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55B49689.1030808@gmail.com \
    --to=mario.kleiner.de-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=emil.l.velikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.