Hi all, I'm having some issues getting KMS up and running on my RV770 [Radeon HD 4850].
I'm running Kubuntu 9.10 and have added the xorg-edgers repository, and installed 2.6.33-rc4. I've also copied the R700_rlc.bin firmware into /lib/firmware/2.6.33-020633rc4-generic/radeon/
Booting with radeon.modeset=1 doesn't work: the splash screen doesn't appear at native resolution, and I end up with a blank screen when KDM is supposed to appear.
3D works fine if I remove radeon.modeset=1 from the boot command, though obviously without the benefit of KMS or DRI2.
Can anyone help me out with getting KMS working? I've attached the dmesg and Xorg.log from the failed boot.
Thanks!
Xorg.log
dmesg
These two logs are strange. Second doesn't say anything about drm and radeon module, but first says that KMS is enabled and DRI connection is opened. Are they really from the same session?
I had problems with 33-rc3/4 kernels, but I've never had plymouth (even with lucid kernels). The problem was radeon module didn't load at all. I applied something like this upon /usr/share/initramfs-tools/scripts/init-top/framebuffer:
And recreated initrd (update-initramfs -u -k all). This makes initrd modprobe radeon with modeset=1 in case of radeon.modeset=1 on command line. It does that before plymouth in initrd starts, but as I said plymouth doesn't work for me and have never worked before (but this could be my problem). I don't know if this solution is right, but it's what I did to have KMS.Code:--- framebuffer 2010-01-15 18:58:06.865600765 +0100 +++ /usr/share/initramfs-tools/scripts/init-top/framebuffer 2010-01-11 17:56:27.017420971 +0100 @@ -70,6 +70,10 @@ FB=${x#*=} FB="${FB%%:*}" OPTS="$(parse_video_opts "${x}")" + ;; + radeon.modeset=1) + FB=radeon + OPTS="modeset=1" esac done
Another reason is too old userspace. I am using future Lucid packages, Karmic userspace can be too old. But xorg-edgers should suffice...
Thanks for that - I don't believe they were.
I did 'rm dmesg* Xorg*' in /var/log and booted the 2.6.33-rc4 kernel, then after it locked up booted back to 2.6.31, and it turned out that while dmesg and Xorg.0.log for the 2.6.33-rc4 boot were being generated, they were empty.
kern.log had the following lines though:
So it looks like kms just isn't initialising properly. Not sure what error -22 is (firmware?). Anyone know what's going on?Code:Jan 17 19:28:51 dell kernel: [ 2.249425] [drm] Initialized drm 1.1.0 20060810 Jan 17 19:28:51 dell kernel: [ 2.255682] usbcore: registered new interface driver hiddev Jan 17 19:28:51 dell kernel: [ 2.255747] usbcore: registered new interface driver usbhid Jan 17 19:28:51 dell kernel: [ 2.255749] usbhid: v2.6:USB HID core driver Jan 17 19:28:51 dell kernel: [ 2.262964] [drm] radeon kernel modesetting enabled. Jan 17 19:28:51 dell kernel: [ 2.263118] ohci1394 0000:06:07.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23 Jan 17 19:28:51 dell kernel: [ 2.263775] radeon 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 Jan 17 19:28:51 dell kernel: [ 2.263779] radeon 0000:01:00.0: setting latency timer to 64 Jan 17 19:28:51 dell kernel: [ 2.264948] [drm] radeon: Initializing kernel modesetting. Jan 17 19:28:51 dell kernel: [ 2.264950] [drm:radeon_driver_load_kms] *ERROR* Failed to initialize radeon, disabling IOCTL Jan 17 19:28:51 dell kernel: [ 2.265003] radeon 0000:01:00.0: PCI INT A disabled Jan 17 19:28:51 dell kernel: [ 2.265024] radeon: probe of 0000:01:00.0 failed with error -22![]()
As described on the X.Org Wiki, I blacklisted the radeon module and booted to a recovery console. 'modprobe radeon' worked and gave me the correct resolution!
This is the dmesg from that session (see from 36 seconds where I manually modprobed). It looks like it's working, so not sure why it won't in a normal boot.
There are a few suspicious lines such as:
Code:[ 36.709869] mtrr: type mismatch for d0000000,10000000 old: write-back new: write-combiningCode:[ 36.992526] No connectors reported conncted with modes..though I don't know if they're significant. Can anyone help me out?Code:[ 37.113104] registered panic notifier
For some reason, the radeon module wasn't loading properly by default.
I added 'radeon' it to /etc/modules, and now have a working KMS/DRI2 desktop with my RV770 card!![]()
Why not compile the radeon mudule into the kernel instead? That way you'll even have a KMS framebuffer console right after Grub.