# ATI Radeon HD4550 recognized as 4350 and very slow

## loopx

Hi, 

I don't know if I got a little problem, but to avoid further problem, I post here. Last year, I bought a new PC (core i7 930) + an ATI Radeon HD 4550 (I got the box under my eyes). There is 3-4 months, my KDE 3D desktop was not more working and then, fall back to simple 2D desktop. This problem was a configuration problem : now, 3D is working again.

But I'm asking myself about what's going on with Nexuiz : I can't get a game with more than 40-45FPS ... even when working in LOW quality (1024*768)... I really don't know if it's normal or not ...

Here what I see with "lspci" :

```

loop bin # lspci | grep -i " ati "

05:00.0 VGA compatible controller: ATI Technologies Inc RV710 [Radeon HD 4350]

05:00.1 Audio device: ATI Technologies Inc RV710/730

```

First of all .. why is my ATI card recognized as a 4350????

How can I check if something is going wrong with my hardware and software ??? Is there a way to get the clock speed of this ATI ? Or more interesting informations ?

----------

## Logicien

Hi,

there's a couples of things to check to know how is configure your graphic card. Do you use the KMS option with your Radeon card? You can see if it is activated by executing the command

```
(sudo) cat /sys/module/radeon/parameters/modeset
```

as root user or with sudo as normal user. Do you use the radeon Xorg module as driver for 3D effects? Is the radeon Xorg module use the XAA or the EXA eccelerated method? EXA should be better. Check your /var/log/Xorg.0.log. When you execute the glxgears command in a graphical terminal, is the FPS are at the same rate then the vertical refresh of the screen? If yes, forcing graphics applications to not sync with vertical refresh of the screen can help to have betters FPS. Set the environment variable in your $HOME/.bashrc

```
export vblank_mode=0
```

and set this option to in your /etc/drirc and $HOME/.drirc:

```
<driconf>

    <device screen="0" driver="dri2">

        <application name="Default">

            <option name="vblank_mode" value="0" />

        </application>

    </device>

</driconf>
```

If you read the

```
man radeon
```

for Xorg radeon manual module, you can see that the the RV710 chipset include two graphics cards models:

```
RV710       Radeon HD 4350/4550
```

Try

```
lspci -s 05:00.0 -vvv
```

and check if the lspci command see the your specific model 4550. I do not know why lspci do not display your 4550 model, but it recognize the good chipset RV710 and this is the most important thing.

----------

## loopx

Hi, 

Yes, KMS is enable in the kernel :

```

loop loopx # cat /sys/module/radeon/parameters/modeset

1

```

I'm using the "radeon" driver ; here is my Xorg configuration (I try to use a minimal configuration) :

```

Section "ServerFlags"

        Option "AllowEmptyInput" "False"

        Option "AutoAddDevices" "False"

EndSection

Section "Extensions"

    Option "Composite" "Enable"

EndSection

Section "ServerLayout"

        Identifier     "Server Layout"

        Screen         "Screen0" 0 0

        InputDevice    "Mouse1" "CorePointer"

        InputDevice    "Keyboard1" "CoreKeyboard"

EndSection

Section "InputDevice"

        Identifier  "Keyboard1"

        Driver      "kbd"

        Option      "AutoRepeat" "500 30"

        Option      "XkbLayout" "be"

EndSection

Section "InputDevice"

        Identifier  "Mouse1"

        Driver      "mouse"

        Option      "Protocol" "ImPS/2"

        Option      "ZAxisMapping" "4 5"

        Option      "Device" "/dev/input/mice"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        Option      "DPMS"

EndSection

Section "Device"

        Identifier  "Standard VGA"

        Driver      "vga"

        VendorName  "Unknown"

        BoardName   "Unknown"

EndSection

Section "Device"

        Identifier  "ATI Graphics Adapter"

        Driver      "radeon"

      Option "DRI" "true"

      Option "RenderAccel" "true"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "ATI Graphics Adapter"

        Monitor    "Monitor0"

        DefaultDepth     24

        SubSection "Display"

                Viewport   0 0

                Depth     24

                Modes    "1280x1024" "640x480" "800x600" "1024x768"

        EndSubSection

EndSection

Section "DRI"

        Mode         0666

EndSection

```

For EXA or XAA : it's EXA :

```

loop loopx # egrep -i xaa /var/log/Xorg.0.log

loop loopx # egrep -i exa /var/log/Xorg.0.log                                                                                                                                    

[    32.821] (II) RADEON(0): EXA: Driver will allow EXA pixmaps in VRAM                                                                                                             

[    32.829] (II) Loading sub module "exa"                                                                                                                                          

[    32.829] (II) LoadModule: "exa"                                                                                                                                                 

[    32.829] (II) Loading /usr/lib64/xorg/modules/libexa.so                                                                                                                         

[    32.830] (II) Module exa: vendor="X.Org Foundation"                                                                                                                             

[    32.842] (II) RADEON(0): Setting EXA maxPitchBytes                                                                                                                              

[    32.842] (II) EXA(0): Driver allocated offscreen pixmaps                                                                                                                        

[    32.842] (II) EXA(0): Driver registered support for the following operations:

```

For glxgears (thanks for this information => see refresh rate) : my refresh rate is 85hz :

