PDA

View Full Version : Radeon x550/x700 Dri with radeon driver?


marq
06-20-2008, 09:30 PM
I have been having a real problem trying to find out whether the radeon driver supports DRI for this chipset (X550/X700).

I bought Sapphire Card that said that it was based on a radeon x700 (which should be supported by radeon DRI). Linux lists two unknown ATI display devices, FreeBSD lists:

'Radeon x550/x700 Series'
chip=0x56571002

and

'Radeon X550/X700 series Secondary'
chip=0x56771002

It shows up similarly on windows once I install the Sapphire provided drivers.

I have a single widescreen monitor attached to the VGA (it also has DVI) and can get the native 1680x1050 display resolution after running X -configure and using the generated .conf (which only has one device and lists the board as 'unknown'). However, I can never get DRI to work with this thing on FreeBSD or linux.

I get a DRMGetVersion failed error in the Xorg log. I even tried installing the fglrx driver in ubuntu and that was an absolute disaster. With fglrx, the system reboots everytime I try to log in.

So now I'm confused about what chipset I even have (what's with the 'X550 slash X700') and have no clue whether there is any configuration that'll get DRI to work.

ANY help, wven pointing me to a better place to ask would be VERY welcome. Of course, if anyone is familiar with a chip like this that'd be great.

Alex W. Jackson
06-21-2008, 03:08 AM
I thought x700 and x550 cards were completely different GPU generations, one being R400-based (rv410) and the other R300-based (rv370/rv380) Am I (and Wikipedia) wrong? How can they be interchangeable enough to have the same PCI ID?

ETA: Never mind, I did some research via Google and an .inf from a Windows Catalyst that I had lying around, and it looks like there was an "X550XTX" card that was actually a rebranded X700, and thus (unlike the regular X550) a genuine R400-based GPU...

marq
06-21-2008, 03:52 AM
I don't get it either.
On the box it says it's a Sapphire ATI Radeon x700.
After installing the bunndled drivers, this is what catalyst hardware information reports:



Graphics Chipset Radeon X550/X700 series
Device ID 5657
Vendor 1002

Subsystem ID 0001
Subsystem Vendor ID 174b

Bus Type PCI Express
Memory Size 256 MB
Memory Type DDR1

Core Clock 398 MHZ
Memory Clock 199 MHZ



I installed windows just to see how the included drivers would report it. I still don't know for sure what X should be seeing it as though. My main problem is no DRI so I can't take advantage of the 3D capabilities in linux.

glisse
06-21-2008, 03:57 AM
Your card is supported. The error suggest that you don't have drm install maybe it's fglrx getting in the way. On ubuntu do apt-get remove xorg-driver-fglrx and try to reinstall libgl1-mesa-dri and libgl1-mesa-glx. This might help. Otherwise provide your Xorg.

Alex W. Jackson
06-21-2008, 04:36 AM
marq, are you "Methuselah" from ubuntuforums?

If that is him, his lspci, xorg.conf and Xorg.log are here (and if that isn't him, it's someone having problems with a card that's identical down to the PCI subvendor ID):

http://ubuntuforums.org/showthread.php?p=5154051

I notice that the radeon driver thinks his card is an RV370, but that's wrong, PCI ID 0x5657 is definitely an RV410 no matter what the box the card came in calls it.

Oh, and I'm not cyberstalkin' ya marq :), I just stumbled on that post while I was Googling the X550/X700 mystery...

marq
06-21-2008, 05:20 AM
Yeah, good detective work!
I posted the same thing on the ubuntu forums.
That is my xorg.conf and XOrg log on there.

So glisse, if it's OK you can refer to that as well.
http://ubuntuforums.org/showthread.php?p=5154051

I also tried what you suggested. fglrx wasn't interfering and the mesa libs were already up-to-date.
lsmod | grep radeon shows:

radeon 131360 0
drm 106152 1 radeon

and I think that's fine as well.
It would seem that the 3D driver is not properly attaching to my card.

Alex, I noticed the detection of the rV370 too while I was looking through the log for what X thought the card was. But I was getting so much conflicting info, I wasn't even sure that was wrong. Thanks for the confirmation.

BTW, lspci -v reports on the ATI card as two devices both 'unknown'


