FS#16149 - [kernel26] Requesting CONFIG_DRM_RADEON_KMS=y in kernel26-2.6.31-1

Attached to Project: Arch Linux
Opened by Connor Behan (connorbehan) - Saturday, 12 September 2009, 00:48 GMT
Last edited by Tobias Powalowski (tpowa) - Monday, 02 November 2009, 20:07 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Aaron Griffin (phrakture)
Thomas Bächler (brain0)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No

Details

Some Archers who like to use the radeon driver with kernel modesetting have a perfect opportunity to do so without compiling the kernel with the release of 2.6.31. All we need is CONFIG_DRM_RADEON_KMS=y specified in the config. The config file in testing currently does not have it set (which means it defaults to n).

CONFIG_DRM_RADEON_KMS=y will build the radeon module with the experimental api but the old one can be used by loading it with modeset=0. CONFIG_DRM_RADEON_KMS=n on the other hand forces people to not use modesetting. This behaviour will probably change with 2.6.32 but for now I think it would be better to set CONFIG_DRM_RADEON_KMS to y and ship the kernel with an /etc/modprobe.d/radeon.conf that has the following line:

options radeon modeset=0

That way people won't notice a difference unless they explicitly enable modesetting and everyone should be happy.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Monday, 02 November 2009, 20:07 GMT
Reason for closing:  Fixed
Comment by Panos Filip (Flamelab) - Saturday, 12 September 2009, 07:23 GMT
KMS is enabled without any options in menu.lst. It just needs to be enabled in config of kernel26.

To disable it, add 'nomodeset' in menu.lst, in kernel options.

It is harmeless.

PS.: With vga=xxx framebuffer, X has issues, if KMS is enabled. It should be removed.

libdrm should be be built with --enable-radeon-experimental-api.
I 'm sure that KMS works with mesa 7.6 (I don't know if it works with 7.5, I don't use it right now)
I'm sure that KMS works with xf86-video-ati 6.12.99 (I don't know if it works with 6.12.4).

Comment by Panos Filip (Flamelab) - Saturday, 12 September 2009, 07:36 GMT
Nevertheless, it would be nice to have it enabled, because if someone wants to try KMS, if it's not enabled in the stock arch kernel, he/she has to rebuild the whole kernel just for Radeon KMS.
Comment by Pawel (kraftman) - Saturday, 12 September 2009, 09:12 GMT
It would be nice to have opportunity to enable KMS without recompiling the whole kernel.
Comment by Federico Chiacchiaretta (baghera) - Saturday, 12 September 2009, 09:47 GMT
A discussion is taking place in arch-dev-public mailing list, check this out: http://mailman.archlinux.org/pipermail/arch-dev-public/2009-September/013355.html
Comment by Connor Behan (connorbehan) - Saturday, 12 September 2009, 19:11 GMT
Ah, good discussion :). It sounds like there are plenty of ways to turn off KMS if it's in the config file but no way to turn it on if it isn't.
Comment by lh (jarryson) - Wednesday, 16 September 2009, 10:51 GMT
i need this too, i already use ATI KMS since kernel 2.6.29.
Comment by Thomas Bächler (brain0) - Friday, 25 September 2009, 21:41 GMT
Having ATI KMS enabled by default is a bad idea, it's a even staging driver. We even have it disabled on intel by default, but there's at least a module option to enable it.

Until there is an option to enable it with it being disabled by default, this won't be enabled.
Comment by Panos Filip (Flamelab) - Friday, 25 September 2009, 22:31 GMT
@Thomas: I don't think that there is a problem.

Assume that the kernel26 is built with Radeon KMS support.

For now, if someone with ATi card (R1xx to R5xx) + xf86-video-ati 6.12.x + Mesa 7.5 installs it and reboots, he has no KMS.
In order to have KMS enabled on boot, we need:

1)Libdrm built with --radeon-experimental-api --> or KMS won't be enabled on boot. This libdrm's code produced by the --enable-experimental-api option won't be enabled if KMS isn't enabled on boot.
2)xf86-video-ati 6.13 using no.(1) (coming soon)
3)mesa 7.6 (coming soon) --> that means ati-dri 7.6, libgl 7.6 etc

