Created attachment 43265 [details] lspci -vvv I'm using this wiki page to enable KMS: https://wiki.archlinux.org/index.php/Ati#Kernel_mode-setting_.28KMS.29 When using the "late KMS start" hardware rasterizer is started well. But upon enabling the "early KMS start" (radeon is built into kernel), I'm left with software rastering. I'm using Arch Linux (i686), fully up to date: Kernel-2.6.37 xorg 11R7.0-1 xorg-server 1.9.4 Had already opened a bug here: https://bugs.freedesktop.org//show_bug.cgi?id=27663 But I think a new one is better!
Created attachment 43266 [details] less kernel.log | grep drm
If you build radeon into your kernel, you need to build the firmware into the kernel as well or you will get delays in boot while the kernel searched for the firmware and no accel due to the lack of firmware.
Just an example. I have this in my kernel config in order to have the driver working: CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="radeon/R600_rlc.bin radeon/R700_rlc.bin" CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" You might need different firmware files compiled in-kernel depending on your chipset (I don't know exactly what you need).
Thank you for your help! My card is a Radeon Mobility 7500. According to the DRI wiki it is a rv200 based card. In the kernel, I didn't find any according firmware (in /lib/firmware/radeon). But I did compile a kernel with this options: CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="radeon/R100_cp.bin radeon/R200_cp.bin" CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/" When booting that kernel, I still have software rasterizer: $ glxinfo | grep render direct rendering: Yes OpenGL renderer string: Gallium 0.4 on softpipe Part of kernel.log: $ dmesg | grep radeon Linux version 2.6.37-radeon (doehni@firefly) (gcc version 4.5.2 20110127 (prerelease) (GCC) ) #1 SMP PREEMPT Sun Feb 27 21:40:56 CET 2011 Kernel command line: root=/dev/hda2 resume=/dev/hda5 radeon.modeset=1 vga=0x342 ro radeonfb 0000:01:05.0: power state changed by ACPI to D0 radeonfb 0000:01:05.0: power state changed by ACPI to D0 radeonfb 0000:01:05.0: PCI INT A -> Link[LNK0] -> GSI 10 (level, low) -> IRQ 10 radeonfb: Retrieved PLL infos from BIOS radeonfb: Reference=14.32 MHz (RefDiv=31) Memory=183.00 Mhz, System=133.00 MHz radeonfb: PLL min 12000 max 35000 radeonfb: Monitor 1 type LCD found radeonfb: Monitor 2 type no found radeonfb: panel ID string: Samsung LTN150P1-L02 radeonfb: detected LVDS panel size from BIOS: 1400x1050 radeondb: BIOS provided dividers will be used radeonfb: Dynamic Clock Power Management enabled radeonfb (0000:01:05.0): ATI Radeon 4337 "C7" [drm] radeon kernel modesetting enabled. And part of Xorg.0.log: [ 47.459] (EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM ... [ 48.896] (WW) RADEON(0): Direct rendering disabled
Created attachment 43972 [details] Xorg.0.log
(In reply to comment #4) > CONFIG_EXTRA_FIRMWARE="radeon/R100_cp.bin radeon/R200_cp.bin" Confusingly, the RV200 is an R100 family GPU. > radeonfb 0000:01:05.0: power state changed by ACPI to D0 radeonfb conflicts with radeon KMS. Disable it.
Still no direct rendering. I recompiled the kernel without radeonfb: $ less .config | grep RADEON CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y # CONFIG_FB_RADEON is not set $ dmesg | grep radeon Linux version 2.6.37-radeon (doehni@firefly) (gcc version 4.5.2 20110127 (prerelease) (GCC) ) #2 SMP PREEMPT Tue Mar 1 22:25:44 CET 2011 Kernel command line: root=/dev/hda2 resume=/dev/hda5 radeon.modeset=1 vga=0x342 ro [drm] radeon kernel modesetting enabled. fb: conflicting fb hw usage radeondrmfb vs VESA VGA - removing generic driver radeon 0000:01:05.0: power state changed by ACPI to D0 radeon 0000:01:05.0: power state changed by ACPI to D0 radeon 0000:01:05.0: PCI INT A -> Link[LNK0] -> GSI 10 (level, low) -> IRQ 10 [drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19 radeon 0000:01:05.0: VRAM: 64M 0x000000001C000000 - 0x000000001FFFFFFF (64M used) radeon 0000:01:05.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF [drm] radeon: irq initialized. [drm] radeon: 64M of VRAM memory ready [drm] radeon: 512M of GTT memory ready. radeon 0000:01:05.0: WB enabled [drm] radeon: ring at 0x0000000020001000 [drm:r100_ring_test] *ERROR* radeon: ring test failed (sracth(0x15E4)=0xCAFEDEAD) [drm:r100_cp_init] *ERROR* radeon: cp isn't working (-22). radeon 0000:01:05.0: failled initializing CP (-22). radeon 0000:01:05.0: Disabling GPU acceleration [drm] radeon: cp finalized fb0: radeondrmfb frame buffer device [drm] Initialized radeon 2.7.0 20080528 for 0000:01:05.0 on minor 0 And Xorg.0.log: [ 47.578] (WW) RADEON(0): Direct rendering disabled
(In reply to comment #7) > [drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19 What does grep AGP .config say? If the radeon kernel module is loaded from the initrd, that might be missing the ati-agp kernel module. If that's not it, there might be more output related to this failure in dmesg, can you attach the whole thing? Does booting with radeon.agpmode=-1 work around the problem?
$ grep AGP .config CONFIG_AGP=y CONFIG_AGP_ALI=m CONFIG_AGP_ATI=m CONFIG_AGP_AMD=m CONFIG_AGP_AMD64=m # CONFIG_AGP_INTEL is not set # CONFIG_AGP_NVIDIA is not set # CONFIG_AGP_SIS is not set # CONFIG_AGP_SWORKS is not set # CONFIG_AGP_VIA is not set # CONFIG_AGP_EFFICEON is not set Should I compile with CONFIG_AGP_ATI=y? >Does booting with radeon.agpmode=-1 work around the problem? This doesn't work. dmesg output following.
Created attachment 44118 [details] dmesg
(In reply to comment #9) > Should I compile with CONFIG_AGP_ATI=y? If that helps, the problem is probably that the ati-agp kernel module is missing from the initrd or wherever the radeon kernel module is getting loaded from.
It works! :) $ glxinfo | grep render direct rendering: Yes OpenGL renderer string: Mesa DRI R100 (RS200 4337) 20090101 x86/MMX/SSE2 NO-TCL DRI2 That are the kernel configuations that are working for me: CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="radeon/R100_cp.bin radeon/R200_cp.bin" CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/" CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y # CONFIG_FB_RADEON is not set CONFIG_AGP_ATI=y Thank you all for your nice and fast help! :)
Mass closure: This bug has been untouched for more than six years, and is not obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.