Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 27345 - xfree-drm radeon modprobe => unresolved symbol cmpxchg => dri disabled with radeon 9000 pci card
Summary: xfree-drm radeon modprobe => unresolved symbol cmpxchg => dri disabled with r...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High major
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-26 01:49 UTC by gonzo
Modified: 2003-09-08 09:54 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description gonzo 2003-08-26 01:49:08 UTC
I compiled latest gentoo-soucres kernel (from 25.08.2003). Build agpgart. Then I
emerged xfree-drm with USE="radeon". 

Here is a snippet of the compile process:
<snip>
* Building DRM...
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align
-Wstrict-prototypes -Wnested-externs -Wpointer-arith -D__KERNEL__
-DMODULE -fomit-frame-pointer -fno-strict-aliasing
-DCONFIG_DRM_SIS -DMODVERSIONS -include
/usr/src/linux/include/linux/modversions.h -DEXPORT_SYMTAB
-I/usr/src/linux/include -c radeon_drv.c -o radeon_drv.o
In file included from radeon_drv.c:48:
drm_lock.h: In function `radeon_lock_take':
drm_lock.h:57: warning: implicit declaration of function `cmpxchg'
</snip>

when I issue: 
cat config | grep CMPX
I get no entry. Is that the problem? 
I found an entry at:
http://www.mail-archive.com/gentoo-user@gentoo.org/msg13475.html

After "emerge xfree-drm" a "modprobe radeon" shows:
<snip>
/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/radeon.o:
unresolved symbol cmpxchg
/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/radeon.o:
insmod
/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/radeon.o failed
/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/radeon.o:
insmod radeon failed
</snip>

Before that I had to insmod agpgart with the unsupported parameter. (because of
the Sis Chipset)

When I am at home I will post my exact kernel version. But I got the same error
as above.

I searched the web but I haven't found a solution for that problem anywhere. The
ati-drivers doesnt't work either because I have got a PCI Card and the ATI
drivers are only for AGP.

Btw, Xfree86 works and starts up with DRI disabled. But that is not what I want ;-) 

Thanks.

gonzo

P.S.: Perhaps that's important:
I have got a Celeron 1.8Ghz cpu
SiS 651 chipset (but not using the onboard vga)
ATI Radeon 9000 PCI
(It's a MSI 651 Hermes barebone Pc System)
Comment 1 Donnie Berkholz (RETIRED) gentoo-dev 2003-08-26 13:01:12 UTC
I'll be putting -r7 of xfree-drm out before long, which should have better support for direct rendering on PCI cards. I'll post to this bug once it's committed so you can test.
Comment 2 gonzo 2003-08-27 09:13:45 UTC
ok here comes my specific console output:
 USE="radeon" emerge xfree-drm
Calculating dependencies ...done!
>>> emerge (1 of 1) x11-base/xfree-drm-4.3.0-r6 to /
>>> md5 src_uri ;-) linux-drm-4.3.0-kernelsource-20030714.tar.gz
>>> md5 src_uri ;-) xfree-drm-4.3.0-r6-gentoo-0.4.tar.bz2
>>> Unpacking source...
>>> Unpacking linux-drm-4.3.0-kernelsource-20030714.tar.gz to /var/tmp/portage/xfree-
drm-4.3.0-r6/work
>>> Unpacking xfree-drm-4.3.0-r6-gentoo-0.4.tar.bz2 to /var/tmp/portage/xfree-drm-4.3.0-
r6/work
 * Applying xfree-drm-4.3.0-r6-gentoo-Makefile-fixup.patch...                                                  [ 
ok ]
 * Applying xfree-drm-4.3.0-r6-dristat.patch...                                                                [ ok ]
 * Detected rmap enabled kernel.
 * Applying rmap patch...                                                                                      [ ok ]
