You are not logged in.
The "early" way is not working, in another word, just add "radeon" module to MODULES line in/etc/mkinitcpio.conf not working.
dmesg shows that system can't find and load radeon firmware, which i already installed. And i think this because /boot/kernel26.img doesn't contain /lib/firmware/random/*. so i add "firmware" hook to HOOKS line in /etc/mkinitcpio.conf, and regenerate kernel image. But still doesn't work.
Here "does't work" means system will hang up for about 1 min, and X will only have software renderer.
But loading "radeon" later will be OK, means add radeon to MODULES line in rc.conf wil be fine. but plymouth will not work fine then.
hope you can understand what i am talking about.
Offline
Understood, and confirmed. Same error here.
Post a bug report, or I can do it later (no time right now).
Moving to testing forum.
Offline
the radeon and drm module is asking for firmware, which wasn't packed into the initramfs file.
anyway, the rc.conf way doesn't look much different, so use this one for now
Offline
b4283 - please read carefully before responding. jarryson has already tried adding the firmware to the intramfs image, without success, and the rc.conf method is of no use to him because of plymouth. All of this in his first post.
Offline
i'll be very appreciate if you can do this, i can't discribe as i want to sometime. lack of english.
Offline
my mistake.
my view is that maybe the modules are loaded before hooks are do.
so what you could try doing is figure out hook files and write a hook to load module radeon after hook firmware.
Offline
This really should be fixed in the official repos, but, in the meanwhile, you can try the radeon-initrd package from AUR. Just install the package and add "radeon" to your mkinitcpio hooks somewhere after "udev".
Running Arch on a Dell Studio 1735. xmonad FTW! Dotfiles here.
Want free cloud-based file sharing? Sign up for Dropbox and we both get some bonus storage!
Offline
No, that doesn't work either - same error as before.
Offline
jarryson - fyi, relevant ML thread here.
Offline
I found a hacky fix in the comments for the radeon-firmware aur package by csslayer. I created a package called radeon-initrd that contains csslayers radeon hook that fixes the issue and works for me.
Offline
Works with 2.6.31, yes. This thread is about 2.6.32, which is now available in the testing repo, and which does not work with your hook.
Offline
Well it was working with 2.6.32-rc8...
Offline
well, radeon hook works for me with 2.6.32
here's my mkinitcpio.conf:
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES=""
# BINARIES
# This setting includes, into the CPIO image, and additional
# binaries a given user may wish. This is run first, so may
# be used to override the actual binaries used in a given hook.
# (Existing files are NOT overwritten is already added)
# BINARIES are dependancy parsed, so you may safely ignore libraries
BINARIES=""
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in anyway. This is useful for config files.
# Some users may wish to include modprobe.conf for custom module options,
# like so:
# FILES="/etc/modprobe.conf"
FILES=""
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'modload' may be used in place of 'udev', but is not recommended
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
# This setup specifies all modules in the MODULES setting above.
# No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
# This setup will autodetect all modules for your system and should
# work as a sane default
# HOOKS="base udev autodetect pata scsi sata filesystems"
#
# This is identical to the above, except the old ide subsystem is
# used for IDE devices instead of the new pata subsystem.
# HOOKS="base udev autodetect ide scsi sata filesystems"
#
# This setup will generate a 'full' image which supports most systems.
# No autodetection is done.
# HOOKS="base udev pata scsi sata usb filesystems"
#
# This setup assembles an pata raid array with an encrypted root FS.
# Note: See 'mkinitcpio -H raid' for more information on raid devices.
# HOOKS="base udev pata raid encrypt filesystems"
#
# This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev usb lvm2 filesystems"
HOOKS="base radeon udev autodetect pata scsi sata filesystems keymap"
# COMPRESSION
# Use this to compress the initramfs image. With kernels earlier than
# 2.6.30, only gzip is supported, which is also the default. Newer kernels
# support gzip, bzip2 and lzma.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
COMPRESSION="lzma"
Offline
In fact, don't need radeon hook at all, MODULES shouldn't have radeon, the autotect hook will add the radeon.ko to the kernel26.img, otherwise the system loads the radeon before udev start. Just add firmware to the HOOKS. The firmware hook add all firmware under /lib/firmware to kernel26.img like what radeon hook does(radeon hook add only radeon firmware).
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES=""
# BINARIES
# This setting includes, into the CPIO image, and additional
# binaries a given user may wish. This is run first, so may
# be used to override the actual binaries used in a given hook.
# (Existing files are NOT overwritten is already added)
# BINARIES are dependancy parsed, so you may safely ignore libraries
BINARIES=""
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in anyway. This is useful for config files.
# Some users may wish to include modprobe.conf for custom module options,
# like so:
# FILES="/etc/modprobe.conf"
FILES=""
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'modload' may be used in place of 'udev', but is not recommended
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
# This setup specifies all modules in the MODULES setting above.
# No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
# This setup will autodetect all modules for your system and should
# work as a sane default
# HOOKS="base udev autodetect pata scsi sata filesystems"
#
# This is identical to the above, except the old ide subsystem is
# used for IDE devices instead of the new pata subsystem.
# HOOKS="base udev autodetect ide scsi sata filesystems"
#
# This setup will generate a 'full' image which supports most systems.
# No autodetection is done.
# HOOKS="base udev pata scsi sata usb filesystems"
#
# This setup assembles an pata raid array with an encrypted root FS.
# Note: See 'mkinitcpio -H raid' for more information on raid devices.
# HOOKS="base udev pata raid encrypt filesystems"
#
# This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev usb lvm2 filesystems"
HOOKS="base udev autodetect pata scsi sata filesystems firmware"
# COMPRESSION
# Use this to compress the initramfs image. With kernels earlier than
# 2.6.30, only gzip is supported, which is also the default. Newer kernels
# support gzip, bzip2 and lzma.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
Offline
In fact, don't need radeon hook at all, MODULES shouldn't have radeon, the autotect hook will add the radeon.ko to the kernel26.img, otherwise the system loads the radeon before udev start. Just add firmware to the HOOKS. The firmware hook add all firmware under /lib/firmware to kernel26.img like what radeon hook does(radeon hook add only radeon firmware).
<snip>
I've tried adding firmware hook to my mkinitcpio.conf as you've suggested, but unfortunately it doesn't work.
Offline
To those who have this working - can you confirm that your system does not hang for approx 1 minute during boot, with this message:
platform radeon_cp.0: firmware: requesting radeon/R300_cp.bin
and can you also confirm that after your system has finished booting, dmesg does not show the following messages:
platform radeon_cp.0: firmware: requesting radeon/R300_cp.bin
radeon_cp: Failed to load firmware "radeon/R300_cp.bin"
[drm:r100_cp_init] *ERROR* Failed to load firmware!
radeon 0000:01:05.0: failled initializing CP (-2).
radeon 0000:01:05.0: Disabling GPU acceleration
Offline
@tomk
it does not hang anywhere during the boot process
[drm] Initialized drm 1.1.0 20060810
SCSI subsystem initialized
[drm] radeon defaulting to kernel modesetting.
[drm] radeon kernel modesetting enabled.
radeon 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
radeon 0000:01:00.0: setting latency timer to 64
[drm] radeon: Initializing kernel modesetting.
[drm] register mmio base: 0xFDFF0000
[drm] register mmio size: 65536
ATOM BIOS: Asus
[drm] GPU reset succeed (RBBM_STATUS=0x10000140)
[drm] Generation 2 PCI interface, using max accessible memory
[drm] radeon: VRAM 128M
[drm] radeon: VRAM from 0x00000000 to 0x07FFFFFF
[drm] radeon: GTT 512M
[drm] radeon: GTT from 0x20000000 to 0x3FFFFFFF
radeon 0000:01:00.0: irq 28 for MSI/MSI-X
[drm] radeon: irq initialized.
[drm] Detected VRAM RAM=128M, BAR=128M
[drm] RAM width 64bits DDR
[TTM] Zone kernel: Available graphics memory: 1028908 kiB.
[drm] radeon: 128M of VRAM memory ready
[drm] radeon: 512M of GTT memory ready.
[drm] GART: num cpu pages 131072, num gpu pages 131072
[drm] RB2D reset succeed (RBBM_STATUS=0x10000140)
[drm] radeon: 1 quad pipes, 1 z pipes initialized.
[drm] PCIE GART of 512M enabled (table at 0x00040000).
[drm] radeon: cp idle (0x10000C03)
[drm] Loading R500 Microcode
platform radeon_cp.0: firmware: requesting radeon/R520_cp.bin
Offline
After i removed "radeon" from MODULES, no more 1 minute hang with that message.
[drm] Initialized drm 1.1.0 20060810
HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[drm] radeon defaulting to kernel modesetting.
[drm] radeon kernel modesetting enabled.
radeon 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[drm] radeon: Initializing kernel modesetting.
[drm] register mmio base: 0xFDFF0000
[drm] register mmio size: 65536
ATOM BIOS: ATI
[drm] GPU reset succeed (RBBM_STATUS=0x10000140)
[drm] radeon: VRAM 32M
[drm] radeon: VRAM from 0x00000000 to 0x01FFFFFF
[drm] radeon: GTT 512M
[drm] radeon: GTT from 0x20000000 to 0x3FFFFFFF
radeon 0000:01:05.0: irq 26 for MSI/MSI-X
[drm] radeon: irq initialized.
[drm] Detected VRAM RAM=32M, BAR=32M
[drm] RAM width 64bits DDR
[TTM] Zone kernel: Available graphics memory: 495658 kiB.
[drm] radeon: 32M of VRAM memory ready
[drm] radeon: 512M of GTT memory ready.
[drm] GART: num cpu pages 131072, num gpu pages 131072
[drm] radeon: 1 quad pipes, 1 z pipes initialized.
[drm] radeon: cp idle (0x10000C03)
[drm] Loading RS690/RS740 Microcode
platform radeon_cp.0: firmware: requesting radeon/RS690_cp.bin
hda_codec: ALC662 rev1: BIOS auto-probing.
input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input6
[drm] radeon: ring at 0x0000000020000000
[drm] ring test succeeded in 2 usecs
[drm] radeon: ib pool ready.
[drm] ib test succeeded in 0 usecs
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] VGA
[drm] DDC: 0x7e50 0x7e40 0x7e54 0x7e44 0x7e58 0x7e48 0x7e5c 0x7e4c
[drm] Encoders:
[drm] CRT1: INTERNAL_KLDSCP_DAC1
[drm] Connector 1:
[drm] S-video
[drm] Encoders:
[drm] TV1: INTERNAL_KLDSCP_DAC1
[drm] Connector 2:
[drm] DVI-D
[drm] DDC: 0x7e40 0x7e60 0x7e44 0x7e64 0x7e48 0x7e68 0x7e4c 0x7e6c
[drm] Encoders:
[drm] DFP2: INTERNAL_DDI
[drm] Connector 3:
[drm] DVI-D
[drm] DDC: 0x7e40 0x7e50 0x7e44 0x7e54 0x7e48 0x7e58 0x7e4c 0x7e5c
[drm] Encoders:
[drm] DFP3: INTERNAL_LVTM1
[drm:edid_is_valid] *ERROR* Raw EDID:
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
radeon 0000:01:05.0: DVI-D-1: EDID invalid.
[drm:edid_is_valid] *ERROR* Raw EDID:
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
radeon 0000:01:05.0: DVI-D-1: EDID invalid.
[drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
[drm] fb mappable at 0xFA040000
[drm] vram apper at 0xFA000000
[drm] size 3145728
[drm] fb depth is 24
[drm] pitch is 4096
executing set pll
executing set crtc timing
[drm] TV-9: set mode 1024x768 1e
Console: switching to colour frame buffer device 128x48
fb0: radeondrmfb frame buffer device
registered panic notifier
[drm] Initialized radeon 2.0.0 20080528 for 0000:01:05.0 on minor 0
Last edited by btgo (2009-12-07 11:23:16)
Offline
btgo wrote:In fact, don't need radeon hook at all, MODULES shouldn't have radeon, the autotect hook will add the radeon.ko to the kernel26.img, otherwise the system loads the radeon before udev start. Just add firmware to the HOOKS. The firmware hook add all firmware under /lib/firmware to kernel26.img like what radeon hook does(radeon hook add only radeon firmware).
<snip>
I've tried adding firmware hook to my mkinitcpio.conf as you've suggested, but unfortunately it doesn't work.
Do you include "radeon" in MODULES? After I removed "radeon" from MODULES and regenerate the kernel.img, i dont have 1 minute hang any more.
Last edited by btgo (2009-12-07 11:35:35)
Offline
Do you include "radeon" in MODULES? After I removed "radeon" from MODULES and regenerate the kernel.img, i dont have 1 minute hang any more.
Well, yes, removing radeon from MODULE array does eliminate 1 minute hang, but that's kinda ruins the point because we are trying to get the early method to start KMS on ATI card working again.
For the record, late start method is working fine here (Radeon X700).
Last edited by zodmaner (2009-12-07 12:03:02)
Offline
ras0ir - thanks, working now. I thought I had tried that already - obviously I did something wrong.
Actually, that radeon hook can be simplified as follows:
install ()
{
MODULES=" radeon "
BINARIES=""
FILES=""
SCRIPT=""
}
i.e. the 'add_full_dir' line is no longer required because mkinitcpio locates and installs the firmware for any specified module using modinfo.
Offline
Early start is not working here (radeonhd 2400), the machine hangs as soon as it tries to load the radeon module ... maybe it is the 1min wait problem.
Edit: It was the 1 min or so wait problem.
Late start works though, even without needing to add radeon to the modules array in rc.conf.
Edit:
I as a rookie was not doing it properly XD.
For anyone that comes here trying to get an early kms this is what I did (just a summary of the above anyway).
1) Go to /lib/initcpio/install
2) Create a file named radeon containing:
# vim: set ft=sh:
install ()
{
MODULES=" radeon "
BINARIES=""
FILES=""
SCRIPT=""
}
help ()
{
cat<<HELPEOF
This hook adds the radeon stuff (hopefully).
HELPEOF
}
3) Edit your mkinitcpio.conf and add radeon to the HOOKS line _only_ it should look similar to this:
HOOKS="base radeon udev autodetect pata scsi sata usbinput keymap filesystems"
4) Rebuilt your initramfs and reboot
This did the trick for me.
Last edited by R00KIE (2009-12-07 22:10:37)
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
ras0ir - thanks, working now. I thought I had tried that already - obviously I did something wrong.
Actually, that radeon hook can be simplified as follows:
install () { MODULES=" radeon " BINARIES="" FILES="" SCRIPT="" }
i.e. the 'add_full_dir' line is no longer required because mkinitcpio locates and installs the firmware for any specified module using modinfo.
not working for me yet, radeon hook placed correctly and initrd regenerated, but still only late kms start. that is, assuming that early start should be right after grub, right..?
ᶘ ᵒᴥᵒᶅ
Offline
I guess you will still see some kernel messages, I have quiet in my kernel line and I still see a few lines with the resolution grub uses, if you don't have quiet in your kernel line I think you will see lots of stuff scroll by.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
Can confirm this, using that radeon hook OR the firmawre hook lets everything start up nicely without delays, but kms kicks in during init-phase, not immediately after grub hands off. also if you place the firmware hook(and probably radeon also) before udev you will get 'out of sync' error with your display(system still starts up and goes into x with dri enabled just fine though)
EDIT: no, I never saw any output before, with and without quiet option
Last edited by hungerfish (2009-12-07 22:14:11)
Beetles and bacteria are vastly more successful than humans in terms of survival.
Offline