01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 5657 (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited Unknown device 0001
Flags: bus master, fast devsel, latency 0, IRQ 12
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at e5000000 (64-bit, non-prefetchable) [size=64K]
I/O ports at a000 [size=256]
[virtual] Expansion ROM at e4000000 [disabled] [size=128K]
Capabilities: [50] Power Management version 2
Capabilities: [58] Express Endpoint IRQ 0
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-

01:00.1 Display controller: ATI Technologies Inc Unknown device 5677
Subsystem: PC Partner Limited Unknown device 0000
Flags: bus master, fast devsel, latency 0
Memory at e5010000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [50] Power Management version 2
Capabilities: [58] Express Endpoint IRQ 0

marq
06-21-2008, 05:44 AM
Another thing that I find suspicious:

$ dmesg | grep drm
[ 48.516297] [drm] Initialized drm 1.1.0 20060810

No mention of attaching to any radeon.

adamk
06-21-2008, 07:28 AM
What does your full 'lsmod' look like?

Adam

Alex W. Jackson
06-21-2008, 04:27 PM
I suspect you have an old DRM that's missing your card's pciid--0x5657 was only added this January:

http://bugs.freedesktop.org/show_bug.cgi?id=14289

marq
06-21-2008, 06:58 PM
adamk, here's my full lsmod:


Module Size Used by
ipv6 311848 14
af_packet 27272 2
radeon 131360 0
drm 105896 1 radeon
rfcomm 47392 2
l2cap 28800 13 rfcomm
bluetooth 67748 4 rfcomm,l2cap
ppdev 11400 0
cpufreq_powersave 3200 0
cpufreq_conservative 10632 0
cpufreq_userspace 6180 0
cpufreq_stats 8416 0
cpufreq_ondemand 11152 0
freq_table 6464 2 cpufreq_stats,cpufreq_ondemand
dock 12960 0
video 23444 0
output 5632 1 video
container 6656 0
sbs 17808 0
sbshc 8960 1 sbs
battery 16776 0
iptable_filter 4608 0
ip_tables 24104 1 iptable_filter
x_tables 23560 1 ip_tables
ac 8328 0
lp 14916 0
bt878 13672 0
tuner 49056 0
tea5767 7812 1 tuner
sr_mod 20132 0
tda8290 13828 1 tuner
tuner_simple 10632 1 tuner
cdrom 41512 1 sr_mod
mt20xx 14600 1 tuner
tea5761 6916 1 tuner
snd_hda_intel 440408 3
snd_pcm_oss 47648 0
snd_mixer_oss 20224 1 snd_pcm_oss
snd_pcm 92168 2 snd_hda_intel,snd_pcm_oss
snd_page_alloc 13200 2 snd_hda_intel,snd_pcm
bttv 214772 1 bt878
snd_hwdep 12552 1 snd_hda_intel
usb_storage 82496 0
ir_common 39812 1 bttv
libusual 23520 1 usb_storage
snd_seq_dummy 5764 0
usblp 17664 0
compat_ioctl32 11136 1 bttv
i2c_algo_bit 8452 1 bttv
videobuf_dma_sg 17028 1 bttv
videobuf_core 22020 2 bttv,videobuf_dma_sg
snd_seq_oss 38912 0
snd_seq_midi 10688 0
btcx_risc 6792 1 bttv
tveeprom 20624 1 bttv
i2c_core 28544 9 tuner,tea5767,tda8290,tuner_simple,mt20xx,tea5761, bttv,i2c_algo_bit,tveeprom
usbhid 35296 0
snd_rawmidi 29856 1 snd_seq_midi
hid 44992 1 usbhid
videodev 30720 1 bttv
parport_pc 41128 1
v4l2_common 21888 4 tuner,bttv,compat_ioctl32,videodev
v4l1_compat 15492 2 bttv,videodev
8139too 31104 0
snd_seq_midi_event 10112 2 snd_seq_oss,snd_seq_midi
iTCO_wdt 15312 0
parport 44300 3 ppdev,lp,parport_pc
pata_jmicron 8448 0
snd_seq 63232 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_mid i_event
snd_timer 27912 2 snd_pcm,snd_seq
snd_seq_device 10644 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi ,snd_seq
snd 70856 17 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,sn d_hwdep,snd_seq_dummy,snd_seq_oss,snd_rawmidi,snd_ seq,snd_timer,snd_seq_device
iTCO_vendor_support 5764 1 iTCO_wdt
ata_piix 24196 0
button 10912 0
pata_acpi 9856 0
intel_agp 30624 0
pcspkr 4992 0
shpchp 38172 0
pci_hotplug 34608 1 shpchp
evdev 14976 4
soundcore 10400 1 snd
ext3 149264 1
jbd 57000 1 ext3
mbcache 11392 1 ext3
sg 41880 0
sd_mod 33280 3
floppy 69096 0
r8169 36612 0
ata_generic 9988 0
8139cp 27776 0
mii 7552 2 8139too,8139cp
uhci_hcd 29856 0
ehci_hcd 41996 0
ahci 33028 2
libata 176432 5 pata_jmicron,ata_piix,pata_acpi,ata_generic,ahci
scsi_mod 178488 5 sr_mod,usb_storage,sg,sd_mod,libata
usbcore 169904 7 usb_storage,libusual,usblp,usbhid,uhci_hcd,ehci_hc d
thermal 19744 0
processor 41448 1 thermal
fan 6792 0
fbcon 46336 0
tileblit 4096 1 fbcon
font 10112 1 fbcon
bitblit 7424 1 fbcon
softcursor 3712 1 bitblit
fuse 56112 3

marq
06-21-2008, 07:41 PM
Alex, that looks very relevant to what I'm facing.
So I guess X is detecting the right chip, though the text is wrong (should be R410) but the drm modules don't seem to think my card is supported.

Interestingly, I tried another linux before and had glxinfo report "dri yes" and glegears report great framerates but the gears weren't animating at all!

So I have to rebuild DRM or find a repository with newer debian packages?
I already have the most up-to-date versions in the ubuntu repositories.

Kano
06-21-2008, 08:33 PM
Are you sure you removed every left overs from fglrx? You can not use the mesa libs when fglrx is installed - as those are replaced.

marq
06-21-2008, 08:55 PM
Initially, when DRI wouldn't work, I tried fglrx in ubuntu once and it crashed my computer (reboot on login). I have since wiped my disk and installed windows 2000 to see how the card is recognized there. I then installed a fresh ubuntu 8.04 x86_64 on another partition. Ubuntu doesn't install proprietary drivers like fglrx by default.

In any event, I did an apt-get remove on xorg-driver-fglrx and it said it was not installed so not removed. Restricted drievr manager in ubuntu says it's not enabled. lsmod doesn't list anything related to fglrx.

If it's on there, I have no clue where it's hiding.
So I have to conclude I'm fglrx free but that there's a bug in radeon or the card is unsupported. All indications are that it should be supported but DRI is being disabled consistently.

glisse
06-22-2008, 06:11 AM
Inspect your system log and search for [drm] Initialized radeon if you don't see this it means that somehow you drm/radeon module is too old. If you see this, inspect Xorg.log and search for Direct rendering enabled if you don't see direct rendering enabled it should give you a reason why. If you got direct rendering enabled in Xorg log do LIBGL_DEBUG=verbose glxinfo and look at top of the output it should tell you what is wrong.

marq
06-22-2008, 06:30 AM
Inspect your system log and search for [drm] Initialized radeon if you don't see this it means that somehow you drm/radeon module is too old. If you see this, inspect Xorg.log and search for Direct rendering enabled if you don't see direct rendering enabled it should give you a reason why. If you got direct rendering enabled in Xorg log do LIBGL_DEBUG=verbose glxinfo and look at top of the output it should tell you what is wrong.

dmesg | grep drm :

41.264966] [drm] Initialized drm 1.1.0 20060810


