Skip to content

PBKit assumes GPU clock causing overclocked GPU init failure #765

Description

@MZCRL

As titles says,

  • Essentially pbkit sets up GPU timer using GPU clock.
  • This fails when the clock is not stock.
  • Overclocking will change GPU PLL freq.
  • PBKit expects a fixed value.
  • Mismatches and fails.

Potential fix:

  • Get rid of "must equal stock PLL" expectation.
  • Read actual GPU Clock, validate and calculate PTIMER_NUMERATOR from real GPU Clock.

Read GPU Clock from HW Regs > calculate this > Program timer based off this.

Failure path:
Use a check to make sure PLL calcs are correct for calculating timer else have a failure path.

EDIT:
Looking further into this, keeping the current denominator fixed at 7629 while solving for the numerator based off gpu clock would provide a fix, we could solve for the numerator by potentially rounding((GPU_Clock * DENOM) / Timer Target), giving us the correct figure on overclocked systems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions