ATI fglrx driver: Kernel Oops/ X server crashes when using DRI
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I am trying to enable the ATI "fglrx" driver on my IBM Thinkpad T42 Laptop, which uses an "ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]" chip. X.org 6.8.1 works OK using the "radeon" driver module. Some installed package versions: kernel-default-2.6.8-20041012113024 kernel-source-2.6.8-20041012113024 km_fglrx-3.14.1-0.1 fglrx-3.14.1-0.1 xorg-x11-6.8.1-7 (this is on a SUSE 9.2b3 system) I first tried the driver directly from the ATI web site, but it gave me the same results as the one available from ftp://ftp.suse.com/pub/suse/i386/supplementary/X/ATI/suse91/fglrx/3.14.1/ which I tried afterwards. I followed the instructions given in the README from the directory above. Compiling and loading the fglrx.ko module works fine, apart from the following compile warnings (probably harmless): [SNIP] /usr/src/kernel-modules/fglrx/firegl_public.c: In function `__ke_block_all_signals': /usr/src/kernel-modules/fglrx/firegl_public.c:812: warning: passing arg 1 of `block_all_signals' from incompatible pointer type /usr/src/kernel-modules/fglrx/firegl_public.c: In function `__ke_request_irq': /usr/src/kernel-modules/fglrx/firegl_public.c:1903: warning: assignment from incompatible pointer type /usr/src/kernel-modules/fglrx/firegl_public.c: At top level: /usr/src/kernel-modules/fglrx/firegl_public.c:2519: warning: initialization from incompatible pointer type [SNIP] The X server actually starts up, using the fglrx X driver module. However, I do notice the following messages in the kernel messages (notice the ERROR about mtrr allocation): [SNIP] Oct 13 10:29:20 metis kernel: fglrx: no version for "struct_module" found: kernel tainted. Oct 13 10:29:20 metis kernel: fglrx: unsupported module, tainting kernel. Oct 13 10:29:20 metis kernel: fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. Oct 13 10:29:20 metis kernel: [fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes. Oct 13 10:29:20 metis kernel: ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 Oct 13 10:29:20 metis kernel: [fglrx] module loaded - fglrx 3.14.1 [Sep 27 2004] on minor 0 Oct 13 10:29:20 metis kernel: mtrr: 0xe0000000,0x4000000 overlaps existing 0xe0000000,0x2000000 Oct 13 10:29:20 metis kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22) Oct 13 10:29:20 metis kernel: [fglrx] AGP detected, AgpState = 0x1f000217 (hardware caps of chipset) Oct 13 10:29:20 metis kernel: agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. Oct 13 10:29:20 metis kernel: agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode Oct 13 10:29:20 metis kernel: agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode Oct 13 10:29:20 metis kernel: [fglrx] AGP enabled, AgpCommand = 0x1f000314 (selected caps) Oct 13 10:29:20 metis kernel: [fglrx] free AGP = 256126976 Oct 13 10:29:20 metis kernel: [fglrx] max AGP = 256126976 Oct 13 10:29:20 metis kernel: [fglrx] free LFB = 47165440 Oct 13 10:29:20 metis kernel: [fglrx] max LFB = 47165440 Oct 13 10:29:20 metis kernel: [fglrx] free Inv = 0 Oct 13 10:29:20 metis kernel: [fglrx] max Inv = 0 Oct 13 10:29:20 metis kernel: [fglrx] total Inv = 0 Oct 13 10:29:20 metis kernel: [fglrx] total TIM = 0 Oct 13 10:29:20 metis kernel: [fglrx] total FB = 0 Oct 13 10:29:20 metis kernel: [fglrx] total AGP = 65536 [SNIP]
From /proc/mtrr:
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1 reg01: base=0x1ff80000 ( 511MB), size= 512KB: uncachable, count=1 reg02: base=0xe0000000 (3584MB), size= 32MB: write-combining, count=1 As soon as I try to start any application that uses OpenGL (e.g. "fgl_glxgears", the X server crashes hard and I am back on the text mode. The X server messages don't really give a hint, apart from the info that it caught a Sig11. However, as soon as I try to read any of the files in /proc/dri/ (which are set up by the flgrx driver), the kernel Oopses with the following output: [SNIP] Oct 13 10:34:43 metis kernel: Unable to handle kernel paging request at virtual address f00003a1 Oct 13 10:34:43 metis kernel: printing eip: Oct 13 10:34:43 metis kernel: e1abdb30 Oct 13 10:34:43 metis kernel: *pde = 00000000 Oct 13 10:34:43 metis kernel: Oops: 0002 [#1] Oct 13 10:34:43 metis kernel: Modules linked in: fglrx ieee80211_crypt_wep ipw2200 ieee80211 ieee80211_crypt joydev sg st sd_mod sr_mod scsi_mod ide_cd cdrom nvram edd cpufreq_userspace speedstep_centrino freq_table thermal processor fan button battery ac snd_pcm_oss snd_mixer_oss snd_intel8x0 snd_ac97_codec snd_pcm ipv6 snd_timer irtty_sir snd sir_dev soundcore snd_page_alloc irda crc_ccitt af_packet arc4 ds usbhid nls_utf8 ntfs subfs firmware_class intel_agp agpgart ehci_hcd uhci_hcd yenta_socket pcmcia_core e1000 evdev usbcore dm_snapshot dm_mod reiserfs Oct 13 10:34:43 metis kernel: CPU: 0 Oct 13 10:34:43 metis kernel: EIP: 0060:[<e1abdb30>] Tainted: PF U VLI Oct 13 10:34:43 metis kernel: EFLAGS: 00010282 (2.6.8-20041012113024-default 20041012113024) Oct 13 10:34:43 metis kernel: EIP is at __ke_down_struct_sem+0x10/0x20 [fglrx] Oct 13 10:34:43 metis kernel: eax: f0000379 ebx: e1aea3e0 ecx: f00003a1 edx: f0000379 Oct 13 10:34:43 metis kernel: esi: d31fdf80 edi: d0ae7000 ebp: e1aea3e0 esp: d3719ef0 Oct 13 10:34:43 metis kernel: ds: 007b es: 007b ss: 0068 Oct 13 10:34:43 metis kernel: Process cat (pid: 7167, threadinfo=d3718000 task=cdccb550) Oct 13 10:34:43 metis kernel: Stack: e1acfdb0 f0000379 00000000 cdccb550 00000010 00000000 000000d0 0000000b Oct 13 10:34:43 metis kernel: c017d040 dfd71dc0 e1acfd70 00000c00 c017d17d 00000c00 d3719f48 e1aea3e0 Oct 13 10:34:43 metis kernel: d31fdf80 416ce8a3 d31fdf80 00000000 00001000 0804de48 00000000 00000000 Oct 13 10:34:43 metis kernel: Call Trace: Oct 13 10:34:43 metis kernel: [<e1acfdb0>] drm_clients_info+0x40/0xb0 [fglrx] Oct 13 10:34:43 metis kernel: [<c017d040>] proc_file_read+0x0/0x260 Oct 13 10:34:43 metis kernel: [<e1acfd70>] drm_clients_info+0x0/0xb0 [fglrx] Oct 13 10:34:43 metis kernel: [<c017d17d>] proc_file_read+0x13d/0x260 Oct 13 10:34:43 metis kernel: [<c017d040>] proc_file_read+0x0/0x260 Oct 13 10:34:43 metis kernel: [<c0151848>] vfs_read+0xa8/0x110 Oct 13 10:34:43 metis kernel: [<c0151971>] sys_read+0x41/0x70 Oct 13 10:34:43 metis kernel: [<c0151947>] sys_read+0x17/0x70 Oct 13 10:34:43 metis kernel: [<c0104c19>] sysenter_past_esp+0x52/0x79 Oct 13 10:34:43 metis kernel: Code: 02 74 01 c3 a1 88 9f ae e1 e9 fd b6 65 de 8d b6 00 00 00 00 8d bc 27 00 00 00 00 8b 44 24 08 8b 54 24 04 c1 e0 04 01 d0 8d 48 28 <ff> 48 28 0f 88 ab 19 00 00 c3 8d b6 00 00 00 00 8b 44 24 08 8b [SNIP] This Oops also occurs by just loading the flgrx kernel module and accessing the files in /proc/dri (without starting X before). Is this a known issue with the fglrx driver and the recent SUSE kernels? Or is anybody else able to reproduce this? I would really like to be able to use the fglrx driver, not only for the 3D acceleration but also for being able to use the TV output or Dual Head configuration... Thanks in advance! Let me know, if you need any additional info. Bye, LenZ - -- - ------------------------------------------------------------------ Lenz Grimmer <lenz@grimmer.com> -o) [ICQ: 160767607 | Jabber: LenZGr@jabber.org] /\\ http://www.lenzg.org/ V_V -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: For info see http://quantumlab.net/pine_privacy_guard/ iD8DBQFBbQi7SVDhKrJykfIRAs+BAJ9mFH8IKSePqyGmEPy3K0FJN7gX2gCfVflw OtSbCggawc4m+hTf+JIQrdI= =rlpq -----END PGP SIGNATURE-----
ATI's fglrx drive is not supposed to work with X.org releases. What you report is a well-known issue (fglrx + DRI crashes X.org 6.8.1). There are rumours that ATI is working on drivers compatible with 6.8.1. No idea, when that will be. You might want to check out the linux drivers forum at http://www.rage3d.com/ Osho On Wed, 13 Oct 2004 12:51:39 +0200 (CEST), Lenz Grimmer <lenz@grimmer.com> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
I am trying to enable the ATI "fglrx" driver on my IBM Thinkpad T42 Laptop, which uses an "ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]" chip. X.org 6.8.1 works OK using the "radeon" driver module.
Some installed package versions:
kernel-default-2.6.8-20041012113024 kernel-source-2.6.8-20041012113024 km_fglrx-3.14.1-0.1 fglrx-3.14.1-0.1 xorg-x11-6.8.1-7
(this is on a SUSE 9.2b3 system)
I first tried the driver directly from the ATI web site, but it gave me the same results as the one available from ftp://ftp.suse.com/pub/suse/i386/supplementary/X/ATI/suse91/fglrx/3.14.1/ which I tried afterwards.
I followed the instructions given in the README from the directory above.
Compiling and loading the fglrx.ko module works fine, apart from the following compile warnings (probably harmless):
[SNIP] /usr/src/kernel-modules/fglrx/firegl_public.c: In function `__ke_block_all_signals': /usr/src/kernel-modules/fglrx/firegl_public.c:812: warning: passing arg 1 of `block_all_signals' from incompatible pointer type /usr/src/kernel-modules/fglrx/firegl_public.c: In function `__ke_request_irq': /usr/src/kernel-modules/fglrx/firegl_public.c:1903: warning: assignment from incompatible pointer type /usr/src/kernel-modules/fglrx/firegl_public.c: At top level: /usr/src/kernel-modules/fglrx/firegl_public.c:2519: warning: initialization from incompatible pointer type [SNIP]
The X server actually starts up, using the fglrx X driver module. However, I do notice the following messages in the kernel messages (notice the ERROR about mtrr allocation):
[SNIP] Oct 13 10:29:20 metis kernel: fglrx: no version for "struct_module" found: kernel tainted. Oct 13 10:29:20 metis kernel: fglrx: unsupported module, tainting kernel. Oct 13 10:29:20 metis kernel: fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. Oct 13 10:29:20 metis kernel: [fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes. Oct 13 10:29:20 metis kernel: ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 Oct 13 10:29:20 metis kernel: [fglrx] module loaded - fglrx 3.14.1 [Sep 27 2004] on minor 0 Oct 13 10:29:20 metis kernel: mtrr: 0xe0000000,0x4000000 overlaps existing 0xe0000000,0x2000000 Oct 13 10:29:20 metis kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22) Oct 13 10:29:20 metis kernel: [fglrx] AGP detected, AgpState = 0x1f000217 (hardware caps of chipset) Oct 13 10:29:20 metis kernel: agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. Oct 13 10:29:20 metis kernel: agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode Oct 13 10:29:20 metis kernel: agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode Oct 13 10:29:20 metis kernel: [fglrx] AGP enabled, AgpCommand = 0x1f000314 (selected caps) Oct 13 10:29:20 metis kernel: [fglrx] free AGP = 256126976 Oct 13 10:29:20 metis kernel: [fglrx] max AGP = 256126976 Oct 13 10:29:20 metis kernel: [fglrx] free LFB = 47165440 Oct 13 10:29:20 metis kernel: [fglrx] max LFB = 47165440 Oct 13 10:29:20 metis kernel: [fglrx] free Inv = 0 Oct 13 10:29:20 metis kernel: [fglrx] max Inv = 0 Oct 13 10:29:20 metis kernel: [fglrx] total Inv = 0 Oct 13 10:29:20 metis kernel: [fglrx] total TIM = 0 Oct 13 10:29:20 metis kernel: [fglrx] total FB = 0 Oct 13 10:29:20 metis kernel: [fglrx] total AGP = 65536 [SNIP]
From /proc/mtrr:
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1 reg01: base=0x1ff80000 ( 511MB), size= 512KB: uncachable, count=1 reg02: base=0xe0000000 (3584MB), size= 32MB: write-combining, count=1
As soon as I try to start any application that uses OpenGL (e.g. "fgl_glxgears", the X server crashes hard and I am back on the text mode. The X server messages don't really give a hint, apart from the info that it caught a Sig11.
However, as soon as I try to read any of the files in /proc/dri/ (which are set up by the flgrx driver), the kernel Oopses with the following output:
[SNIP] Oct 13 10:34:43 metis kernel: Unable to handle kernel paging request at virtual address f00003a1 Oct 13 10:34:43 metis kernel: printing eip: Oct 13 10:34:43 metis kernel: e1abdb30 Oct 13 10:34:43 metis kernel: *pde = 00000000 Oct 13 10:34:43 metis kernel: Oops: 0002 [#1] Oct 13 10:34:43 metis kernel: Modules linked in: fglrx ieee80211_crypt_wep ipw2200 ieee80211 ieee80211_crypt joydev sg st sd_mod sr_mod scsi_mod ide_cd cdrom nvram edd cpufreq_userspace speedstep_centrino freq_table thermal processor fan button battery ac snd_pcm_oss snd_mixer_oss snd_intel8x0 snd_ac97_codec snd_pcm ipv6 snd_timer irtty_sir snd sir_dev soundcore snd_page_alloc irda crc_ccitt af_packet arc4 ds usbhid nls_utf8 ntfs subfs firmware_class intel_agp agpgart ehci_hcd uhci_hcd yenta_socket pcmcia_core e1000 evdev usbcore dm_snapshot dm_mod reiserfs Oct 13 10:34:43 metis kernel: CPU: 0 Oct 13 10:34:43 metis kernel: EIP: 0060:[<e1abdb30>] Tainted: PF U VLI Oct 13 10:34:43 metis kernel: EFLAGS: 00010282 (2.6.8-20041012113024-default 20041012113024) Oct 13 10:34:43 metis kernel: EIP is at __ke_down_struct_sem+0x10/0x20 [fglrx] Oct 13 10:34:43 metis kernel: eax: f0000379 ebx: e1aea3e0 ecx: f00003a1 edx: f0000379 Oct 13 10:34:43 metis kernel: esi: d31fdf80 edi: d0ae7000 ebp: e1aea3e0 esp: d3719ef0 Oct 13 10:34:43 metis kernel: ds: 007b es: 007b ss: 0068 Oct 13 10:34:43 metis kernel: Process cat (pid: 7167, threadinfo=d3718000 task=cdccb550) Oct 13 10:34:43 metis kernel: Stack: e1acfdb0 f0000379 00000000 cdccb550 00000010 00000000 000000d0 0000000b Oct 13 10:34:43 metis kernel: c017d040 dfd71dc0 e1acfd70 00000c00 c017d17d 00000c00 d3719f48 e1aea3e0 Oct 13 10:34:43 metis kernel: d31fdf80 416ce8a3 d31fdf80 00000000 00001000 0804de48 00000000 00000000 Oct 13 10:34:43 metis kernel: Call Trace: Oct 13 10:34:43 metis kernel: [<e1acfdb0>] drm_clients_info+0x40/0xb0 [fglrx] Oct 13 10:34:43 metis kernel: [<c017d040>] proc_file_read+0x0/0x260 Oct 13 10:34:43 metis kernel: [<e1acfd70>] drm_clients_info+0x0/0xb0 [fglrx] Oct 13 10:34:43 metis kernel: [<c017d17d>] proc_file_read+0x13d/0x260 Oct 13 10:34:43 metis kernel: [<c017d040>] proc_file_read+0x0/0x260 Oct 13 10:34:43 metis kernel: [<c0151848>] vfs_read+0xa8/0x110 Oct 13 10:34:43 metis kernel: [<c0151971>] sys_read+0x41/0x70 Oct 13 10:34:43 metis kernel: [<c0151947>] sys_read+0x17/0x70 Oct 13 10:34:43 metis kernel: [<c0104c19>] sysenter_past_esp+0x52/0x79 Oct 13 10:34:43 metis kernel: Code: 02 74 01 c3 a1 88 9f ae e1 e9 fd b6 65 de 8d b6 00 00 00 00 8d bc 27 00 00 00 00 8b 44 24 08 8b 54 24 04 c1 e0 04 01 d0 8d 48 28 <ff> 48 28 0f 88 ab 19 00 00 c3 8d b6 00 00 00 00 8b 44 24 08 8b [SNIP]
This Oops also occurs by just loading the flgrx kernel module and accessing the files in /proc/dri (without starting X before).
Is this a known issue with the fglrx driver and the recent SUSE kernels? Or is anybody else able to reproduce this?
I would really like to be able to use the fglrx driver, not only for the 3D acceleration but also for being able to use the TV output or Dual Head configuration...
Thanks in advance! Let me know, if you need any additional info.
Bye, LenZ - -- - ------------------------------------------------------------------ Lenz Grimmer <lenz@grimmer.com> -o) [ICQ: 160767607 | Jabber: LenZGr@jabber.org] /\\ http://www.lenzg.org/ V_V -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: For info see http://quantumlab.net/pine_privacy_guard/
iD8DBQFBbQi7SVDhKrJykfIRAs+BAJ9mFH8IKSePqyGmEPy3K0FJN7gX2gCfVflw OtSbCggawc4m+hTf+JIQrdI= =rlpq -----END PGP SIGNATURE-----
-- To unsubscribe check the List-Unsubscribe header For additional commands, email: suse-xfree86-help@suse.com
participants (2)
-
Lenz Grimmer
-
Osho GG