PDA

View Full Version : R600/r700 kms - no go


netkas
10-11-2009, 03:46 PM
Ubuntu 9.04 system, hd4850

compiled/tried two kernels - latest from drm-next(few days old git) and 2.6.32-rc3-git3
xf86-video-ati from git

booting with argument - radeon.modeset=1 results in black screen as soon as X starts, system still working.

if i try to switch to console (ctrl-alt-f1) system seems to freeze (no reaction on caps lock pressing).

tried also with and without vesafb module builtin(with option vga=838)

no go at all.

what can I try ?

also tried to boot with single option then modprobe radeon, seems it worked once, for console

from dmesg, with drm-next kernel
[ 35.738973] [drm] Initialized drm 1.1.0 20060810
[ 35.792593] [drm] radeon kernel modesetting enabled.
[ 35.792637] radeon 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 35.792640] radeon 0000:01:00.0: setting latency timer to 64
[ 35.794100] [drm] radeon: Initializing kernel modesetting.
[ 35.794120] [drm] register mmio base: 0xE5000000
[ 35.794121] [drm] register mmio size: 65536
[ 35.794177] ATOM BIOS: Wekiva
[ 35.794182] [drm] Clocks initialized !
[ 35.794192] mtrr: type mismatch for d0000000,10000000 old: write-back new: write-combining
[ 35.794194] [drm] Detected VRAM RAM=256M, BAR=256M
[ 35.794195] [drm] RAM width 128bits DDR
[ 35.794256] [TTM] Zone kernel: Available graphics memory: 4090722 kiB.
[ 35.794257] [TTM] Zone dma32: Available graphics memory: 2097152 kiB.
[ 35.794268] [drm] radeon: 256M of VRAM memory ready
[ 35.794269] [drm] radeon: 512M of GTT memory ready.
[ 35.794295] [drm] Loading RV770 CP Microcode
[ 35.794440] platform radeon_cp.0: firmware: requesting radeon/RV770_pfp.bin
[ 35.840675] platform radeon_cp.0: firmware: requesting radeon/RV770_me.bin
[ 35.863403] [drm] GART: num cpu pages 131072, num gpu pages 131072
[ 35.895784] [drm] ring test succeeded in 1 usecs
[ 35.895851] [drm] radeon: ib pool ready.
[ 35.895899] [drm] ib test succeeded in 0 usecs
[ 35.895995] [drm] Radeon Display Connectors
[ 35.895996] [drm] Connector 0:
[ 35.895997] [drm] DVI-I
[ 35.895998] [drm] DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
[ 35.895999] [drm] Encoders:
[ 35.896005] [drm] DFP1: INTERNAL_UNIPHY
[ 35.896006] [drm] CRT2: INTERNAL_KLDSCP_DAC2
[ 35.896007] [drm] Connector 1:
[ 35.896007] [drm] DIN
[ 35.896008] [drm] Encoders:
[ 35.896009] [drm] TV1: INTERNAL_KLDSCP_DAC2
[ 35.896010] [drm] Connector 2:
[ 35.896011] [drm] DVI-I
[ 35.896012] [drm] DDC: 0x7e20 0x7e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c
[ 35.896013] [drm] Encoders:
[ 35.896014] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 35.896015] [drm] DFP2: INTERNAL_KLDSCP_LVTMA
[ 36.035774] [drm] fb mappable at 0xD0141000
[ 36.035775] [drm] vram apper at 0xD0000000
[ 36.035776] [drm] size 7257600
[ 36.035777] [drm] fb depth is 24
[ 36.035778] [drm] pitch is 6912
[ 36.035815] fb0: radeondrmfb frame buffer device
[ 36.035817] registered panic notifier
[ 36.035820] [drm] Initialized radeon 2.0.0 20080528 for 0000:01:00.0 on minor 0

pingufunkybeat
10-11-2009, 03:58 PM
Are your libdrm and mesa also from git?

Are you sure you disabled all framebuffer devices?

netkas
10-11-2009, 04:11 PM
Are your libdrm and mesa also from git?

Are you sure you disabled all framebuffer devices?