>>> Source unpacked.
 * Building DRM...
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-
externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -
DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include /usr/src/
linux/include/linux/modversions.h -DEXPORT_SYMTAB -I/usr/src/linux/include -c radeon_drv.c -
o radeon_drv.o
In file included from radeon_drv.c:51:
drm_lock.h: In function `radeon_lock_take':
drm_lock.h:64: warning: implicit declaration of function `cmpxchg'
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-
externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -
DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include /usr/src/
linux/include/linux/modversions.h -I/usr/src/linux/include -c radeon_cp.c -o radeon_cp.o
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-
externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -
DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include /usr/src/
linux/include/linux/modversions.h -I/usr/src/linux/include -c radeon_state.c -o radeon_state.o
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-
externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -
DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include /usr/src/
linux/include/linux/modversions.h -I/usr/src/linux/include -c radeon_mem.c -o radeon_mem.o
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-
externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -
DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include /usr/src/
linux/include/linux/modversions.h -I/usr/src/linux/include -c radeon_irq.c -o radeon_irq.o
ld -r radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o radeon_irq.o -o radeon.o
gcc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-
externs -Wpointer-arith -g -ansi -pedantic -DPOSIX_C_SOURCE=199309L -D_POSIX_SOURCE -
D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -I../../../../../../include -I../../../../../../../../
include -I../../../../../../../../programs/Xserver/hw/xfree86/common -I. -I../../.. -I../../../../../../
../../lib/X11 dristat.c -o dristat
xf86drm.c:1170: warning: `drm_unlock_callback' defined but not used

>>> Install xfree-drm-4.3.0-r6 into /var/tmp/portage/xfree-drm-4.3.0-r6/image/ category 
x11-base
 * installing DRM...
install -d -m 0755 /var/tmp/portage/xfree-drm-4.3.0-r6/image//lib/modules/2.4.20-gentoo-
r6/kernel/drivers/char/drm
 * Stripping binaries...
/usr/X11R6/bin/dristat
man:
>>> Completed installing into /var/tmp/portage/xfree-drm-4.3.0-r6/image/

XFree.0.log says when starting x:
....
(--) PCI:*(0:6:0) ATI Technologies Inc Radeon R250 If [Radeon 9000] rev 1, Mem @ 0xd0000000/
27, 0xdfff0000/16, I/O @ 
0xd800/8, BIOS @ 0xdffc0000/17
....
(II) Primary Device is: PCI 00:06:0
(--) Assigning device section with no busID to primary device
(--) Chipset ATI Radeon 9000 If (AGP) found
....
(**) RADEON(0): Option "ForcePCIMode" "True"
....
(**) RADEON(0): Forced into PCI-only mode
....
(==) RADEON(0): Write-combining range (0xd0000000,0x4000000)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenDevice: minor is 1
drmOpenDevice: node name is /dev/dri/card1
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 2
drmOpenDevice: node name is /dev/dri/card2
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 3
drmOpenDevice: node name is /dev/dri/card3
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 4
drmOpenDevice: node name is /dev/dri/card4
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 5
drmOpenDevice: node name is /dev/dri/card5
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 6
drmOpenDevice: node name is /dev/dri/card6
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 7
drmOpenDevice: node name is /dev/dri/card7
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 8
drmOpenDevice: node name is /dev/dri/card8
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 9
drmOpenDevice: node name is /dev/dri/card9
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 10
drmOpenDevice: node name is /dev/dri/card10
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 11
drmOpenDevice: node name is /dev/dri/card11
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 12
drmOpenDevice: node name is /dev/dri/card12
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 13
drmOpenDevice: node name is /dev/dri/card13
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 14
drmOpenDevice: node name is /dev/dri/card14
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
(II) RADEON(0): [drm] drmOpen failed
(EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.

and finally here comes syslog:
 agpgart: Unsupported SiS chipset (device id: 0651), you might want to try agp_try_unsupported=1
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2003-09-06 14:55:36 UTC
As for the cmpxchg issue, the mailing list post you referenced sounded useful. Do you have your processor set correctly (e.g., PentiumIII/Celeron, Pentium4, or whatever yours is) in the Processor Type and Features section of make menuconfig?
Comment 4 Donnie Berkholz (RETIRED) gentoo-dev 2003-09-06 15:23:33 UTC
Sorry kernel guys, didn't mean to CC you here.
Comment 5 Donnie Berkholz (RETIRED) gentoo-dev 2003-09-08 09:54:26 UTC
I confirmed that this issue is due to having 386 set in Processor Type and features (it should be 486 or higher), so I'm closing this.