Initialised drm but nothing about radeon

cat /var/log/Xorg.0.log | grep -i "direct rendering"

(WW) RADEON(0): Direct rendering disabled


Also:


(EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM
[dri] Disabling DRI.

glisse
06-22-2008, 06:34 AM
dmesg | grep drm :


Initialised drm but nothing about radeon

cat /var/log/Xorg.0.log | grep -i "direct rendering"


Also:


Then obviously you don't have recent enough radeon kernel module triple check that you installed radeon compiled from git in the proper directory you need to see the line i did give.

marq
06-22-2008, 06:50 AM
OK, I'm using the standard versions that come with Ubuntu Hardy x86_64.
I guess I will need to build to see if I can get DRI going.
I found some instructions at:

http://dri.freedesktop.org/wiki/Building

I'll attempt and report back.
Thanks a lot for all the help diagnosing this.

yoshi314
06-22-2008, 06:51 AM
So I guess X is detecting the right chip, though the text is wrong (should be R410) but the drm modules don't seem to think my card is supported.i think it was fixed in git yesterday.

somebody did a typo in pciids.

http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=commitdiff;h=dc25661099bcc4b107a30ca504 fcc2e76db3492e

http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-ati.git;a=commit;h=aea9bf75cf0774afd3e65fcf3fd3851 f5fb21ca3

marq
06-22-2008, 07:42 AM
The guide suggests that to use the latest DRM modules I should have Xserver 1.5. My Xorg log is reporting version 1.4.0.90. I was hoping I wouldn't have to touch the other parts of Xorg. It seems like a full upgrade from xorg 7.3 to xorg 7.4 will be needed.

bridgman
06-22-2008, 08:51 AM
I'm pretty sure you need the new X server in order to get AIGLX, which you'll want for Compiz. I thought it was mesa not drm which had the X server dependency but not 100% sure.

Alex (agd5f) mentioned a while back that it should be pretty easy to patch the files which were modified to support 5xx back into an earlier version of mesa which does not require the latest X server -- I'll check next week and see if this is the case. If so, will see if we can either post instructions or an actual patch.

marq
06-22-2008, 10:42 AM
Well, I tried rebuilding the dri and drm modules only, using source from git. Everything compiled without error.
[http://dri.freedesktop.org/wiki/Building]

Even if the whole stack didn't work, I expected that I'd now see radeon initialised in dmesg. No such luck. I did get a couldn't find RGB visual from glxinfo but I doubt that's an improvement!

Realistically, it's probably beyond me right now since I'm pretty new to linux (though used FreeBSD for a while). Still, I might as well try to build xorg 7.4 while I'm on a roll screwing things up!

marq
06-22-2008, 09:45 PM
I tried the stick topic here with info on how to update using .deb packages and made some progress.

Now I get:

dmesg | grep drm
[ 40.559264] [drm] Initialized drm 1.1.0 20060810
[ 40.567352] [drm] Initialized radeon 1.29.0 20080613 on minor 0
[ 43.070095] [drm] Setting GART location based on new memory map
[ 43.070962] [drm] Loading R400 Microcode
[ 43.070997] [drm] Num pipes: 2
[ 43.071004] [drm] writeback test succeeded in 1 usecs
[ 77.698202] [drm] Num pipes: 2
[ 182.706096] [drm] Loading R400 Microcode
[ 182.706123] [drm] Num pipes: 2
[ 187.520228] [drm] Num pipes: 2
[ 191.120150] [drm] Setting GART location based on new memory map
[ 191.121018] [drm] Loading R400 Microcode
[ 191.121049] [drm] Num pipes: 2
[ 191.121054] [drm] writeback test succeeded in 1 usecs
[ 217.301150] [drm] Num pipes: 2
[ 501.957824] [drm] Loading R400 Microcode
[ 501.957851] [drm] Num pipes: 2
[ 504.207978] [drm] Num pipes: 2
[ 507.800241] [drm] Setting GART location based on new memory map
[ 507.801111] [drm] Loading R400 Microcode
[ 507.801146] [drm] Num pipes: 2
[ 507.801153] [drm] writeback test succeeded in 1 usecs
[ 544.001440] [drm] Num pipes: 2
[ 547.574397] [drm] Setting GART location based on new memory map
[ 547.575280] [drm] Loading R400 Microcode
[ 547.575315] [drm] Num pipes: 2
[ 547.575321] [drm] writeback test succeeded in 1 usecs
[ 556.968699] [drm] Num pipes: 2
[ 673.965856] [drm] Setting GART location based on new memory map
[ 673.966697] [drm] Loading R400 Microcode
[ 673.966729] [drm] Num pipes: 2
[ 673.966734] [drm] writeback test succeeded in 1 usecs
[ 688.377301] [drm] Num pipes: 2
[ 732.747416] [drm] Setting GART location based on new memory map
[ 732.748275] [drm] Loading R400 Microcode
[ 732.748310] [drm] Num pipes: 2
[ 732.748317] [drm] writeback test succeeded in 1 usecs
[ 748.031854] [drm] Num pipes: 2
[ 751.603312] [drm] Setting GART location based on new memory map
[ 751.604176] [drm] Loading R400 Microcode
[ 751.604212] [drm] Num pipes: 2
[ 751.604218] [drm] writeback test succeeded in 1 usecs
[ 756.730460] [drm] Num pipes: 2
[ 779.326775] [drm] Loading R400 Microcode
[ 779.326810] [drm] Num pipes: 2
[ 806.765247] [drm] Num pipes: 2
[ 944.922487] [drm] Loading R400 Microcode
[ 944.922514] [drm] Num pipes: 2
[ 948.024324] [drm] Num pipes: 2


However, I still think I need to upgrade other components.
Screen is only white when I try to log in to gnome.
I temporarily set xorg.conf to use the vesa driver while I sort it out.

marq
06-22-2008, 10:43 PM
Tried the xorg-edgers-live-test script in a live cd environment and DRM worked without further tweaking. This card was definitely not supported in xorg 7.3 as the documentation claimed at the time. Thanks for all the help tracking down the issue.