DRI3 Support Finally Added To AMD's Radeon X.Org Driver

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • haagch
    Senior Member
    • Sep 2014
    • 961

    #21
    Originally posted by geearf View Post
    It is not the correct Option, look at man radeon

    Code:
    Option "DRI3" "on"
    DAMN. That's what intel calls it. But of course radeon needs to do it DIFFERENTLY. Because why even try to do the same thing in the same way? That would only confuse the users!

    Originally posted by pejakm
    Code:
    /usr/include/xorg/os.h:541:1: error: expected identifier or '(' before '__extension__'
     strndup(const char *str, size_t n);
     ^
    Yea, there's a problem there.

    Googling gives this result: https://aur.archlinux.org/packages/x...m-width-patch/ where the solution was to include "#include <xorg-server.h>" in some source files and the second result is a mailing list discussion about it: http://lists.x.org/archives/xorg-dev...ly/043067.html

    > Currently os.h cannot be included safely (without it creating duplicate
    > prototypes for system functions) without first including one of:
    > dix-config.h
    > xorg-server.h
    > xorg-config.h
    So some test code is probably broken.

    Comment

    • geearf
      Senior Member
      • Dec 2011
      • 2145

      #22
      Oh thanks for these links, I realized that's why I have issues.

      Comment

      • geearf
        Senior Member
        • Dec 2011
        • 2145

        #23
        Originally posted by geearf View Post
        Oh thanks for these links, I realized that's why I have issues.
        That worked.
        in configure, replace
        Code:
        for ac_header in misyncshm.h
        do :
          ac_fn_c_check_header_compile "$LINENO" "misyncshm.h" "ac_cv_header_misyncshm_h" "#include <X11/Xdefs.h>
                          #include <X11/Xfuncproto.h>
                          #include \"screenint.h\"
                          #include \"xorg-server.h\"
        "
        by
        Code:
        for ac_header in misyncshm.h
        do :
          ac_fn_c_check_header_compile "$LINENO" "misyncshm.h" "ac_cv_header_misyncshm_h" "#include <X11/Xdefs.h>
                          #include \"xorg-server.h\"
                          #include <X11/Xfuncproto.h>
                          #include \"screenint.h\"
        "
        (It's just re-ordering the xorg-server.h include)

        Comment

        • geearf
          Senior Member
          • Dec 2011
          • 2145

          #24
          Well it wasn't stable and crashed my computer so I went back to my previous ddx.

          Comment

          • Adriannho
            Phoronix Member
            • Mar 2014
            • 118

            #25
            Originally posted by pejakm
            I get this error:

            Code:
            [ 30290.197] (II) RADEON(0): SYNC extension fences disabled because misyncshm.h not available at build time
            [ 30290.197] (WW) RADEON(0): DRI3 disabled
            'misyncshm.h' is present on my system. Any thoughts? (Arch Linux, xorg-server 1.17.1)
            Where did you get your DDX driver from?

            Comment

            • Scias
              Phoronix Member
              • Oct 2007
              • 106

              #26
              Seems to be working here on Arch just using xf86-video-ati from AUR

              Code:
              [scias@antergos ~]$ journalctl -b _COMM=gdm-x-session | grep -i dri3
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) LoadModule: "dri3"
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) Module "dri3" already built-in
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (**) RADEON(0): Option "DRI3" "on"
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (**) RADEON(0): DRI3 enabled
              [scias@antergos ~]$ journalctl -b _COMM=gdm-x-session | grep -i present
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) RADEON(0): Present extension enabled
              But somehow DRI2 still seems to be enabled and the only thing used by glamor :

              Code:
              [scias@antergos ~]$ journalctl -b _COMM=gdm-x-session | grep -i dri2
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) Loading sub module "dri2"
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) LoadModule: "dri2"
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) Module "dri2" already built-in
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) glamor: EGL version 1.4 (DRI2):
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) RADEON(0): [DRI2] Setup complete
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) RADEON(0): [DRI2]   DRI driver: r600
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) RADEON(0): [DRI2]   VDPAU driver: r600
              mars 18 10:32:52 antergos /usr/lib/gdm/gdm-x-session[548]: (II) GLX: Initialized DRI2 GL provider for screen 0
              I don't know if DRI2 and DRI3 are meant to be used together and why glamor defaults to it. Maybe xorg-server-git is needed too ?

              There's noticeable differences however. For example gnome-shell animations look quite smoother (especially the application pager).
              Last edited by Scias; 18 March 2015, 06:48 AM.

              Comment

              • mannerov
                Senior Member
                • Dec 2012
                • 439

                #27
                Originally posted by Scias View Post
                I don't know if DRI2 and DRI3 are meant to be used together and why glamor defaults to it. Maybe xorg-server-git is needed too ?

                There's noticeable differences however. For example gnome-shell animations look quite smoother (especially the application pager).
                Actually glamor doesn't use DRI2 or DRI3, which are communication protocols between an X client and the Xserver to get acceleration.
                Glamor is the layer above and enables DRI2 and DRI3. It uses DRM directly.

                However most messages and in particular Mesa info strings will display DRI2, because historical reasons (even under Wayland, you'll get these).

                Btw Clients can use either DRI2 or DRI3 if both are available. Support for one doesn't remove support for the other (and for now vdpau is DRI2 only)

                Comment

                • Scias
                  Phoronix Member
                  • Oct 2007
                  • 106

                  #28
                  Originally posted by mannerov View Post
                  Actually glamor doesn't use DRI2 or DRI3, which are communication protocols between an X client and the Xserver to get acceleration.
                  Glamor is the layer above and enables DRI2 and DRI3. It uses DRM directly.

                  However most messages and in particular Mesa info strings will display DRI2, because historical reasons (even under Wayland, you'll get these).

                  Btw Clients can use either DRI2 or DRI3 if both are available. Support for one doesn't remove support for the other (and for now vdpau is DRI2 only)
                  Thanks for clearing that up.

                  Comment

                  • lorenzoz
                    Phoronix Member
                    • Jul 2014
                    • 75

                    #29
                    I'm experiencing crashes with iceweasel (aka firefox) with dri3 enabled on radeonsi. Do you?

                    BTW no warnings in dmesg or /usr/var/log/Xorg.0.log.

                    Any hints to catch these crashes?
                    Last edited by lorenzoz; 18 March 2015, 08:33 AM.

                    Comment

                    • Scias
                      Phoronix Member
                      • Oct 2007
                      • 106

                      #30
                      Originally posted by lorenzoz View Post
                      I'm experiencing crashes with iceweasel (aka firefox) with dri3 enabled on radeonsi. Do you?

                      BTW no warnings in dmesg or /usr/var/log/Xorg.0.log.

                      Any hints to catch these crashes?
                      Here chromium crashes the X server with DRI3 enabled and EXA acceleration. Switching to glamor fixes the issue for me. (However I'm not on radeonsi)

                      But unless you explicitely specify EXA in xorg.conf glamor should be used by default on radeonsi.

                      PS : Arch wiki also recommends glamor in case of browser crashes

                      Comment

                      Working...
                      X