# [Solved] Radeon X700 KMS Not Working

## dennisn

I still don't have KMS working on boot, with my "older" ATI Radeon Mobility X700 (rv410) video card. I am still forced to disable modesetting (radeon.modeset=0, with the 3.9.0 kernel), and then reload the module with modesetting=1 afterwards in order to use the newer xorg's.

With modesetting enabled (the default), my system will always hang, and the last thing shown on screen is something from udev waiting to populate /dev. Keyboard input is ignored and I'm forced to 4-second-power-button-off.

Also, if I keep modesetting disabled, and not even run X -- just remain in text mode -- I can't resume properly after suspending my laptop. Upon powering back up, the screen is either black or garbled with vertical lines. Keyboard works, and I can reboot, but the video isn't working.

Sigh.Last edited by dennisn on Fri May 03, 2013 2:26 pm; edited 1 time in total

----------

## Ant P.

Post the output of:

```
ls -l /lib/firmware/radeon

emerge -s radeon-ucode
```

----------

## chithanh

rv410 does not need external firmware.

Is DRM_RADEON in your kernel config set to "m" or to "y"?

----------

## dennisn

```
CONFIG_DRM_RADEON=m

CONFIG_DRM_RADEON_UMS=y

# CONFIG_FB_RADEON is not set
```

I have to set it to =m now, and enable the new DRM_RADEON_UMS option, in order to unload/reload the module with modesetting after booting. (It can't boot with modesetting enabled. And I need modesetting for xorg.)

----------

## chithanh

If DRM_RADEON=m then KMS enabled does not matter for boot. KMS will only be activated when udev loads the radeon kernel module. So blacklist it in /etc/modprobe.d to achieve the same effect.

----------

## dennisn

Ah yea. With DRM_RADEON=y (builtin) it fails to boot (to reach the init stage). The last message printed on screen is: "radeon 0000:01:00.0: radeon: using MSI.", or "[drm] Driver supports precise vblank timestamp query." if I set radeon.msi=0. I think the next printed message /should/ be "[drm] radeon: irq initialized."?

But modesetting *does* work, if I load the module later on! After init'ing, when I "modprobe radeon modeset=1", dmesg says:

```
Console: switching to colour frame buffer device 160x50

radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device

radeon 0000:01:00.0: registered panic notifier

[drm] Initialized radeon 2.30.0 20080528 for 0000:01:00.0 on minor 0
```

Maybe the order that the kernel loads things (radeon before fbcon?) is an issue? :s

----------

## VoidMage

I found it convenient to simply have CONFIG_FRAMEBUFFER_CONSOLE=y.

----------

## dennisn

I have that too. (Neither way makes much of a difference for me though.)

Did you have similar problems?

----------

## kernelOfTruth

*subscribed*

I might need this info for an older laptop later

thanks

----------

## VoidMage

 *dennisn wrote:*   

> I have that too. (Neither way makes much of a difference for me though.)
> 
> Did you have similar problems?

 

No and my card is significantly older than yours.

Pastebin your kernel config and post kernel boot line.

----------

## dennisn

I got booting with KMS working by undoing kernel patch:

```
2099810f903caa1920f3ef6014fb7f36e4786490

drm/radeon: enable pci bus mastering after card is initialised (v2)
```

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=2099810f903caa1920f3ef6014fb7f36e4786490

I got resuming-from-suspend to work by installing app-laptop/radeontool and executing the following after resuming from a suspend:

```
 radeontool light off

  radeonreg regset 0x00000284 0x1bd34208

  radeonreg regset 0x000002d0 0x003c00a1

  radeonreg regset CL:03 0x001c0007

  radeonreg regset CL:04 0x0002004a

  radeonreg regset CL:05 0x0002004a

  radeonreg regset CL:06 0x0002004a

  radeontool light on
```

(You can find what those values probably should be while it's working with "radeonreg regmatch CL:03" etc.)

----------

