{"id":13581933,"url":"https://github.com/sjug/go-zenstates","last_synced_at":"2025-04-22T21:15:03.805Z","repository":{"id":94473963,"uuid":"90470114","full_name":"sjug/go-zenstates","owner":"sjug","description":"Golang tool to modify Ryzen CPU p-state settings from Linux CLI","archived":false,"fork":false,"pushed_at":"2019-09-09T20:27:04.000Z","size":4,"stargazers_count":16,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-22T21:14:56.775Z","etag":null,"topics":["cli","golang","linux","overclock","pstate","ryzen","undervolt","zenstates"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sjug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-05-06T14:52:55.000Z","updated_at":"2023-08-10T16:41:10.000Z","dependencies_parsed_at":"2023-04-12T00:40:36.139Z","dependency_job_id":null,"html_url":"https://github.com/sjug/go-zenstates","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjug%2Fgo-zenstates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjug%2Fgo-zenstates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjug%2Fgo-zenstates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjug%2Fgo-zenstates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sjug","download_url":"https://codeload.github.com/sjug/go-zenstates/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250324709,"owners_count":21411946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","golang","linux","overclock","pstate","ryzen","undervolt","zenstates"],"created_at":"2024-08-01T15:02:20.001Z","updated_at":"2025-04-22T21:15:03.781Z","avatar_url":"https://github.com/sjug.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# go-zenstates\n\ngo-zenstates is a p-state overclocking tool for linux. By acccesing the MSR of new AMD Ryzen processors, we can adjust p-states on the fly from the desktop.\n\nAll credit goes to [elmor](http://www.overclock.net/u/401414/elmor) from Asus for getting the MSR locations. AMD also has provided more MSR info in their [Ryzen Processor Programming Reference](https://support.amd.com/TechDocs/54945_PPR_Family_17h_Models_00h-0Fh.pdf) (pdf).\n\n## Installation\n\n`go get github.com/sjug/go-zenstates`\n\n## Usage\n\ngo-zenstates requires root privileges and the msr module to be loaded. \n\nTo set a 4.0GHz p-state 0 with a 1.4v vcore:\n```\nsudo modprobe msr\nsudo go-zenstates -p 0 -fid 0xA0 -vid 0x18\n```\n\nAll ID's are hex values with a leading 0x as shown above.\n\nFID is the Frequency ID.  \nDID is the Divisor ID.  \nVID is the Voltage ID.  \n\nFor most purposes there is no reason to change the DID, only the FID and VID to adjust the frequency and voltage.\n\n```\nCore Frequency = BCLK*FID/DID\nCPU Ratio = 25*FID/(12.5*DID)\nCore Voltage = (1.55-0.00625*VID)\n```\n\nnoko from hardforum has also put together a very easy to use [calculator](https://hardforum.com/threads/ryzen-pstate-overclocking-method-calculation-and-calculator.1928648/#post-1042913631) for these values.\n\n## Help\n\n```\nUsage of go-zenstates:           \n  -did uint                        \n        DID to set (hex)           \n  -disable                         \n        Disable pstate             \n  -enable                          \n        Enable pstate              \n  -fid uint                        \n        FID to set (hex)           \n  -l    List all pstates           \n  -p int                           \n        pstate to set (default -1) \n  -vid uint                        \n        VID to set (hex)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjug%2Fgo-zenstates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsjug%2Fgo-zenstates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjug%2Fgo-zenstates/lists"}