[Problem]
On hybrid graphics hardware with this ATI chip and another (e.g. Intel), a failure occurs resulting in a black screen and errors from the radeon kernel module, as shown below.
[Cause]
From upstream developer:
"The switcheroo code needs more work to switch properly on some systems it seems. There are a set acpi methods required to activate/deactivate the respective gpus. The drivers need to load and initialize active hw. If the hw is not active when the driver loads, then the hw is not set up properly and it won't work. Probably some ordering issues in how the switcheroo acpi methods are called."
[Workarounds]
Several options:
1. If your BIOS includes functionality to disable the Intel card, use BIOS settings to select which chip to load.
2. Disable KMS by adding `radeon.modeset=0` in the boot line. Note that the default radeon gallium driver only works with KMS, so YMMV.
[Original Report]
I'm running natty, and every since the upgrade to 6.14.0 I've been unable to consistently boot. After some discussion in the forums, I tried repeatedly to boot into recovery mode. In most cases, I got a black screen. One time though, when I was able to successfully increase the brightness, I saw some errors from the radeon module. I took a photo (available at http://i.imgur.com/P0bQ0.jpg), and here's the stack and call trace, as best as I can read it:
Stack:
ffff880149eb8000 ffff880149eb8000 0000000000000011 0000000000000911
00000000fffffff4 ffff88014b6c7800 ffff88014b0f7b58 ffffffffa022aba0
ffff8801460f7b58 ffff880149eb8000 0000000000000000 0000000000410028
Call Trace:
[<ffffffffa022aba0>] evergreen_cp_resume+0x3a0/0x630 [radeon]
[<ffffffffa022c8b7>] evergreen_startup+0x157/0x260 [radeon]
[<ffffffffa01fe8a0>] ? r600_pcie_gart_init+0x60/0x70 [radeon]
[<ffffffffa022dbec>] evergreen_init+0x1ac/0x2d0 [radeon]
[<ffffffffa01a5a69>] radeon_device_init+0x409/0x490 [radeon]
[<ffffffffa01a7142>] radeon_driver_load_kms+0xb2/0x1a0 [radeon]
[<ffffffffa007fb2e>] drm_get_pci_dev+0x18e/0x300 [drm]
[<ffffffff8115426f>] ? kmem_cache_alloc_trace+0xff/0x120
[<ffffffffa023790e>] radeon_pci_probe+0xb2/0xba [radeon]
[<ffffffff812fea7f>] local_pci_probe+0x5f/0xd0
[<ffffffff81300369>] pci_device_probe+0x119/0x120
[<ffffffff813b8eca>] ? driver_sysfs_add+0x7a/0xb0
[<ffffffff813b8ff8>] really_probe+0x68/0x190
[<ffffffff813b9305>] driver_probe_device+0x45/0x70
[<ffffffff813b93db>] __driver_attach+0xab/0xb0
[<ffffffff813b9330>] ? __driver_attach+0x0/0xb0
[<ffffffff813b817e>] bus_for_each_dev+0x5e/0x90
[<ffffffff813b8e4e>] driver_attach+0x1e/0x20
[<ffffffff813b89b5>] bus_add_driver+0xc5/0x280
[<ffffffffa0013000>] ? radeon_init+0x0/0x1000 [radeon]
[<ffffffff813b9676>] driver_register+0x76/0x140
[<ffffffffa0013000>] ? radeon_init+0x0/0x1000 [radeon]
[<ffffffff812ff126>] __pci_register_driver+0x56/0xd0
[<ffffffffa0080044>] drm_pci_init+0xe4/0xf0 [drm]
[<ffffffff815bf36e>] ? mutex_lock+0x1e/0x50
[<ffffffffa0013000>] ? radeon_init+0x0/0x1000 [radeon]
[<ffffffffa0077688>] drm_init+0x58/0x70 [drm]
[<ffffffffa00130c4>] radeon_init+0xc4/0x1000 [radeon]
[<ffffffff81002195>] do_one_initcall+0x45/0x190
[<ffffffff810a4573>] sys_init_module+0x103/0x260
[<ffffffff8100c002>] system_call_fastpath+0x16/0x1b
Code: 00 45 8b 84 24 e4 0a 00 00 45 85 c0 0f 8e c7 09 00 00 41 8b 84 24 d4 0a 00 00 89 c2 83 c0 01 40 c1 e2 02 49 03 94 24 c8 0a 00 00 <c7> 02 00 44 05 c0 41 8b 94 24 e4 0a 00 00 41 23 84 24 f4 0a 00
RIP [<ffffffffa0227ad7>] evergreen_cp_start+0x57/0xc80 [radeon]
RSP <ffff88014b0f7af8>
CRZ: ffffc90411ce1ffc
---[ end trace 37702c56f2e23247 ]---
udevd-work[94]: '/sbin/modprobe -bv pci:v00001002d000068C1sv0000103Csd00001436bc03sc00i00' unexpected exit with status 0x0009
There is also some register info dumped at the top of the screen visible in the photo, that I didn't bother to write, as I'd most certainly get something wrong.
I forgot to mention, my computer is an HP Envy 14, so I have the discrete ATI card, and also integrated graphics from the core i5 (which uses the i915 driver). Just in case it's some interaction between the two that causes the crash.