overdue-scratch

Author Topic: Support for HIS Radeon HD 6670  (Read 7109 times)

0 Members and 1 Guest are viewing this topic.

onecubeowner

  • Observer
  • Posts: 14
Support for HIS Radeon HD 6670
« on: July 06, 2012, 09:33:26 PM »
I purchased HIS 6670 iSilence 4 1GB DDR3 PCI-E DVI/HDMI/VGA (http://www.hisdigital.com/un/product2-662.shtml) to replace my ASUS nVidia 9500 in hopes of eliminating one fan.

Running into issues trying to get this card fully supported on my ep43-ud3l with Cartri BIOS. The system is running the MLDP4 with the update on one drive, latest Lion on another, and latest SL on another.

I've tried the most recent Chameleon and Chimera. I've tried adding a different Personality with AtiConfig=xxxxx boot flag and restarted about a hundred times. The result is the same regardless of which version of OS I'm running: The system boots and I get native resolution, and QE and CI seems to be working (there is ripple effect when I add a widget). However, DVD player does not launch, and audio does not get pass-thru via HDMI or DVI-HDMI (as it does in Windows 7 -- which is on another drive). Audio works find via rear output and VGA to TV/monitor.

My org.chameleon.Boot.plist:
   <key>EthernetBuiltIn</key>
   <string>Yes</string>
   <key>Kernel</key>
   <string>mach_kernel</string>
   <key>Kernel Flags</key>
   <string>-v</string>
   <key>GraphicsEnabler</key>
   <string>Yes</string>   

Also, ioreg | grep ATY always output this:

    | |   |   | +-o ATY,AMD,RadeonFramebuffer@0  <class AtiFbStub, id 0x1000002c0, registered, matched, active, busy 0 (246 ms), retain 8>
    | |   |   | +-o ATY,AMD,RadeonFramebuffer@1  <class AtiFbStub, id 0x1000002c1, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | +-o ATY,AMD,RadeonFramebuffer@2  <class AtiFbStub, id 0x1000002c2, registered, matched, active, busy 0 (0 ms), retain 8>

This tells me that a generic frame buffer is running, and system information always reports "AMD Radeon HD 6xxx 1024 MB".

I've read up on pages at insanely and tonymacs, and some have reported having full support. But, the cards are not from the same manufacturer as mine.

My HIS Radeon HD 6670 reports vendor ID as 1002, device ID 6758, and subsystem 20121787. Upon further investigation at http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/libsaio/ati.c I notice that my subsystem is not in there.

I believe the missing subsystem in Chameleon's ati.c is preventing the system from accepting AtiConfig boot flag's Personality. Am I wrong? How can I officially make a request and have this added for future Chameleon so that others won't have to spend days with the trial-and-error/research? In the meantime, can someone help with compiling a Chameleon for me? I don't know what it takes as I don't have Xcode, and don't know anything about it. (Maybe I can learn if you point me in the right direction.)

Thank you.
« Last Edit: July 06, 2012, 09:35:41 PM by onecubeowner »

ErmaC

  • Resident
  • Posts: 134
Re: Support for HIS Radeon HD 6670
« Reply #1 on: July 07, 2012, 01:43:52 AM »
I add it to my branch.
Code: [Select]
{ 0x6758, 0x20121787, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670",                   kBulrushes },
http://forge.voodooprojects.org/p/chameleon/source/commit/2004/

Pls report.

Fabio
P6T Deluxe v1 i7 940 Quadro Fx 5600
P6T SE i7 920 GeForce GT 240

onecubeowner

  • Observer
  • Posts: 14
Re: Support for HIS Radeon HD 6670
« Reply #2 on: July 08, 2012, 05:18:39 PM »
Thank you, Fabio. I'll keep an eye out for someone (onehalfkiller?) to create a binary/package with commit 2004 of your branch, and will report on the outcome.

/mod
Don't quote entire posts when replying directly below them.
« Last Edit: July 08, 2012, 06:31:51 PM by Gringo Vermelho »

onecubeowner

  • Observer
  • Posts: 14
Re: Support for HIS Radeon HD 6670
« Reply #3 on: July 12, 2012, 02:13:21 AM »
Thank you, Fabio, for adding my card ID to your branch. I downloaded r2009 and tested each personality for Radeon HD 6xxx with the following in my com.chameleon.Boot.plist:

   <key>EthernetBuiltIn</key>
   <string>Yes</string>
   <key>Kernel</key>
   <string>mach_kernel</string>
   <key>Kernel Flags</key>
   <string>-v</string>
   <key>GraphicsEnabler</key>
   <string>Yes</string>
   <key>AtiPorts</key>
   <string>3</string>
   <key>PciRoot</key>
   <string>1</string>
   <key>Timeout</key>
   <string>0</string>
   <key>UseKernelCache</key>
   <string>Yes</string>

The only way my system will recognize the card natively is with PciRoot=1. This was true when with nVidia 9500 where having PciRoot=0 booted into a black screen. Radeon was behaved slightly differently where some personalities actually loaded the generic frame buffer with PciRoot=0.

The one personality that worked out well is Pithecia, which shows 6770 in System Profiler (ML and Lion) and can be seen loaded in Terminal via ioreg | grep ATY. I'm able to use two of the three ports (HDMI, DVI, VGA) at once. HDMI to my TV/monitor (720p) produced the worst picture quality. VGA is OK but DVI seems to be the best, which is what I was using with the 9500 to also pass audio. HIS Radeon HD 6770 1GB does not pass audio via DVI or HDMI by default. Audio works fine via rear green out + VGA (there's a "Digital Out" that I used with the 9500 that produce nothing with the 6770), with a modified AppleHDA for ALC888.

The system seems to work just fine with this personality loaded. (One strange thing is that DVD player will launch in Lion and play a disc, but in ML I get an error about how the software is unable to locate the drive. I'm hoping this will be worked out with ML's public release version.)

The following is what has been noted about Pithecia at different forums. The journey continues for me to get this card fully working. Any tips, pointers, or addition to ati.c for audio passthrough via DVI would be great!

Kext ATI6000Controller
Personality: Pithecia
ConnectorInfo count in decimal: 3
Disk offset in decimal 500508
0000000 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 04
0000010 04 00 00 00 14 02 00 00 00 01 00 00 00 00 04 03
0000020 10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 01
0000030

Thanks again!

ErmaC

  • Resident
  • Posts: 134
Re: Support for HIS Radeon HD 6670
« Reply #4 on: July 16, 2012, 01:21:57 AM »
Hi!

I switch from kBulrushes to kPithecia in commit 2014.

I hope this change "fix" your card injection.

Fabio
P6T Deluxe v1 i7 940 Quadro Fx 5600
P6T SE i7 920 GeForce GT 240

Jase820

  • Entrant
  • Posts: 3
Re: Support for HIS Radeon HD 6670
« Reply #5 on: July 17, 2012, 10:22:30 AM »
I also have a HIS Radeon HD 6670 (Different card, though: http://www.hisdigital.com/un/product2-672.shtml) and the same problems getting a Frame Buffer to load.  I can get the system to boot with several Frame Buffers but it always shows like his with the default.  My device ID and vendor ID are the same, however my subsystem is 20141787.

Jase820

  • Entrant
  • Posts: 3
Re: Support for HIS Radeon HD 6670
« Reply #6 on: July 17, 2012, 09:55:47 PM »
I just updated my Chameleon and got my card to work with "Bulrushes".  It detects properly and everything seems to work.  I haven't tested the HDMI audio, but it's not something that I badly need.

Jase820

  • Entrant
  • Posts: 3
Re: Support for HIS Radeon HD 6670
« Reply #7 on: July 17, 2012, 10:01:41 PM »
I'll add this to my info if you need it.

This is what I'm using in my boot plist:
Code: [Select]
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>AtiPorts</key>
<string>3</string>
<key>AtiConfig</key>
<string>Bulrushes</string>
<key>PciRoot</key>
<string>1</string>

Card: AMD Radeon HD 6670 Series 1024 MB
VendorID: 1002
DeviceID: 6758
SubSystem: 20141787


onecubeowner

  • Observer
  • Posts: 14
Re: Support for HIS Radeon HD 6670
« Reply #8 on: July 19, 2012, 01:26:51 AM »
Thanks, Fabio. With r2015, Pithecia is loaded by default. With unmodified ATI6000Controller, I get native resolution and the card detects the TV/monitor correctly via DVI. VGA does work but not natively and gives the generic (lower) resolution. HDMI does not work (because Pithecia's 3rd port is coded for DP, not HDMI).

My DVI works natively because, as I learned over this week, its sense ID is 3 and Pithecia's has coded 03. Getting VGA to work is pretty easy, as I only had to change the sense ID to my card's ID for that port which is 4. Both DVI and VGA will work concurrently in either expanded or mirrored mode.

To get HDMI to work, I had to change the connector type from DP to HDMI as well as the the control flag, transmitter, encoder to
match my hardware link. It does work without proper display detection/resolution (I actually get 1600x900 where my monitor only does 1360x768).

With DVI-HDMI-VGA all connected, only DVI (native resolution) and HDMI (non-native) will work and VGA drops the signal. HDMI and DVI works exactly the same way as described. HDMI (non-native) and VGA (native) will also work concurrently.

No audio, via DVI-HDMI or HDMI. :(
I might have to look into a DSDT at this point, having to avoid it for so long with Cartri's MacBIOS. :(

@Jase820, your card looks very similar to mine. The only exceptions are that mine is fanless, and our HDMI and VGA ports are reversed. Looks like your card will fit in a slim case with the brackets. If you want, I've modified the kext with the following for Pithecia and Ipomoea (they both work as described above):

0000000 04 00 00 00 14 02 00 00 00 01 00 00 00 00 01 03
0000010 00 08 00 00 00 02 00 00 00 01 00 00 12 04 04 05
0000020 10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 04
0000030

It's probably wise for you to read up on Alexander Martinez's thread on dumping, analyzing the graphic card's BIOS, and hex-ing the right personality to suit your card over at insanely. The information was invaluable to a beginner like me.

@ErmaC, please keep my default at Pithecia as I know that the DVI will get native resolution -- for future thumb drive install, etc. Thank you, again, for your help.

BTW, the DVD player works with a little hex-ing to the playback's framework from internal to external.

Hi!

I switch from kBulrushes to kPithecia in commit 2014.

I hope this change "fix" your card injection.

Fabio