When 1,2 and 3 pass to extra, oops, we have KMS enabled on boot. It is stable, but we don't have powersaving controls yet.
To disable it (so --> no KMS on boot), we have to add "nomodeset" in kernel options in menu.lst.

If it is disabled, the stability of the system is the same as it was before, there is no issue (like Intel's driver, which needs care, with UXA)
Comment by Thomas Bächler (brain0) - Friday, 25 September 2009, 22:53 GMT
KMS is enabled long before and ati or drm code is executed, namely when the kernel is booted.
Comment by Panos Filip (Flamelab) - Friday, 25 September 2009, 23:10 GMT
That's what I mean as "on boot" ;)

It could even be started really early if "drm radeon" modules are included in the MODULES array in mkinitcpio.conf when we create a new initrd for the kernel.
Comment by Thomas Bächler (brain0) - Friday, 25 September 2009, 23:31 GMT Comment by Panos Filip (Flamelab) - Friday, 25 September 2009, 23:37 GMT
What do you mean by "pain" exactly ?
Comment by Thomas Bächler (brain0) - Saturday, 26 September 2009, 09:19 GMT
According to this message, their systems won't work anymore. That is unacceptable. The situation with intel is better: You have it disabled by default, and can enable it with an option.

I could actually create this situation for radeon with a simple kernel patch, but I don't know if I should.
Comment by Panos Filip (Flamelab) - Saturday, 26 September 2009, 10:40 GMT
What he says is that:

"...Choose this option if you want kernel modesetting enabled by default,
and you have a new enough userspace to support this. Running old
userspaces with this enabled will cause pain...."

Old userspaces ...? That means kernel older than .30 and old Mesa,libdrm,xf86-video-ati, old TTM code. Then, it could cause pain, because we hadn't KMS aware Mesa and xf86-video-ati. TTM code inside the kernel wasn't mature enough.

Question: do you have an R1xx to R5xx Ati card ? If you had, you'd know that there is no such issue. I've running with my R5xx card a .31 kernel built with KMS. I have it disabled, not just because there is any problem (except for lacking Radeon powersaving) but because I had to stick with Mesa 7.6/7.7, versions which aren't in [extra] yet.

An Nvidia or Intel user shouldn't be affected by Radeon KMS.

It's not a big issue. A kernel built this way though would allow any R1/2/3/4/5xx Radeon user to use KMS without having to recompile the whole kernel for that.

---------

An info on something you'd want to know:

ConnorBehan wrote this here:
http://aur.archlinux.org/packages.php?ID=24072

"...
Rawhide kernel:
CONFIG_DRM_RADEON_KMS=n means the module is built with kms support but modprobe radeon does not turn it on. You need modprobe radeon modeset=1 instead.
CONFIG_DRM_RADEON_KMS=y means the module is built with kms support, modprobe radeon turns it on and modprobe radeon modeset=0 turns it off.

Vanilla kernel 2.6.31:
CONFIG_DRM_RADEON_KMS=n means the module is not built with kms support at all and modeset isn't even an option.
CONFIG_DRM_RADEON_KMS=y means the module is build with kms support, modprobe radeon turns it on and modprobe radeon modeset=0 turns it off.
..."

Comment by Panos Filip (Flamelab) - Saturday, 26 September 2009, 11:05 GMT
But if you want to be really sure that everything is OK, I thought this: enable it after Mesa 7.6, xf86-video-ati 6.13 enter extra. So both sides (users and devs) are happier.
Comment by Connor Behan (connorbehan) - Sunday, 27 September 2009, 19:44 GMT
Yes I am quite sure that's how it is. What's wrong with packaging the kernel so that it's disabled by default but overridable with modeset=1? I would be very happy if you make such a kernel patch or ship the kernel with an /etc/modprobe.d/radeon.conf file.
Comment by Connor Behan (connorbehan) - Friday, 09 October 2009, 02:23 GMT
Hey thanks for putting this in testing! I'm compiling the userspace now.

Loading...