Announcement

Collapse
No announcement yet.

The Open-Source ATI R500 Driver

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by d2kx View Post
    Michael, can you please show me a link where we can see changes between the git commits in text form? I know projects where it says for example "fixed a bug where it could crash blabla" and then there's the code of the changes (in which I'm not interested in). Does the avivo driver project has something like that? I really am interested in the work they do from now on.
    You're looking for gitweb: http://gitweb.freedesktop.org/?p=avi....git;a=summary
    Michael Larabel
    https://www.michaellarabel.com/

    Comment


    • #12
      Originally posted by Michael View Post
      Do you have xorg-x11-server-sdk installed?
      Hi Michael,

      I've had success in getting through all of these lines: -
      yum install git libpciaccess-devel xorg-x11-server-sdk
      git clone git://anongit.freedesktop.org/git/avivo/xf86-video-avivo
      cd xf86-video-avivo/
      ./autogen.sh --prefix=/usr/
      make
      su
      make install
      <edit /etc/X11/xorg.conf so the driver changes from vesa or fglrx to avivo>

      Now i think my problem is that my X1700 is not supported; when i do a lspci this is what comes back with my card M66-P [Mobility Radeon X1700]. I can't find anywhere saying that my card is supported.

      Below is the error i get in the Xorg.0.log

      (II) Avivo: driver for Radeon r5xx chipsets: RV515 (Radeon X1300),
      RV530 (Radeon X1600), RV530 (Radeon X1600), R580 (Radeon X1900 GT),
      RV530 (Radeon X1650 Pro), M52 (Mobility Radeon X1300)
      (II) Primary Device is: PCI 01:00:0
      (--) Assigning device section with no busID to primary device
      (EE) No devices detected.


      Thanks,
      Dom

      Comment


      • #13
        Originally posted by domzanator View Post
        Hi Michael,

        I've had success in getting through all of these lines: -
        yum install git libpciaccess-devel xorg-x11-server-sdk
        git clone git://anongit.freedesktop.org/git/avivo/xf86-video-avivo
        cd xf86-video-avivo/
        ./autogen.sh --prefix=/usr/
        make
        su
        make install
        <edit /etc/X11/xorg.conf so the driver changes from vesa or fglrx to avivo>

        Now i think my problem is that my X1700 is not supported; when i do a lspci this is what comes back with my card M66-P [Mobility Radeon X1700]. I can't find anywhere saying that my card is supported.

        Below is the error i get in the Xorg.0.log

        (II) Avivo: driver for Radeon r5xx chipsets: RV515 (Radeon X1300),
        RV530 (Radeon X1600), RV530 (Radeon X1600), R580 (Radeon X1900 GT),
        RV530 (Radeon X1650 Pro), M52 (Mobility Radeon X1300)
        (II) Primary Device is: PCI 01:00:0
        (--) Assigning device section with no busID to primary device
        (EE) No devices detected.


        Thanks,
        Dom
        Yes, you are getting the no devices detected as the X1700 ID isn't there. It should work with the X1700, but the ID just hasn't been added. See the article for how to add the IDs. In the article it mentions where you just need to add the PCI IDs and such. If you still are having problems, I can try to tell you exactly what to do for your Mobility X1700.
        Michael Larabel
        https://www.michaellarabel.com/

        Comment


        • #14
          Originally posted by Michael View Post
          Yes, you are getting the no devices detected as the X1700 ID isn't there. It should work with the X1700, but the ID just hasn't been added. See the article for how to add the IDs. In the article it mentions where you just need to add the PCI IDs and such. If you still are having problems, I can try to tell you exactly what to do for your Mobility X1700.
          Thanks for the quick response... I'm sort of lost...
          Could you please let me know what exactly to do?

          Comment


          • #15
            Originally posted by domzanator View Post
            Thanks for the quick response... I'm sort of lost...
            Could you please let me know what exactly to do?
            Okay, I just checked out git this morning for avivo and made modifications for your Mobility Radeon X1700. Below are two files, replace them with the ones you already have.

            include/avivo_chipset.h

            Code:
            #ifndef _AVIVO_CHIPSET_H_
            #define _AVIVO_CHIPSET_H_
            
            #include "xf86_OSproc.h"
            #include "xf86Resources.h"
            /* Drivers for PCI hardware need this */
            #include "xf86PciInfo.h"
            /* Drivers that need to access the PCI config space directly need this */
            #include "xf86Pci.h"
            #ifdef PCIACCESS
            #include <pciaccess.h>
            #endif
            
            #define PCI_CHIP_RV515_7142     0x7142
            #define PCI_CHIP_RV530_71C2     0x71C2
            #define PCI_CHIP_RV530_71C5     0x71C5
            #define PCI_CHIP_R580_724B      0x724B
            #define PCI_CHIP_M52_7149       0x7149
            #define PCI_CHIP_RV530_71C6     0x71C6
            #define PCI_CHIP_M66_71D5       0x71D5
            
            enum avivo_chip_type {
                CHIP_FAMILY_RV515,
                CHIP_FAMILY_R520,
                CHIP_FAMILY_RV530,
                CHIP_FAMILY_R580,
                CHIP_FAMILY_LAST,
            };
            
            #ifdef PCIACCESS
            extern const struct pci_id_match *avivo_device_match;
            #endif
            extern SymTabRec avivo_chips[];
            extern PciChipsets avivo_pci_chips[];
            
            #endif

            xorg/avivo_chipset.c

            Code:
            #ifdef HAVE_CONFIG_H
            #include "config.h"
            #endif
            #include "avivo.h"
            
            #ifdef PCIACCESS
            const struct pci_id_match avivo_device_match[] = {
                {
                    PCI_VENDOR_ATI, 0x71c2, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0
                },
                {
                    PCI_VENDOR_ATI, 0x71c5, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0
                },
                {
                    PCI_VENDOR_ATI, 0x724b, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0
                },
                {
                    PCI_VENDOR_ATI, 0x7142, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0      
                },
                {
                    PCI_VENDOR_ATI, 0x7149, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0      
                },
                {
                    PCI_VENDOR_ATI, 0x71C6, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0      
                }, 
                {
                    PCI_VENDOR_ATI, 0x71d5, PCI_MATCH_ANY, PCI_MATCH_ANY,
                    0x00030000, 0x00ffffff, 0
                },
            
                { 0, 0, 0 },
            };
            #endif
            
            /* Supported chipsets.  I'm really, really glad that these are
             * separate, and the nomenclature is beyond reproach. */
            SymTabRec avivo_chips[] = {
                { PCI_CHIP_RV515_7142, "RV515 (Radeon X1300)" },
                { PCI_CHIP_RV530_71C2, "RV530 (Radeon X1600)" },
                { PCI_CHIP_RV530_71C5, "RV530 (Radeon X1600)" },
                { PCI_CHIP_R580_724B,  "R580 (Radeon X1900 GT)" },
                { PCI_CHIP_RV530_71C6, "RV530 (Radeon X1650 Pro)" },
                { PCI_CHIP_M52_7149,   "M52 (Mobility Radeon X1300)" },
                { PCI_CHIP_M66_71D5,   "M66 (Mobility Radeon X1700)" },
                { -1,                  NULL }
            };
            
            PciChipsets avivo_pci_chips[] = {
              { PCI_CHIP_RV530_71C2, PCI_CHIP_RV530_71C2, RES_SHARED_VGA },
              { PCI_CHIP_RV530_71C5, PCI_CHIP_RV530_71C5, RES_SHARED_VGA },
              { PCI_CHIP_R580_724B,  PCI_CHIP_R580_724B,  RES_SHARED_VGA },
              { PCI_CHIP_RV515_7142, PCI_CHIP_RV515_7142, RES_SHARED_VGA },
              { PCI_CHIP_M52_7149,   PCI_CHIP_M52_7149,   RES_SHARED_VGA },
              { PCI_CHIP_RV530_71C6, PCI_CHIP_RV530_71C6, RES_SHARED_VGA },
              { PCI_CHIP_M66_71D5, PCI_CHIP_M66_71D5, RES_SHARED_VGA },
              { -1,                  -1,                  RES_UNDEFINED }
            };
            
            void
            avivo_get_chipset(struct avivo_info *avivo)
            {
                switch (avivo->pci_info->chipType) {
                case PCI_CHIP_RV530_71C2:
                case PCI_CHIP_RV530_71C6:
                case PCI_CHIP_RV530_71C5:
                case PCI_CHIP_M66_71D5:
                    avivo->chipset = CHIP_FAMILY_RV530;
                    break;
            
                case PCI_CHIP_R580_724B:
                    avivo->chipset = CHIP_FAMILY_R580;    
                    break;
            
                case PCI_CHIP_M52_7149:
                case PCI_CHIP_RV515_7142:
                    avivo->chipset = CHIP_FAMILY_RV515;    
                    break;
            
                default:
                    FatalError("Unknown chipset for %x!\n", avivo->pci_info->device);
                    break;
                }
            }
            Then after you replace those two files, compile it like usual, and then it should be able to detect your card.
            Michael Larabel
            https://www.michaellarabel.com/

            Comment


            • #16
              Thank you for making those modifications for me; i replaced the files and compiled it again. Now the problem is that when i start X with the usual resolution 1024x768 my screen goes all wacky. Could this be an issue with the avivo driver or something in my xorg.conf file?

              This is part of my Xorg.0.log file:-
              (II) Avivo(0): Printing probed modes for output LFP
              (II) Avivo(0): Modeline "1360x768"x59.8 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync (47.7 kHz)
              (II) Avivo(0): Modeline "1360x768"x60.0 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync (47.4 kHz)
              (II) Avivo(0): Modeline "1280x800"x60.0 83.46 1280 1344 1480 1680 800 801 804 828 -hsync +vsync (49.7 kHz)
              (II) Avivo(0): Modeline "1152x864"x60.0 81.62 1152 1216 1336 1520 864 865 868 895 -hsync +vsync (53.7 kHz)
              (II) Avivo(0): Modeline "1280x768"x60.0 80.14 1280 1344 1480 1680 768 769 772 795 -hsync +vsync (47.7 kHz)
              (II) Avivo(0): Modeline "1280x720"x60.0 74.48 1280 1336 1472 1664 720 721 724 746 -hsync +vsync (44.8 kHz)
              (II) Avivo(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
              (II) Avivo(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
              (II) Avivo(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
              (II) Avivo(0): Output DVI-I connected
              (II) Avivo(0): I2C device "DVI-I connector 1:ddc2" registered at address 0xA0.
              (II) Avivo(0): I2C device "DVI-I connector 1:ddc2" removed.
              (II) Avivo(0): EDID for output DVI-I
              (II) Avivo(0): Not using default mode "640x350" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "640x400" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "720x400" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "640x480" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "640x480" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "640x480" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "800x600" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "800x600" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "800x600" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "800x600" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1024x768" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1024x768" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1024x768" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x864" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x960" (hsync out of range)
              (II) Avivo(0): Not using default mode "1280x960" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x1024" (hsync out of range)
              (II) Avivo(0): Not using default mode "1280x1024" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x1024" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1600x1200" (hsync out of range)
              (II) Avivo(0): Not using default mode "1600x1200" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1600x1200" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1600x1200" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1600x1200" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1792x1344" (hsync out of range)
              (II) Avivo(0): Not using default mode "1792x1344" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1856x1392" (hsync out of range)
              (II) Avivo(0): Not using default mode "1856x1392" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1920x1440" (hsync out of range)
              (II) Avivo(0): Not using default mode "1920x1440" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "832x624" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x768" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x864" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x864" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x864" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x864" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1152x864" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x720" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x720" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x720" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x800" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x800" (vrefresh out of range)
              (II) Avivo(0): Not using default mode "1280x800" (vrefresh out of range)


              (==) Avivo(0): Default visual is TrueColor
              scrninitparam: vx 1360, vy 1360, dw 1408
              (II) Avivo(0): VGA connector associated to crtc(0)
              (II) Avivo(0): LFP connector associated to crtc(0)
              (II) Avivo(0): DVI-I connector associated to crtc(0)
              (II) Avivo(0): VGA connector associated to crtc(0)
              (II) Avivo(0): crtc(0) hdisp 1360, htotal 1776, hss 1432, hse 1568, hsk 0
              (II) Avivo(0): crtc(0) vdisp 768, vtotal 798, vss 771, vse 781, vsc 0
              (II) Avivo(0): crtc(0) Clock: mode 84750, PLL 84750
              (II) Avivo(0): crtc(0) PLL : div 12, pmul 0x71(113), pdiv 3
              (II) Avivo(0): VGA connector associated to crtc(0)
              (II) Avivo(0): LFP connector associated to crtc(0)
              (II) Avivo(0): DVI-I connector associated to crtc(0)
              (II) Avivo(0): VGA connector associated to crtc(0)
              (II) Avivo(0): RandR 1.2 enabled, ignore the following RandR disabled message.
              (II) Avivo(0): [ScreenInit OK]
              (--) RandR disabled
              (II) Setting vga for screen 0.
              (II) Initializing built-in extension MIT-SHM
              (II) Initializing built-in extension XInputExtension
              (II) Initializing built-in extension XTEST
              (II) Initializing built-in extension XKEYBOARD
              (II) Initializing built-in extension XC-APPGROUP
              (II) Initializing built-in extension XAccessControlExtension
              (II) Initializing built-in extension SECURITY
              (II) Initializing built-in extension XINERAMA
              (II) Initializing built-in extension XFIXES
              (II) Initializing built-in extension XFree86-Bigfont
              (II) Initializing built-in extension RENDER
              (II) Initializing built-in extension RANDR
              (II) Initializing built-in extension COMPOSITE
              (II) Initializing built-in extension DAMAGE
              (II) Initializing built-in extension XEVIE
              (EE) AIGLX: Screen 0 is not DRI capable
              (II) Loading local sub module "GLcore"
              (II) LoadModule: "GLcore"
              (II) Loading /usr/lib/xorg/modules/extensions//libGLcore.so
              (II) Module GLcore: vendor="X.Org Foundation"
              compiled for 1.3.0, module version = 1.0.0
              ABI class: X.Org Server Extension, version 0.3
              (II) GLX: Initialized MESA-PROXY GL provider for screen 0
              (II) Avivo(0): Setting screen physical size to 359 x 20


              Thanks,
              Dom

              Comment


              • #17
                You do have an error about AIGLX in your log, do you have the following in your xorg.conf?

                Section "ServerFlags"
                Option "AIGLX" "off"
                EndSection

                Section "Extensions"
                Option "Composite" "Disable"
                EndSection
                Michael Larabel
                https://www.michaellarabel.com/

                Comment


                • #18
                  Thanks Michael; that worked a treat. After all the reading i've done you would have thought i would have picked that up. Guess it wasn't my modeline after all. Loving the 1280x800 resolution I hope my posts help anyone out there with an ASUS F3JP with a X1700 ati card.

                  The open-source driver seems rather slow when moving a window around it isn't as smooth and is unstable when changing from X to tty1 (shell) and back again; it just locks up. Hopefully i'm guessing these bugs will be addressed and fixed in the near future.

                  Thanks again for all your help Michael; keep up the fantastic work with this forum and your site. I really enjoy reading all the Reviews.

                  Regards,
                  Dom

                  Originally posted by Michael View Post
                  You do have an error about AIGLX in your log, do you have the following in your xorg.conf?

                  Section "ServerFlags"
                  Option "AIGLX" "off"
                  EndSection

                  Section "Extensions"
                  Option "Composite" "Disable"
                  EndSection

                  Comment


                  • #19
                    Originally posted by domzanator View Post
                    Thanks Michael; that worked a treat. After all the reading i've done you would have thought i would have picked that up. Guess it wasn't my modeline after all. Loving the 1280x800 resolution I hope my posts help anyone out there with an ASUS F3JP with a X1700 ati card.

                    The open-source driver seems rather slow when moving a window around it isn't as smooth and is unstable when changing from X to tty1 (shell) and back again; it just locks up. Hopefully i'm guessing these bugs will be addressed and fixed in the near future.

                    Thanks again for all your help Michael; keep up the fantastic work with this forum and your site. I really enjoy reading all the Reviews.

                    Regards,
                    Dom
                    Thanks for your nice words. I hope you stick around the forums.

                    Regarding the performance, right now the Avivo driver is slower than VESA but its performance will be greatly improved as development progresses so be sure to stay tuned to Phoronix for additional details.
                    Michael Larabel
                    https://www.michaellarabel.com/

                    Comment


                    • #20
                      I wait until the avivo driver has better 2d acceleration and official R580XT support. I can wait...

                      I hope AIGLX support is also coming, never really tried Compiz because of fglrx and not liking XGL.

                      Comment

                      Working...
                      X