If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
I wonder if it is possible to completely disable a PCIe GPU so it draws nearly no power at all (~1W would be fine) and only let an onboard GPU draw the desktop. So if I want to game, I XEN passthrough the sleeping card to a gaming OS.
Heck I would even go so far and hardwire a switch to the power cords, but I'm not sure if the card would like me flipping the switch while the computer is running...
I just compiled a fresh Linux kernel on top of Ubuntu 10.04 from commit id 7a1ffce50373c177d3f6eecce52badc40c90e1dd from drm-radeon-next. When running on a ATI Radeon Mobility HD2400, I am experiencing some issues:
The screen flickers while PM state changes.
The GPU does not upclock.
The system locks up.
My dmesg shows messages like "[drm] GUI not idle!!!" and "not in vbl on entry / exit".
The gui idle interrupts don't seem to work properly on some older chips. So we just check for idle when we reclock rather than waiting for the interrupt. If the engine happens to be busy, we bail and try again the next time. That message is just telling you that it couldn't reclock since the engine wasn't idle when it tried.
Got Lenovo Ideapad U330 here with Radeon 3450 and Intel 4500MHD. I'm running a kernel build form today's drm-radeon-testing (which AFAIK has the above patches included) on current Arch Linux with KDE 4.4.
By default the state is initialized to 1.0. This gives a massive reduction of 5W measured by powertop (23W vs 18W on idle system).
Unfortunately state 1.0 (and state 2.0) causes Kwin effects (like slide or present windows) work horribly horribly slow, same thing with scrolling in Firefox. After switching to anything that has a level 0 clock of more than 110MHz (like state 5.0) all is silky smooth.
Multi monitor setup. If running states 1.0 or 2.0 it causes vertical lines on the external HDMI display. When switching to any other state the disappear.
I'm also getting
[drm] GUI not idle!!!
I thought it was a problem with older systems. Is 3450 considered old?
Thoughts, wishes, questions:
1. Is it possible to modify the power state table so that states 1.0 and 2.0 have a but higher clock thatn 110MHz (so that KWin works smoothly) or is set in hardware?
2. Would it be possible for radeon to monitor ACPI events _in_kernel_ and switch modes accordingly and differentiating between non-multi and multi monitor setups? I mean it wouldn't be hard to do it in userspace, but it would be a lot of scripting
3. Could the messages printed in dmesg be a little bit more descriptory with a possibility of turning them off via module parameter? I mean dmesg is littered with messages as vogue as:
The gui idle interrupt can be re-enabled for r6xx+; it works fine on those chips. Just older ones seem to be problematic. I just disabled it for testing on everything for testing. We should just switch to waiting on a fence. That will work on all asics.
The driver is supposed to switch to an appropriate power mode depending on the number of monitors attached, but there are likely still bugs in that area.