```

loop loopx # glxgears 

Running synchronized to the vertical refresh.  The framerate should be                                                                                                              

approximately the same as the monitor refresh rate.                                                                                                                                 

428 frames in 5.0 seconds = 85.419 FPS                                                                                                                                              

426 frames in 5.0 seconds = 85.002 FPS                                                                                                                                              

426 frames in 5.0 seconds = 85.031 FPS

```

(before now, I was thinking that value was number of frame per seconds ... => in KiloFPS ... but it's not ^^)

For the sync, never set it so, I will have a look .. but since I'm at a rate of 85Hz, this should not be the problem (in Nexuiz : about 40FPS ...).

I will try to set my .bashrc and .drirc but in fact ... I have no ".drirc" ... I was thinking it's an old story  :Surprised:  ? .. not created ...

lspci with "super verbose" mode :

```

loop loopx # lspci -s 05:00.0 -vvv

05:00.0 VGA compatible controller: ATI Technologies Inc RV710 [Radeon HD 4350] (prog-if 00 [VGA controller])

        Subsystem: XFX Pine Group Inc. Device 2920

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+

        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

        Latency: 0, Cache Line Size: 64 bytes

        Interrupt: pin A routed to IRQ 42

        Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M]

        Region 2: Memory at fbee0000 (64-bit, non-prefetchable) [size=64K]

        Region 4: I/O ports at ee00 [size=256]

        [virtual] Expansion ROM at fbe00000 [disabled] [size=128K]

        Capabilities: [50] Power Management version 3

                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

        Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00

                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited

                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-

                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+

                        MaxPayload 128 bytes, MaxReadReq 128 bytes

                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-

                LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <64ns, L1 <1us

                        ClockPM- Surprise- LLActRep- BwNot-

                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

                DevCap2: Completion Timeout: Not Supported, TimeoutDis-

                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-

                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB

                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

                         Compliance De-emphasis: -6dB

                LnkSta2: Current De-emphasis Level: -6dB

        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+

                Address: 00000000fee00000  Data: 4079

        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

        Kernel driver in use: radeon

        Kernel modules: radeon

```

(not good ... but working ...) 

Is there a way to get these value out of the "radeon" module, like for the "fglrx" module ? => http://www.phoronix.com/scan.php?page=article&item=sapphire_hd4550&num=3 (see the "aticonfig --odgc") ; I really want to check clock  :Smile: 

Thanks, I will try and come back   :Cool: 

EDIT: I just tried with .bashrc but no change, as expected :/. I run Nexuiz with less than 40 FPS... (showfps 1 ; it's an average I think ... but it's really low for my computer in 1024*768 normal effect).

EDIT2: I tried both "nexuiz-glx" and "nexuiz-sdl" and it seems to have the same speed ... but, with the "-sdl" version, the mouse is more sensitive and so, it seems that Nexuiz is more reactive than "-glx", just because of the mouse sensitivity ... so the problem is still there : both are slow to me ... not ?

----------

## Logicien

If you install the radeontool package, you can use the avivotool command like this:

```
avivotool romtables mmap
```

For my

```
01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]
```

the top of the output is

```
BIOS Tables:

------------

Header at 196, type: 36 [ATOM]

OEM ID: 01 01

ATOM BIOS detected !

Clock info block:

  SCLK    : 500.000000

  MCLK    : 333.000000

  RefClk  : 14.320000

  PPLL Min: 0.000000

  PPLL Max: 1200.000000

No connector table in BIOS

No TMDS PLLs

LVDS timings:

  x: 1366, y: 768, dotclock: 75500

  hblank: 194, hoverplus: 31, hsyncwidth: 65

  vblank: 38, voverplus: 4, vsyncwidth: 12

  power-on delay: 15436

ATOM BIOS: Acer_HM5070PU RS780MN DDR2 200e/500m                                        

...
```

The info look good, as my memory bus is set to 333 MHz and the video card share it's memory with the system one. The clock frequency would be at 500 MHz. There's a tool call rovclock for Radeon OVerCLOCK that allow to change the settings of the Radeon graphics cards. Use with caution.

----------

## roarinelk

lspci is just telling you what is has in its database for this cards particular device id.

The 4550 is probably just a 4350 with higher chipclocks, and amd didn't bother to

change the device id for the higher clocked part.

This certainly isn't new; my mobility9700 is also recognized as a mobility9600 which

makes sense since it's just a slightly faster clocked 9600.

----------

## Logicien

It is possible to update the PCI ID,s with the command

```
update-pciids
```

and try again the lspci command to see if the video card model number have change.   :Very Happy: 

----------

## loopx

@Logicne: thanks for this information ; here, mine seems to be correct :

```
BIOS Tables:

------------

Header at 19e, type: 36 [ATOM]

OEM ID: 01 01

ATOM BIOS detected !

Clock info block:

  SCLK    : 625.000000

  MCLK    : 500.000000

  RefClk  : 27.000000

  PPLL Min: 0.000000

  PPLL Max: 1200.000000

No connector table in BIOS

No TMDS PLLs

No LVDS

ATOM BIOS: BIOS FOR 455YAF50.BIN                                       

Supported Devices: CRT1 TV1 DFP1 CRT2 CV
```

For the update, change nothing ...

But, why is the nexuiz so slow ???? Should work better ...   :Question: 

----------

## loopx

Up ...

When playing Nexuiz, in the console, I see this as initialization :

```
GL_RENDERER: Mesa DRI R600 (RV710 954F) 20090101  TCL DRI2
```

... 2009 .... is that correct ?????? we are in 2011 ... :-/

----------