yes, those from drm..

disabled all fb devices ?

vesafb and etc ? nop, it works if i boot without radeon.modeset=1, then modprobe radeon modeset=1

I have a screen this way, but X11 kills it when it starts

and no matter was vesafb loaded or not

Ahh, no I see, ./configure for ati driver says kms : no :(

so, Updated xorg server to 1.6.3 (xf86-video-ati configure output needs to be more imformative)

recompiled ati driver and all works fine, except that i have to manualy make - modprobe radeon modeset=1 , otherwise black screen when X starts

if I add radeom modeset=1 to /etc/modules, then i get half of screen visible, and another half is black, system freeze.

without passing vga=838 options to kernel - freeze as soon as radeon modeset=1 loaded

agd5f
10-12-2009, 11:15 AM
you need to load fbcon to get console once the drm loads.

netkas
10-12-2009, 11:18 AM
you need to load fbcon to get console once the drm loads.

console is working when drm loaded, but sometimes (rarely) it gets me black screen.

When booted with radeon.modeset=1 (or radeon modeset=1 added to /etc/modules, or another way to load module automaticaly) - i get black screen when X starts up

Only way to get it working - boot with option - single, then modprobe radeon modeset=1, then resume booting.

cklein
11-13-2009, 03:16 AM
I'm having the same problem. I use Ubuntu 9.10 with xorg-edgers and kernel 2.6.32-rc6 from Kernel PPA, with a Radeon HD2400.

When using KMS (through "option radeon modeset=1" in /etc/modules), as soon as X starts, I get a blank screen and the system freezes.

netkas
11-13-2009, 03:55 PM
tried 2.6.32-rc7.

All the same, even worse, with rc5 if I run xinit glxgears -- /usr/bin/Xorg -ac -config /etc/X11/xorg.conf , with previously loaded radeon (modeset=1) - it always was woeking.

Now with rc7, half of time I'm getting system freeze with lower half of screen showing some pic with colored snow.

agd5f
11-13-2009, 06:04 PM
you might try Dave's drm-radeon-testing branch.

d2kx
11-14-2009, 04:46 AM
agd5f (or some other dev),

do you already know if you will be able to enable KMS by default in Linux 2.6.33 or 2.6.34?

I am asking because Ubuntu Lucid will be using Linux 2.6.33.

bridgman
11-14-2009, 08:29 AM
KMS is already enabled by default in Fedora 12, and it looks like the bulk of the KMS fixes are making it into 2.6.32, so it *seems* likely that 2.6.33 would be suitable.

cklein
11-14-2009, 02:33 PM
tried 2.6.32-rc7.

All the same, even worse, with rc5 if I run xinit glxgears -- /usr/bin/Xorg -ac -config /etc/X11/xorg.conf , with previously loaded radeon (modeset=1) - it always was woeking.

Now with rc7, half of time I'm getting system freeze with lower half of screen showing some pic with colored snow.

I made KMS work with the following config:

* kernel 2.6.32-rc7 from Kernel PPA
* everything from xorg-edgers PPA
* in /etc/modules added "radeon modeset=1"
* removed "splash" from kernel command-line

Tested:
* resume / suspend works fine
* 3D graphics (glxgears, supertux2) work fine
* XVideo
* full-effects

Added bonus: xrandr reports a maximum virtual size of 8192x8192 (is this a side-effect or on purpose?)

Problem: when glxgears + compiz is running, systems does not suspend, VT switch gives blank screen. If I (blindly) type "killall glxgears" system continues fine. It seems as if there is a fairness problem and glxgears gets the whole GPU for itself.

monraaf
11-14-2009, 04:15 PM
I made KMS work with the following config:

* kernel 2.6.32-rc7 from Kernel PPA
* everything from xorg-edgers PPA
* in /etc/modules added "radeon modeset=1"
* removed "splash" from kernel command-line


Thanks by moving radeon.modeset from grub to /etc/modules I also got KMS working, for the rest I'm also using kernel 2.6.32-rc7 and xorg-edgers ppa.

First impressions of kms:

Scrolling web pages in Firefox seems slower, it also sometimes gives me colored 'snow' and screen blanking.

A quick test with Half-Life 2 shows an increase in frame rate up to 20fps in certain areas, although there are some rendering issues introduced.

netkas
11-15-2009, 03:49 AM
reinstalled libdrm from ppa, now it works, looks like mine wasnt good. also recompiled video-ati + edited /etc/modules

On ubuntu need to remove splash boot option.

cklein
11-16-2009, 03:52 AM
Thanks by moving radeon.modeset from grub to /etc/modules I also got KMS working, for the rest I'm also using kernel 2.6.32-rc7 and xorg-edgers ppa.

First impressions of kms:

Scrolling web pages in Firefox seems slower, it also sometimes gives me colored 'snow' and screen blanking.

A quick test with Half-Life 2 shows an increase in frame rate up to 20fps in certain areas, although there are some rendering issues introduced.

Scrolling is not only slow in Firefox, but also in Okular. IIRC, developers know about this.

DanL
11-18-2009, 08:06 PM
I also have performance issues with the xorg-edgers PPA.
LIBGL_DEBUG=verbose glxinfo shows:
libGL error: dlopen /usr/lib/dri/r600_dri.so failed (/usr/lib/dri/r600_dri.so: undefined symbol: radeon_bo_is_referenced_by_cs)

It looks like it's fixed by this commit that was released a couple of hours ago in libdrm: http://cgit.freedesktop.org/mesa/drm/commit/?id=b4312b639d56a6cad78953af0fd4f863182007e3

forum1793
11-22-2009, 10:13 AM
Questions regarding KMS for 780g integrated (HD3200) (RS780)

1. If using kernel 2.6.32-rc(7 or 8) do we still need to pull in Airlied's drm-next?
--- http://wiki.x.org/wiki/radeonBuildHowTo says need it for 2.6.31
1.a. If yes, I've untarred kernel but not sure how to convert the kernel code to a git or where to place the git drm-next code. Advise?
--- To work with compiled kernel, it must be part of kernel tree, right?
--- I haven't been using initrd with customs but have used with a few filesystems. If people are putting firmware in initrd, how?

2. Help with kernel configuration options for the firmware. Normally and for security reasons I use the following:
-- Yes, I have the staging - kms for radeon enabled.
--- I couldn't deselect the support for framebuffer general option but I have deselected all framebuffer options under it. Do we need any of these such as edid?

-----------------------------------------------------
This didn't work. Long delay at boot and with dmesg error about firmware

From kernel configuration: make menuconfig
Device Drivers->
Generic Driver Options ->
(/sbin/hotplug) path to uevent helper
[ ] Create a kernel maintained /dev tmpfs (EXPERIMENTAL)

Select only drivers that don't need compile-time external firmware

Prevent firmware from being built
-*- Userspace firmware loading support
[ ] Include in-kernel firmware blobs in kernel binary
() External firmware blobs to build into the kernel binary


I'v had some partial success with the following

From kernel configuration: make menuconfig
Device Drivers->
Generic Driver Options ->
(/sbin/hotplug) path to uevent helper
[ ] Create a kernel maintained /dev tmpfs (EXPERIMENTAL)
[ ] Select only drivers that don't need compile-time external firmware
[ ] Prevent firmware from being built
-*- Userspace firmware loading support

Include in-kernel firmware blobs in kernel binary
() External firmware blobs to build into the kernel binary

Which of the firmware options do we need to change and what should they be?

What are other using that have had success with KMS?

forum1793
11-22-2009, 11:23 AM
I got KMS working.

Recompile libdrm with --enable-radeon-experimental-api

Evidently Airlied's drm-next code is part of 2.6.32 and updating gits not needed?

But would still like clarity on questions regarding kernel configuration settings for firmware.

Xorg.0.log now shows
(II) [KMS] Kernel modesetting enabled.
...
(II) RADEON(0): [DRI2] Setup complete

The DRI2 part seems new. Good.

Tried UrbanWarfare and the 3d part seems to work as good as 3D did before with agd5f's git code drm modules.

Good job to devs.