chefkissinc / legacyred Goto Github PK
View Code? Open in Web Editor NEWLegacy AMD iGPU support kext
License: Other
Legacy AMD iGPU support kext
License: Other
Not a code issue, ATY,DeviceName gets populated
FB-only is currently broken on some APUs, notably my Mullins E1-7010 APU, currently the state of other APUs are unknown, however, current debugging shows that on my device at the least, AtiAtomObjectinfoTable_V1::getAtomConnectorInfo
is failing at connector '3' which does not exist, this, presumably, brings down the whole stack and prevents display from going to the LVDS connector.
Update 1/8/23:
Attempts at overriding the value from within AtiAtomObjectInfoTable_V1::getNumberOfConnectors
has proven futile at the current point in time
Update 7/8/23:
Attempts to grab the Display Object Path Table have been proven to be a success, now I need to figure out how to grab the object type and compare it against GRAPH_OBJECT_TYPE_CONNECTOR
Update 10/8/23:
LegacyRed now trims off the extra objects in the Connector Info Table that don't use GRAPH_OBJECT_TYPE_CONNECTOR
This is isn't an issue, but rather an inquiry: as I have an AMD A6-9225 Stoney laptop I'd be happy to test if you're interested.
Plugging in HDMI on the Mullins/Godavari machine results in a blank display until force restart
Also observed on a Kabini machine
This is probably the most useless "issue" of the entire GitHub, but nevermind.
I can't wait to see what this kext can do, although I know that currently you are mainly occupied with NootedRed, and the development of this kext can be complicated.
So, to start, below you can find the specs of my PC :
CPU : AMD A8-7600, Kaveri
MB : GA-F2A88XM-HD3 w/ BIOS FC
RAM : 2x4gb DDR3
GPU : iGPU : R7 Graphics, GCN 2-based, codename Kaveri
macOS Version : Latest Big Sur
And now, the state of this kext is... just a Kernel Panic, not surprising
The KPanic talks about Lilu, LRed, and macOS dependencies, so it's no surprise that it's the same issue that's in the README, which makes this issue even more useless.
UPDATE 28/06 : The FB-Only works on my APU (Kaveri) like it's wrotten in the README, but the "normal mode" keeps on a black screen and macOS don't boot
I removed my dGPU since it's TeraScale and the patches for Big Sur conflitcs with LRed like it's wrotten below
Some notes :
Idk if this issue, or me, can eventually help, but if you need someone to test something about this kext, don't hesitate.
And sorry for my poor English, I've written this with GTranslate and my English knowledge.
Have a good day (and thank you for your work on NootedRed, you're incredible (even if I don't have an AMD APU anymore) !
Issue observed on a Mullins/Godavari APU, setting CFG_USE_AGDC
to false
makes FB-only work, no logs yet.
Primary suspects are the following:
Current WA:
Setting CFG_USE_AGDC
to false in Info.plist -> IOKit Personalities -> Controller (Stoney) -> aty_config
or Info.plist -> IOKit Personalities -> com.ChefKissInc.LegacyRed -> Framebuffers (Legacy) -> Controller (<Carrizo or GCN 2 depending on the iGPU generation>) -> aty_config
Just stating the obvious, and also here for tracking purposes.
AMDSupport prints out: ATOM: uint32_t AtiGpioPinLutInterface_V1::getHpdLine(uint32_t): ASSERT(kIOReturnSuccess == err)
on some GCN 2 systems, this, however, isn't a major problem for the systems tested that are confirmed to work with FB-only, as the drivers continue functioning like normal.
Update 1/8/23:
Debug wrap has been added and can be activated by using -lredgpiodbg
, further testing is required but the issue stems from getGpioPinInfo
returning a non-zero value
Outputs in question:
[ 62.265214]: ATOM: virtual IOReturn AtiBiosParser1::setDisplayClock(const DCEClockParams *): ASSERT(NULL != m_setDceClock) [ 62.265224]: ATOM: virtual IOReturn AtiBiosParser1::setDisplayClock(const DCEClockParams *): ASSERT(NULL != m_setDceClock)
Update 31/7/23:
Switching to AMD9000Controller negates the above issue, but we want to use AMD9500Controller for Ventura+ support on Stoney ASICs, further investigation into the underlying cause is required, attempting to bypass the check triggered also gives us a kernel panic with a chain of symbols that are most likely related
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.