pcbsd9-stable-20120505 snapshot - howto enable intel rc6

user10508 at gmail.com user10508 at gmail.com
Sat May 19 00:02:27 UTC 2012


Kevin Oberman@

Thank you for your suggestion.

hint.acpi_throttle.0.disabled=1 was in /boot/loader.conf, I added 
hint.p4tcc.0.disabled=1 and rebooted. Unfortunately, these changes to 
/boot/loader.conf had no effect on the thermal or battery life problems 
I've been experiencing.

Konstantin Belousov@

Thank you for your suggestion. It reminded me that I neglected to report 
that screen artifacts appeared as system temperature increased. No 
surprise about that right? Initially few in number and small in area, 
over time, the number of artifacts and the size of affected areas 
increased. Redraws, manual or application related, removed the artifact.

In researching the problems I've been experiencing, I found comments 
about initial releases of intel's X driver on linux. Early software had 
poor battery life and thermal problems on laptops.

So far so good. To me this means that there is nothing unusual about the 
initial freebsd release of kms support for the intel sandybridge IGA.

I installed linux-mint debian eddition which was released just a few 
days ago. This release of linux uses a linux 3.2 kernel and for X, 
intel-2.18.0-1.

This combination results in normal battery life and no thermal problems.

Given the close relationship between linux kernel changes and intel 
driver changes, it may be premature to assume that just using X 
intel-2.18.0 on a freebsd stable kernel will solve everything.

On a well ventilated server, I think this initial release of kms support 
may be good to go.

For laptops, I don't think its quite there yet.

I'm going to wait for RC6 functionality to percolate into X for Intel. 
When its ready, I'm confident it will solve the problems I've been 
experiencing.

Thank you for your help on my problems.


On 05/17/2012 08:56 PM, Kevin Oberman wrote:
> On Thu, May 17, 2012 at 3:03 PM, Konstantin Belousov
> <kostikbel at gmail.com>  wrote:
>> On Thu, May 17, 2012 at 09:56:54AM -0400, user10508 at gmail.com wrote:
>>> I'm using this pcbsd snapshot on an asus k53e laptop
>>>
>>> /etc/make.conf contains:
>>> WITH_NEW_XORG=yes
>>>
>>> xf86-video-intel-2.17.0 compiled from ports
>>>
>>> Laptop runs very hot
>>> Battery lasts less than half as long as pcbcd9 release intel driver
>>>
>>> sysctl inquiry reveals
>>>
>>> hw.dri.0.info.i915_drpc_info: RC information accurate: yes
>>> Video Turbo Mode: yes
>>> HW control enabled: yes
>>> SW control enabled: no
>>> RC1e Enabled: no
>>> RC6 Enabled: no
>>> Deep RC6 Enabled: no
>>> Deepest RC6 Enabled: no
>>> Current RC state: on
>>> Core Power Down: no
>>>
>>>
>>> If it is possible to enable RC6:
>>>
>>> what modes can be enabled
>>>
>>> how can/should an RC6 mode be enabled
>> On my 2600K enabling any RC6 causes reliable failure to start BLT ring.
>> When I tried to enable RC for wider audience, I get similar reports in
>> quantity. So RC6 is disabled by default.
>>
>> I have no idea what version of Intel GPU patch was applied to your
>> snapshot, so I describe a recipe for 14.x and 15.x series of patches.
>> To try to play with RC6, you need to set kernel environment variables
>> before loading the i915(kms) module. Set drm.i915.intel_iommu_enabled=0,
>> then you may enable actual RC6 states with drm.i915.enable_rc6 tunable.
>> The bits are the same as for Linux, citation from i915_drv.h:
>>
>> /**
>>   * RC6 is a special power stage which allows the GPU to enter an very
>>   * low-voltage mode when idle, using down to 0V while at this stage.  This
>>   * stage is entered automatically when the GPU is idle when RC6 support is
>>   * enabled, and as soon as new workload arises GPU wakes up automatically as well.
>>   *
>>   * There are different RC6 modes available in Intel GPU, which differentiate
>>   * among each other with the latency required to enter and leave RC6 and
>>   * voltage consumed by the GPU in different states.
>>   *
>>   * The combination of the following flags define which states GPU is allowed
>>   * to enter, while RC6 is the normal RC6 state, RC6p is the deep RC6, and
>>   * RC6pp is deepest RC6. Their support by hardware varies according to the
>>   * GPU, BIOS, chipset and platform. RC6 is usually the safest one and the one
>>   * which brings the most power savings; deeper states save more power, but
>>   * require higher latency to switch to and wake up.
>>   */
>> #define INTEL_RC6_ENABLE                        (1<<0)
>> #define INTEL_RC6p_ENABLE                       (1<<1)
>> #define INTEL_RC6pp_ENABLE                      (1<<2)
>>
>
> This is a serious shot in the dark, but is either TCC (p4tcc) or
> thottling enabled? It has been noted (see mav's power management page
> on the wiki) that using these techniques is of no significant value to
> power management and can cause system timing problems when so used in
> combination with C-states (which DO save power). It may interacting
> with the RC6 power management in some manner, as well.
>
> I have no evidence of this, but it might be worth trying. Add these
> lines to /boot/loader.conf:
> # Disable CPU throttling
> hint.p4tcc.0.disabled=1
> hint.acpi_throttle.0.disabled=1


More information about the freebsd-x11 mailing list