AMD/ATI RV620 based cards (ATI FireMV 2260)

I recently messed up with my NVidia Quadro NVS 295 and was looking for a replacment. As I wasn’t aware AMD/ATI cards are kind of bitchy on OS X, I got myself a cheap ATI FireMV 2260. Turned out to be a major headache or a challange which I was willing to accept, not knowing anything about OS X graphics driver internals.

So I was trying to read as much as I could on the internet, namely here on insanelymac.com and learnt that my FireMV 2260 has an RV620 based chip.

First thing I did was getting relevant PCI ID for the card, and provided the relevant information to the Chameleon which made it even into the official trunk 🙂

Relevant PCI ID data:

0x95CF,0x21431002

based on lspci -nnvv output:

01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV620
[FirePro 2260] [1002:95cf] (prog-if 00 [VGA controller])
	Subsystem: ATI Technologies Inc Unknown device [1002:2143]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at <ignored> (64-bit, prefetchable)
	Region 2: Memory at f7e20000 (64-bit, non-prefetchable)
	Region 4: I/O ports at e000
	Expansion ROM at f7e00000 [disabled]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1
unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr-
TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0
<64ns, L1 <1us
			ClockPM- Suprise- LLActRep- BwNot-
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain-
CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
	Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+
Queue=0/0 Enable-
		Address: 00000000fee00000  Data: 4074
	Capabilities: [100] #1002
	Capabilities: [95c] #8fa0
	Capabilities: [012] #8000

I kind of got the FireMV 2260 working in Mavericks 10.9.5.  Only with Remote Login to the Machine via Screensharing though as seemingly I can not get the Framebuffer to output to DVI1 or DVI2.

Steps:

  1. Get Chameleon latest one (not sure how to do it in Clover yet)
  2. Add the device ID to ATIRadeonX2000.kext
  3. Add the device ID AMD2400Controller.kext
  4. Installed the kexts (for ex. via KextWizard)
  5. Boot with GraphicsEnabler=Yes and use AtiConfig=Iago
  6. After that the screen is black (no output on DVI), but remote login to the machine works

post-1089001-0-38893300-1412483936 post-1089001-0-12975900-1412483952 post-1089001-0-34200300-1412483959

I get this to work with 2600, and even 3800 Controllers (if the correct Framebuffer is chosen ie Lamna for 2600). Funny enough this works also with Zonalis and 5000 Controller and a huge / wrong amount of VRAM.

Update:

Editing custom personalities for ATI is a must to at least have a (small) chance to get output. There is a cool tool to easily patch ATI personalities: ATI Kext Util.app. Source is here on github or compiled version on insanelymac.

ATI Kext Util.app

Advertisements