Announcement

Collapse
No announcement yet.

Avivo R500 Driver Changes

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

  • Avivo R500 Driver Changes

    Phoronix News: Avivo R500 Driver Changes

    Yesterday we told you that the Avivo 0.1 driver will be out shortly, and in the past 24 hours now we have seen a number of commits to the Avivo git. There have been eight commits in the past day that range from adding a number of new PCI IDs, removing the FB manager, cleaning up the initialization code, and properly using the Avivo scaler. In total there are now 68 ATI Radeon X100 "R500" GPUs supported...

    http://www.phoronix.com/scan.php?pag...item&px=NTg4NA

  • #2
    glisse mentioned on irc that releasing 0.1 in a matter of a couple of days now. wonder what will get into the driver in in the meantime.

    i wish i could code in c. i'd love to help :/

    don't you get the impression that avivo is progressing quite smoothly? i was expecting way slower development. maybe reverse engineering ati cards isn't that hard after all.

    Comment


    • #3
      yoshi, Avivo can't do 3D, video acceleration, AIGLX and has some bugs. Also, they are working for some months now on it. But on the other side it has great 2D acceleration and RandR 1.2 Support.

      Btw. who cares if he releases 0.1, at this state of the driver everyone will most likely get the newest version from git. But in some months releases are important, so for example Fedora 8 can install the avivo driver by default as an option.

      Comment


      • #4
        Originally posted by d2kx View Post
        yoshi, Avivo can't do 3D, video acceleration, AIGLX and has some bugs. Also, they are working for some months now on it. But on the other side it has great 2D acceleration and RandR 1.2 Support.
        i know.

        but 2d acceleration isn't there yet, is it?

        Comment


        • #5
          Xorg log file with avivo driver, Fedora 7

          Yay! 1680x1050 resolution, although DPMS doesn't seem able to turn the backlight off yet.

          X Window System Version 1.3.0
          Release Date: 19 April 2007
          X Protocol Version 11, Revision 0, Release 1.3
          Build Operating System: Fedora Core 7 Red Hat, Inc.
          Current Operating System: Linux lantern.underworld 2.6.22 #2 SMP PREEMPT Thu Jul 12 00:29:53 BST 2007 i686
          Build Date: 11 June 2007
          Build ID: xorg-x11-server 1.3.0.0-9.fc7
          Before reporting problems, check http://wiki.x.org
          to make sure that you have the latest version.

          [snip]

          (II) avivo(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
          (==) avivo(0): Write-combining range (0xd0000000,0x10000000)
          (II) avivo(0): Control memory at 0xee100000[size = 65536, 0x00010000]
          (II) avivo(0): Frame buffer memory at 0xd0000000[size = 268435456, 0x10000000]
          (**) avivo(0): Depth 24, (--) framebuffer bpp 32
          (**) avivo(0): Option "ShadowFB" "on"
          (II) avivo(0): added CRTC 0
          (II) avivo(0): added CRTC 1
          (II) avivo(0): ATOM BIOS detected
          (II) avivo(0): I2C bus "VGA connector 0" initialized.
          (II) avivo(0): Output VGA using monitor section Thinkpad-LCD
          (II) avivo(0): added VGA connector 0 (0x7E40)
          (II) avivo(0): I2C bus "LFP connector 1" initialized.
          (II) avivo(0): Output LFP has no monitor section
          (II) avivo(0): added LFP connector 1 (0x7E60)
          (II) avivo(0): Output VGA connected
          (II) avivo(0): I2C device "VGA connector 0:ddc2" registered at address 0xA0.
          (II) avivo(0): I2C device "VGA connector 0:ddc2" removed.
          (II) avivo(0): EDID for output VGA
          (II) avivo(0): Not using default mode "640x350" (vrefresh out of range)

          [snip]

          (II) avivo(0): Not using default mode "2560x1600" (width too large for virtual size)
          (II) avivo(0): Printing probed modes for output VGA
          (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 LFP connected
          (II) avivo(0): I2C device "LFP connector 1:ddc2" registered at address 0xA0.
          (II) avivo(0): I2C device "LFP connector 1:ddc2" removed.
          (II) avivo(0): EDID for output LFP
          (II) avivo(0): Manufacturer: IBM Model: 2887 Serial#: 0
          (II) avivo(0): Year: 2005 Week: 0
          (II) avivo(0): EDID Version: 1.3
          (II) avivo(0): Digital Display Input
          (II) avivo(0): Max H-Image Size [cm]: horiz.: 33 vert.: 21
          (II) avivo(0): Gamma: 2.20
          (II) avivo(0): No DPMS capabilities specified; RGB/Color Display
          (II) avivo(0): First detailed timing is preferred mode
          (II) avivo(0): redX: 0.596 redY: 0.347 greenX: 0.335 greenY: 0.543
          (II) avivo(0): blueX: 0.158 blueY: 0.143 whiteX: 0.313 whiteY: 0.329
          (II) avivo(0): Manufacturer's mask: 0
          (II) avivo(0): Supported additional Video Mode:
          (II) avivo(0): clock: 122.0 MHz Image Size: 331 x 207 mm
          (II) avivo(0): h_active: 1680 h_sync: 1712 h_sync_end 1776 h_blank_end 1904 h_border: 0
          (II) avivo(0): v_active: 1050 v_sync: 1051 v_sync_end 1054 v_blanking: 1066 v_border: 0
          (II) avivo(0): Supported additional Video Mode:
          (II) avivo(0): clock: 101.7 MHz Image Size: 331 x 207 mm
          (II) avivo(0): h_active: 1680 h_sync: 1712 h_sync_end 1776 h_blank_end 1904 h_border: 0
          (II) avivo(0): v_active: 1050 v_sync: 1051 v_sync_end 1054 v_blanking: 1066 v_border: 0
          (II) avivo(0): LP154W02-TL06
          (II) avivo(0): EDID (in hex):
          (II) avivo(0): 00ffffffffffff00244d872800000000
          (II) avivo(0): 000f0103802115780abca59858558b28
          (II) avivo(0): 24505400000001010101010101010101
          (II) avivo(0): 010101010101a82f90e0601a10402040
          (II) avivo(0): 13004bcf10000019b72790e0601a1040
          (II) avivo(0): 204013004bcf100000190000000f00b3
          (II) avivo(0): 0a32b30a28140100320c0000000000fe
          (II) avivo(0): 004c503135345730322d544c3036007f
          (II) avivo(0): EDID vendor "IBM", prod id 10375
          (II) avivo(0): Not using default mode "640x350" (vrefresh out of range)

          ... snip ...

          (II) avivo(0): Printing probed modes for output LFP
          (II) avivo(0): Modeline "1680x1050"x60.1 122.00 1680 1712 1776 1904 1050 1051 1054 1066 -hsync -vsync (64.1 kHz)
          (II) avivo(0): Modeline "1680x1050"x50.1 101.67 1680 1712 1776 1904 1050 1051 1054 1066 -hsync -vsync (53.4 kHz)
          (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 VGA connected
          (II) avivo(0): Output LFP connected
          (II) avivo(0): Output VGA using initial mode 1360x768
          (II) avivo(0): Output LFP using initial mode 1680x1050
          (==) avivo(0): RGB weight 888
          (==) avivo(0): Default visual is TrueColor
          (==) avivo(0): Using gamma correction (1.0, 1.0, 1.0)
          (==) avivo(0): DPI set to (100, 100)
          (II) avivo(0): using shadow framebuffer
          (II) Loading sub module "shadow"
          (II) LoadModule: "shadow"
          (II) Loading /usr/lib/xorg/modules//libshadow.so
          (II) Module shadow: vendor="X.Org Foundation"
          compiled for 1.3.0, module version = 1.1.0
          ABI class: X.Org ANSI C Emulation, version 0.3
          (II) avivo(0): pre-initialization successfull
          (--) Depth 24 pixmap format is 32 bpp
          (II) do I need RAC? No, I don't.
          (II) resource ranges after preInit:
          [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

          [snip]

          [35] 0 0 0x000003c0 - 0x000003df (0x20) IS[B]
          (II) avivo(0): setup GPU memory mapping
          (II) avivo(0): padded display width 1792
          (==) avivo(0): Default visual is TrueColor
          VirtualX,Y 1680, 1680
          (II) avivo(0): LFP connector associated to crtc(0)
          (II) avivo(0): disable TMDS2
          (II) avivo(0): crtc(0) hdisp 1680, htotal 1904, hss 1712, hse 1776, hsk 0, hsp 1
          (II) avivo(0): crtc(0) vdisp 1050, vtotal 1066, vss 1051, vse 1054, vsc 0, vsp 1
          (II) avivo(0): crtc(0) Clock: mode 122000, PLL 122000
          (II) avivo(0): crtc(0) PLL : div 9, pmul 0xF4(244), pdiv 6
          (II) avivo(0): LFP connector associated to crtc(0)
          (II) avivo(0): enable TMDS2
          (II) avivo(0): VGA connector associated to crtc(1)
          (II) avivo(0): disable DAC1
          (II) avivo(0): crtc(1) hdisp 1360, htotal 1776, hss 1432, hse 1568, hsk 0, hsp 1
          (II) avivo(0): crtc(1) vdisp 768, vtotal 798, vss 771, vse 781, vsc 0, vsp 0
          (II) avivo(0): crtc(1) Clock: mode 84750, PLL 84937
          (II) avivo(0): crtc(1) PLL : div 8, pmul 0x97(151), pdiv 6
          (II) avivo(0): VGA connector associated to crtc(1)
          (II) avivo(0): enable DAC1
          (II) avivo(0): adjust frame: 0 0 0 0
          (**) Option "dpms" "true"
          (**) avivo(0): DPMS enabled
          (WW) avivo(0): Option "VendorName" is not used
          (WW) avivo(0): Option "ModelName" is not used
          (II) avivo(0): RandR 1.2 enabled, ignore the following RandR disabled message.
          (II) avivo(0): initialization successfull
          (--) 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

          [snip]

          (II) avivo(0): Setting screen physical size to 331 x 207

          [snip]

          (II) avivo(0): VGA connector associated to crtc(1)
          (II) avivo(0): disable DAC1
          (II) avivo(0): LFP connector associated to crtc(0)
          (II) avivo(0): disable TMDS2
          (II) avivo(0): VGA connector associated to crtc(1)
          (II) avivo(0): enable DAC1
          (II) avivo(0): LFP connector associated to crtc(0)
          (II) avivo(0): enable TMDS2
          (II) avivo(0): VGA connector associated to crtc(1)
          (II) avivo(0): disable DAC1
          (II) avivo(0): LFP connector associated to crtc(0)
          (II) avivo(0): disable TMDS2
          (II) avivo(0): VGA connector associated to crtc(1)
          (II) avivo(0): enable DAC1
          (II) avivo(0): LFP connector associated to crtc(0)
          (II) avivo(0): enable TMDS2

          Comment


          • #6
            How did you change the resolution? I tried adding modelines, xrandr to change and some more. It always crashes X for me.

            Comment


            • #7
              I didn't...

              Originally posted by d2kx View Post
              How did you change the resolution? I tried adding modelines, xrandr to change and some more. It always crashes X for me.
              DDC configured the X server's resolution correctly automatically.

              Comment


              • #8
                avivo from git has 5 new paches but I don't know exactly what they really change. But I think version 0.1 is coming really soon now.

                Comment


                • #9
                  Originally posted by d2kx View Post
                  avivo from git has 5 new paches but I don't know exactly what they really change. But I think version 0.1 is coming really soon now.
                  they are to debug a problem; and attempt to fix why it doesn't work for somebody who reported back with that problem.

                  relating to i2c bus not being initialized correctly.

                  should make the eventual release more stable...

                  I hope we are not pressuring the developers too much by dissecting every git commit.
                  It will be done when it's done. I do however want it, gimme gimme gimme =D
                  <-- mixed messages
                  Last edited by rolz; 07-18-2007, 09:02 AM.

                  Comment


                  • #10
                    Output from avivotool regs

                    I don't know how useful this might be, but anyway:

                    Avivo engine:
                    AVIVO_ENGINE_STATUS 0100c000

                    Memory controller:
                    MC00 00000001
                    MC01 00000000
                    MC02 00000000
                    MC03 00000000
                    AVIVO_MC_MEMORY_MAP dfffd000
                    MC05 00000000
                    MC06 00000000
                    MC07 00000000
                    MC08 8a004012
                    MC09 0007a4e5
                    MC0a 00073333
                    MC0b 00000000
                    MC0c 00000000
                    MC0d 00000000
                    MC0e 00000000
                    MC0f 00000000
                    MC10 b29c680d
                    MC11 1eb83a92
                    MC12 005a0d03
                    MC13 12070217
                    MC14 09060804
                    MC15 00000016
                    MC16 dbbb6eee
                    MC17 00a27303
                    MC18 00000003

                    CRTC1:
                    AVIVO_CRTC1_CNTL 00010101
                    Enable: 1
                    Mystery bit #1: 1
                    Mystery bit #2: 1
                    AVIVO_CRTC1_MODE 00000000
                    Text mode: 0
                    AVIVO_CRTC1_H_TOTAL 1903 (decimal)
                    AVIVO_CRTC1_H_BLANK 00c00750
                    Total - Pulse start + disp: 1872
                    Total - disp: 192
                    AVIVO_CRTC1_H_SYNC_WID 00400000
                    Sync width: 64
                    AVIVO_CRTC1_H_SYNC_POL 00000001
                    Polarity: 1
                    AVIVO_CRTC1_V_TOTAL 1065 (decimal)
                    AVIVO_CRTC1_V_BLANK 000f0429
                    Total - Pulse start + disp: 1065
                    Total - disp: 15
                    AVIVO_CRTC1_V_SYNC_WID 00030000
                    Sync width: 3
                    AVIVO_CRTC1_V_SYNC_POL 00000001
                    Polarity: 1
                    AVIVO_CRTC1_SCAN_ENABLE 00000001
                    AVIVO_CRTC1_FB_FORMAT 00000002
                    Format: 2
                    AVIVO_CRTC1_FB_LOCATION d0000000
                    AVIVO_CRTC1_FB_END d0ac4000
                    AVIVO_CRTC1_PITCH 1792 (decimal)
                    AVIVO_CRTC1_X_LENGTH 1680 (decimal)
                    AVIVO_CRTC1_Y_LENGTH 1680 (decimal)
                    AVIVO_CRTC1_EXPANSION_CNTL 00000001
                    Enable: 1
                    AVIVO_CRTC1_EXPANSION_SOURCE 0690041a
                    Height: 1680
                    Width: 1050
                    AVIVO_CRTC1_OFFSET_START 00000000
                    x: 0
                    y: 0
                    AVIVO_CRTC1_OFFSET_END 06100610
                    x: 1552
                    y: 1552

                    CRTC2:
                    AVIVO_CRTC2_CNTL 00010101
                    Enable: 1
                    Mystery bit #1: 1
                    Mystery bit #2: 1
                    AVIVO_CRTC2_MODE 00000000
                    Text mode: 0
                    AVIVO_CRTC2_H_TOTAL 1775 (decimal)
                    AVIVO_CRTC2_H_BLANK 015806a8
                    Total - Pulse start + disp: 1704
                    Total - disp: 344
                    AVIVO_CRTC2_H_SYNC_WID 00880000
                    Sync width: 136
                    AVIVO_CRTC2_H_SYNC_POL 00000001
                    Polarity: 1
                    AVIVO_CRTC2_V_TOTAL 797 (decimal)
                    AVIVO_CRTC2_V_BLANK 001b031b
                    Total - Pulse start + disp: 795
                    Total - disp: 27
                    AVIVO_CRTC2_V_SYNC_WID 000a0000
                    Sync width: 10
                    AVIVO_CRTC2_V_SYNC_POL 00000000
                    Polarity: 0
                    AVIVO_CRTC2_SCAN_ENABLE 00000001
                    AVIVO_CRTC2_FB_FORMAT 00000002
                    Format: 2
                    AVIVO_CRTC2_FB_LOCATION d0000000
                    AVIVO_CRTC2_FB_END d08b7000
                    AVIVO_CRTC2_PITCH 1792 (decimal)
                    AVIVO_CRTC2_X_LENGTH 1680 (decimal)
                    AVIVO_CRTC2_Y_LENGTH 1680 (decimal)

                    DAC1:
                    AVIVO_DAC1_CNTL 00000001
                    AVIVO_DAC1_MYSTERY1 00000000
                    AVIVO_DAC1_MYSTERY2 00000000

                    DAC2 disabled

                    TMDS1 disabled (not present)

                    TMDS2:
                    AVIVO_TMDS2_CNTL 01001111
                    Enable: 1
                    AVIVO_TMDS_STATUS 00000000
                    TMDS2 connected: 0
                    AVIVO_TMDS2_CLOCK_ENABLE 00000000
                    AVIVO_TMDS2_CLOCK_CNTL 00001e1e
                    AVIVO_TMDS2_MYSTERY1 00001100
                    AVIVO_TMDS2_MYSTERY2 00000001
                    AVIVO_TMDS2_MYSTERY3 10630011

                    LVDS disabled

                    Cursor 1 disabled

                    Comment


                    • #11
                      Is there anything I can do to help the development of this driver?

                      I can program in C, but I'm afraid I've never written a driver for anything before and have no idea how to reverse engineer a graphics card.

                      I can test it, which I will do shortly (I have an x1600) and see if I have problems, but is there anything else I can do?

                      Comment


                      • #12
                        Originally posted by TechMage89 View Post
                        Is there anything I can do to help the development of this driver?

                        I can program in C, but I'm afraid I've never written a driver for anything before and have no idea how to reverse engineer a graphics card.

                        I can test it, which I will do shortly (I have an x1600) and see if I have problems, but is there anything else I can do?
                        You can make sure other Linux users are aware of this driver as an alternative to fglrx, report any bugs found in the driver, and with your C experience there's a chance you might be of use working on avivotool (the program associated with the driver), but that would just be a guess.

                        For specific areas you can help with, ask Jerome Glisse. His email address can be found on this page @ http://gitweb.freedesktop.org/?p=avi...ca4dd15e24c8f6 or you can send him a private message on the Phoronix Forums @ http://www.phoronix.com/forums/member.php?u=3054
                        Michael Larabel
                        http://www.michaellarabel.com/

                        Comment

                        Working...
                        X