Jump to content

ATI HD framebuffer driver (10.5/10.6) with source code


dong
 Share

900 posts in this topic

Recommended Posts

  • 2 weeks later...

Hello,

 

I am looking for this kind of driver for nvidia gt330m and similiar cards.

 

Do you know if it is available also for nvidia cards?

 

There are some notebooks like Sony Vaios where you just can't enable the internal display with the nvidia drivers. So a framebuffer based on vesa would be quite a good compromise... Can you help?

Link to comment
Share on other sites

ok.. I am fairly new into this but am getting my hands dirty..My specs are this

 

HP ProBook 4520s, 4GB RAM, 500GB HDD

Intel i5 M 460 2.53Ghz

Video: ATI Technologies Inc M93 [Mobility Radeon HD 4500 Series] ATI Mobility Radeon HD 530v

 

Am running SL 10.6.6

 

I have installed this

[05/26/2010 update}:

RadeonHD.10.6.x.kext.zip

 

I also have logged in as a single user and deleted following kexts:

 

ATIRadeonX1000.kext

ATIRadeonX2000.kext

ATIRadeonX3000.kext

ATIRadeonX2000*.*

 

I could not find Extensions.mkext and Extensions.kextcache under S/L/E hence could not delete it.

 

But my resolution is still at 1024x768

 

Can someone please lend a helping hand here?

 

Many thanks

Link to comment
Share on other sites

A bit more info. I now have used following bootflags:

 

busratio=18 -f arch=i386

 

then checked About This Mac > More Information... Software > Extensions and found that RadeonHD.10.6.x.kext is not loaded. No wonder I am still stuck in resolution 1024x768.

 

So the question is how can I load RadeonHD.10.6.x.kext? For your info I have installed this kext with Kext Helper b7.

 

Many thanks

Link to comment
Share on other sites

@Dong : using 10.6.6 :

 

RadeonHD.kext now loads together with ATISupport.kext and ATIRadeonX2000,kext, they don't interfere with each other .. Systemprofiler shows all 3 of having been loaded succesfully. ( no QE still however ) :

 

manually adding DevIDs into ATI46xxcontroller.kext even that could be loaded via kextload ( once, only manually )

 

 

see ATI graphics sections under hardware, board here. there is a thread.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
Hi anyone...plz..

 

can anyone please tell me how to force load RadeonHD.10.6.x.kext anyway to do this plz

 

anyone

 

I was passing through and saw your post. One thing is to look at the Hardware Compatibility List and see what progress was made. I saw close to your graphics card in HCL 10.6.3

 

http://netkas.org/?p=284

 

"4350 – add devid into ATIRadeonX2000.kext after installing drivers, and remember to add your device-id to ATI4500Controller.kext and ATIRadeonX2000.kext after updating to 10.6.2 in future."

 

I don't know how relevant ATI4500Controller.kext is but at least it's an idea. Adding Device Names and Numbers is not so uncommon in adapting hardware to Hackintosh.

Link to comment
Share on other sites

  • 2 weeks later...

Hello everyone,

 

I'd like to thank everyone with all this hard work. (I have been using hackintosh for some years now).

 

I have a quick question that I hope there is a an answer.

 

 

I recently got a Pavilion dv4 with a Radeon HD 3200 graphic card.

 

So far I managed to make it work using the drivers in this thread, I have full resolution, I can view videos, use iPhoto, and do everything a laptop (mac) is supposed to do. (I'm using Leopard 10.5.8 via iDeneb)

 

post-270579-1299281865_thumb.png

 

The only problem I have is that I can't use an external monitor/projector on my laptop. I plug in the monitor and I don't have an option to "detect monitors". I tried to reboot while having the external monitor plugged in, but the external monitor is ignored.

 

Could someone point me in a direction of any kexts, framebuffer or, app that could force the graphic card to give signal to the external monitor?

 

THanks!

Link to comment
Share on other sites

The only problem I have is that I can't use an external monitor/projector on my laptop. I plug in the monitor and I don't have an option to "detect monitors". I tried to reboot while having the external monitor plugged in, but the external monitor is ignored.

 

I am experimenting with multi-head support from time to time, but not much progress so far. :rolleyes:

Link to comment
Share on other sites

Finally got the external display show something for me today without system going to KP. And the system list both displays there, I can arrange their layout and move windows to the external display. :P

The color is messed on the external display though, mouse cursor is messed on both display. Will devote this weekend to solve these issues.

All experiments are test with a simplified version of RadeonHD driver for my X1400 mobility on T60. If the mechanism is sorted out, I will add the multi-head function to full RadeonHD driver.

Link to comment
Share on other sites

Finally got the external display show something for me today without system going to KP. And the system list both displays there, I can arrange their layout and move windows to the external display. :unsure:

The color is messed on the external display though, mouse cursor is messed on both display. Will devote this weekend to solve these issues.

All experiments are test with a simplified version of RadeonHD driver for my X1400 mobility on T60. If the mechanism is sorted out, I will add the multi-head function to full RadeonHD driver.

 

 

That is great! HOpe there's something coming out of this! :help:

Link to comment
Share on other sites

@Dong... I've got a 5650 mobility... I've tried RadeonHD to extract encoder and trasmitter id values... but RadeonDump only returns an EDID table...

Don't know if you're following the topics in ATI section... We can get QE/CI and monitor correctly recognized by patching stock ATIFramebuffer. But we need the correct values. Are you planning of adding support to HD5XXX series? Is there any way to inspect VGA rom to get this information? Please help...

Link to comment
Share on other sites

Now think the color problem on external display can be a gamma issue. Maybe vga display requires this to work correctly.

So everyone have RadeonHD.kext working is using digital display (laptop build-in lvds or desktop DVI) so far?

Link to comment
Share on other sites

Yep, working on Sony internal display connector LCD. No probs here.

 

Radeon dump:

 

Found a device of class RadeonDump: IOService:/AppleACPIPlatformExpert/PCI0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/EVGA@0/RadeonHD/RadeonDump

[RadeonHD]: Mapped IO at 0x3533d000 (size 0x00010000)
[RadeonHD]: FB at 0xf0000000 (size 0x04000000) mapped to 0x36d45000
[RadeonHD]: Card not in database: 0x718A:0x104D:0x9015; using generic modesetting.
[RadeonHD]:	 If - and only if - your card does not work or does not work optimally
please contact radeonhd@opensuse.org to help rectify this.
Use the subject: 0x718A:0x104D:0x9015: <name of board>
and *please* describe the problems you are seeing
in your message.
[RadeonHD]: Detected an M64 on an unidentified card
[RadeonHD]: PCIE Card Detected
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomInit
[RadeonHD]: Getting BIOS copy from legacy address
[RadeonHD]: rhdAtomGetTables
[RadeonHD]: ATOM BIOS Rom: 
[RadeonHD]:	 SubsystemVendorID: 0x104d SubsystemID: 0x9015
[RadeonHD]:	 IOBaseAddress: 0x2000
[RadeonHD]:	 Filename: br24619.bin 
[RadeonHD]:	 BIOS Bootup Message: 
M64M SONY Zaki/GD1 BIOS 480e/450m										   

[RadeonHD]: Call to AtomBIOS Init succeeded
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomAnalogTVInfoQuery
[RadeonHD]: Analog TV Default Mode: 1
[RadeonHD]: Found default TV Mode NTSC
[RadeonHD]: rhdGetVideoRamSize
[RadeonHD]: VideoRAM: 65536 kByte
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomVramInfoQuery
[RadeonHD]: Framebuffer space used by Firmware (kb): 20
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomVramInfoQuery
[RadeonHD]: Start of VRAM area used by Firmware: 0x3ffb000
[RadeonHD]: AtomBIOS requests 20kB of VRAM scratch space
[RadeonHD]: AtomBIOS VRAM scratch base: 0x3ffb000
[RadeonHD]: Call to AtomBIOS Set FB Space succeeded
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Default Engine Clock: 480000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Default Memory Clock: 450000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Maximum Pixel ClockPLL Frequency Output: 1100000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Minimum Pixel ClockPLL Frequency Output: 0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Maximum Pixel ClockPLL Frequency Input: 13500
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Minimum Pixel ClockPLL Frequency Input: 1000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Maximum Pixel Clock: 400000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Reference Clock: 27000
[RadeonHD]: RHDI2CFunc
[RadeonHD]: rhdGetI2CPrescale
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Default Engine Clock: 480000
[RadeonHD]: rhdInitI2C
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Clk_Mask: 0x1f90
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Clk_Mask_Shift: 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Data_Mask: 0x1f90
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Data_Mask_Shift: 0x8
[RadeonHD]: I2C clock prescale value: 0x7f25
[RadeonHD]: I2C bus "RHD I2C line 0" initialized.
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Clk_Mask: 0x1f94
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Clk_Mask_Shift: 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Data_Mask: 0x1f94
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Data_Mask_Shift: 0x8
[RadeonHD]: I2C clock prescale value: 0x7f25
[RadeonHD]: I2C bus "RHD I2C line 1" initialized.
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Clk_Mask: 0x1f98
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Clk_Mask_Shift: 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Data_Mask: 0x1f98
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomGPIOI2CInfoQuery
[RadeonHD]: GPIO_I2C_Data_Mask_Shift: 0x8
[RadeonHD]: I2C clock prescale value: 0x7f25
[RadeonHD]: I2C bus "RHD I2C line 2" initialized.
[RadeonHD]: RHDVGAInit
[RadeonHD]: Detected VGA mode.
[RadeonHD]: RHDMCInit
[RadeonHD]: MC FBIntAddress: 0xF0000000, size: 67043328.
[RadeonHD]: RHDCrtcsInit
[RadeonHD]: rhdInitScaleType
[RadeonHD]: RHDPLLsInit
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Minimum Pixel ClockPLL Frequency Output: 0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Maximum Pixel ClockPLL Frequency Output: 1100000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Maximum Pixel Clock: 400000
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomFirmwareInfoQuery
[RadeonHD]: Reference Clock: 27000
[RadeonHD]: RHDLUTsInit
[RadeonHD]: RHDCursorsInit
[RadeonHD]: FB: Allocated Cursor Image at offset 0x00000000 (size = 0x00004000)
[RadeonHD]: FB: Allocated Cursor Image at offset 0x00004000 (size = 0x00004000)
[RadeonHD]: Using HW cursor
[RadeonHD]: RHDConnectorsInit
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomConnectorInfo
[RadeonHD]: rhdAtomConnectorInfoFromObjectHeader
[RadeonHD]: rhdAtomConnectorInfoFromSupportedDevices
[RadeonHD]: AtomBIOS Connector[0]: VGA Device: CRT1 [RadeonHD]: Output: 1 [RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 0
[RadeonHD]: HW DDC 0 [RadeonHD]: NO HPD
[RadeonHD]: AtomBIOS Connector[1]: PANEL Device: LCD1 [RadeonHD]: Output: 4 [RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]: NO DDC [RadeonHD]: NO HPD
[RadeonHD]: AtomBIOS Connector[2]: SVIDEO Device: TV1 [RadeonHD]: Output: 2 [RadeonHD]: NO DDC [RadeonHD]: NO HPD
[RadeonHD]: Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[1] {RHD_CONNECTOR_PANEL, "PANEL LCD1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_LVTMA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[2] {RHD_CONNECTOR_TV, "SVIDEO TV1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACB, RHD_OUTPUT_NONE } }
[RadeonHD]: Call to AtomBIOS Get Connectors succeeded
[RadeonHD]: RHDHPDSave
[RadeonHD]: RHDHPDSet
[RadeonHD]: RHDConnectorsInit: 0 (VGA CRT1) type 1, ddc 0, hpd 0
[RadeonHD]: RHDI2CFunc
[RadeonHD]: RHDDACAInit
[RadeonHD]: RHDOutputAdd
[RadeonHD]: Attaching Output DAC A to Connector VGA 1
[RadeonHD]: RHDConnectorsInit: 1 (PANEL LCD1) type 4, ddc 255, hpd 0
[RadeonHD]: RHDLVTMAInit
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS SEQ Dig onto DE: 30
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS SEQ DE to BL: 250
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS Off Delay: 500
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS Duallink: 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS 24Bit: 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS FPDI: 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS Temporal Dither : 0x1
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS Spatial Dither : 0x0
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsInfoQuery
[RadeonHD]: LVDS Grey Level: 0x2
[RadeonHD]: AtomBIOS returned 2 Grey Levels
[RadeonHD]: Detected a 18bit single link panel.
[RadeonHD]: Printing LVDS paramaters:
[RadeonHD]:	 MacroControl: 0x0B520407
[RadeonHD]:	 TXClockPattern: 0x0063
[RadeonHD]:	 PowerDigToDE: 0x001E
[RadeonHD]:	 PowerDEToBL: 0x00FA
[RadeonHD]:	 OffDelay: 0x01F4
[RadeonHD]:	 PowerRefDiv: 0x0F9F
[RadeonHD]:	 BlonRefDiv: 0x0013
[RadeonHD]: RhdAtomSetupBacklightControlProperty
[RadeonHD]: RHDAtomBIOSScratchBlLevel
[RadeonHD]: Get BL level: 0x0
[RadeonHD]: RHDOutputAdd
[RadeonHD]: Attaching Output LVDS to Connector PANEL
[RadeonHD]: RHDConnectorsInit: 2 (SVIDEO TV1) type 5, ddc 255, hpd 0
[RadeonHD]: RHDDACBInit
[RadeonHD]: RHDOutputAdd
[RadeonHD]: Attaching Output DAC B to Connector TV SVIDEO
[RadeonHD]: RHDHPDRestore
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomOutputDeviceList
[RadeonHD]: rhdAtomOutputDeviceListFromObjectHeader
[RadeonHD]: rhdAtomOutputDeviceListFromSupportedDevices
[RadeonHD]: Call to AtomBIOS Get Output Info succeeded
[RadeonHD]: RHDAtomSetupOutputDriverPrivate
[RadeonHD]:  Output: DAC A[0x 1] - adding devices:
[RadeonHD]:  Looking at DeviceID: 0x 1 OutputType: 0x 1 ConnectorType: 0x 1
[RadeonHD]:   >> 0x 1
[RadeonHD]:  Looking at DeviceID: 0x 2 OutputType: 0x 4 ConnectorType: 0x 4
[RadeonHD]:  Looking at DeviceID: 0x 3 OutputType: 0x 2 ConnectorType: 0x 5
[RadeonHD]: RHDAtomSetupOutputDriverPrivate
[RadeonHD]:  Output: LVDS[0x 4] - adding devices:
[RadeonHD]:  Looking at DeviceID: 0x 1 OutputType: 0x 1 ConnectorType: 0x 1
[RadeonHD]:  Looking at DeviceID: 0x 2 OutputType: 0x 4 ConnectorType: 0x 4
[RadeonHD]:   >> 0x 2
[RadeonHD]:  Looking at DeviceID: 0x 3 OutputType: 0x 2 ConnectorType: 0x 5
[RadeonHD]: RHDAtomSetupOutputDriverPrivate
[RadeonHD]:  Output: DAC B[0x 2] - adding devices:
[RadeonHD]:  Looking at DeviceID: 0x 1 OutputType: 0x 1 ConnectorType: 0x 1
[RadeonHD]:  Looking at DeviceID: 0x 2 OutputType: 0x 4 ConnectorType: 0x 4
[RadeonHD]:  Looking at DeviceID: 0x 3 OutputType: 0x 2 ConnectorType: 0x 5
[RadeonHD]:   >> 0x 3
[RadeonHD]: rhdModeLayoutSelect
[RadeonHD]: DACASense
[RadeonHD]: DACSense: DAC: 0x00
[RadeonHD]: atomLVDSPropertyControl
[RadeonHD]: atomLVDSPropertyControl
[RadeonHD]: DACBSense
[RadeonHD]: DACSense: DAC: 0x00
[RadeonHD]: RHDMonitorInit
[RadeonHD]: rhdMonitorPanel
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsGetTimings
[RadeonHD]: rhdAtomLvdsTimings
[RadeonHD]: rhdAtomLvdsTimings: LVDS Modeline: 1280x800  68950  1280 (1280) 1301 1333 (1408) 1408  800 (800) 804 808 (816) 816
[RadeonHD]: Call to AtomBIOS Get Panel Mode succeeded
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomLvdsGetTimings
[RadeonHD]: Query for AtomBIOS Get Panel EDID: failed
[RadeonHD]: RHDSynthModes
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "640x480Scaled"  23  640 688 720 800  480 483 487 494[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "720x480Scaled"  26  720 768 800 880  480 483 493 499[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "854x480Scaled"  30  854 902 934 1014  480 483 493 499[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "768x576Scaled"  32  768 816 848 928  576 579 583 593[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "800x600Scaled"  35  800 848 880 960  600 603 607 618[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "1024x768Scaled"  56  1024 1072 1104 1184  768 771 775 790[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "1152x768Scaled"  62  1152 1200 1232 1312  768 771 781 790[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: RHDSynthModes: Adding Modeline [RadeonHD]: Modeline "1280x720Scaled"  63  1280 1328 1360 1440  720 723 728 741[RadeonHD]:  +hsync[RadeonHD]:  -vsync[RadeonHD]: 
[RadeonHD]: Crtc[0]: found native mode from Monitor[LVDS Panel]: 
[RadeonHD]: Modeline "1280x800"  68  1280 1301 1333 1408  800 804 808 816[RadeonHD]: 
[RadeonHD]: Connector "PANEL" uses Monitor "LVDS Panel":
[RadeonHD]: RHDValidateScaledToMode
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: DxModeValid: CRTC 1
[RadeonHD]: LVDSModeValid
[RadeonHD]: Listing modesetting layout:
[RadeonHD]: CRTC 1: tied to PLL 1 and LUT A:
[RadeonHD]:	 Outputs: LVDS (PANEL)[RadeonHD]: 
[RadeonHD]: CRTC 2: unused
[RadeonHD]:	 Unused Outputs: DAC A[RadeonHD]: , DAC B[RadeonHD]: 
[RadeonHD]: RHDModesPoolCreate
[RadeonHD]: rhdCreateModesListAndValidate
[RadeonHD]: Validating Modes from Monitor "LVDS Panel" on "PANEL"
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: rhdModeValidateCrtc
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: RHDGetVirtualFromModesAndFilter
[RadeonHD]: FUNCTION: DxFBValid: CRTC 1
[RadeonHD]: FUNCTION: DxFBValid: CRTC 2
[RadeonHD]: Using 96x96 DPI.
[RadeonHD]: Using 1280x800 Framebuffer with 1280 pitch
[RadeonHD]: Free FB offset 0x00008000 (size = 0x03FF8000)
[RadeonHD]: Display resolutions detected: 
[RadeonHD]: 1280 X 800 @ 60Hz
[RadeonHD]: 1280 X 720 @ 59Hz
[RadeonHD]: 1152 X 768 @ 59Hz
[RadeonHD]: 1024 X 768 @ 59Hz
[RadeonHD]: 800 X 600 @ 59Hz
[RadeonHD]: 768 X 576 @ 59Hz
[RadeonHD]: 854 X 480 @ 59Hz
[RadeonHD]: 720 X 480 @ 59Hz
[RadeonHD]: 640 X 480 @ 59Hz
[RadeonHD]: RHDScreenInit
[RadeonHD]: rhdMapFB
[RadeonHD]: RHDVGADisable
[RadeonHD]: D1Power
[RadeonHD]: D1CRTCDisable: 0 loops
[RadeonHD]: D2Power
[RadeonHD]: RHDMCIdleWait
[RadeonHD]: RHDMCSetupFBLocation
[RadeonHD]: RHDPrepareMode
[RadeonHD]: D1Blank
[RadeonHD]: D2Blank
[RadeonHD]: RHDOutputsPower
[RadeonHD]: rhdBIOSScratchUpdateBIOSScratchForOutput
[RadeonHD]: rhdBIOSScratchSetDeviceForOutput
[RadeonHD]: rhdAtomBIOSScratchSetCrtcState
[RadeonHD]: rhdAtomBIOSScratchUpdateOnState
[RadeonHD]: rhdAtomBIOSScratchUpdateAttachedState
[RadeonHD]: LVDSPower(LVDS,POWER_RESET)
[RadeonHD]: LVDSDisable
[RadeonHD]: rhdModeInit
[RadeonHD]: rhdSetMode
[RadeonHD]: Setting up "1280x800" (1280x800@60Hz)
[RadeonHD]: FUNCTION: DxFBSet: CRTC 1 (1280[1280]x800@32bpp)  +0x8000 )
[RadeonHD]: FUNCTION: DxModeSet: CRTC 1
[RadeonHD]: DxModeSet: Setting [RadeonHD]: Modeline "1280x800"  68  1280 1301 1333 1408  800 804 808 816[RadeonHD]: 
[RadeonHD]: FUNCTION: DxScaleSet: CRTC 1 viewport: 1280x800
[RadeonHD]: FUNCTION: DxScaleSet: CRTC 1 viewport: 1280x800 - OverScan: T: 0 B: 0 R: 0 L: 0
[RadeonHD]: None
[RadeonHD]: RHDMCTuneAccessForDisplay
[RadeonHD]: RHDPLLSet: Setting PLL 1 to 68950kHz
[RadeonHD]: PLL Calculation: 68950kHz = (((27000 / 0xB) * 0x135) / 0xB) (0kHz off)
[RadeonHD]: R500PLL1Set
[RadeonHD]: R500PLL1SetLow
[RadeonHD]: PLL1Calibrate
[RadeonHD]: PLL1Calibrate: lock in 255 loops
[RadeonHD]: D1LUTSelect
[RadeonHD]: RHDOutputsMode
[RadeonHD]: rhdBIOSScratchUpdateBIOSScratchForOutput
[RadeonHD]: rhdBIOSScratchSetDeviceForOutput
[RadeonHD]: rhdAtomBIOSScratchSetCrtcState
[RadeonHD]: rhdAtomBIOSScratchUpdateOnState
[RadeonHD]: rhdAtomBIOSScratchUpdateAttachedState
[RadeonHD]: LVDSSet
[RadeonHD]: RHDPLLsShutdownInactive
[RadeonHD]: R500PLL2Power
[RadeonHD]: RHDOutputsShutdownInactive
[RadeonHD]: Shutting down DAC A
[RadeonHD]: rhdBIOSScratchUpdateBIOSScratchForOutput
[RadeonHD]: rhdAtomBIOSScratchUpdateOnState
[RadeonHD]: rhdAtomBIOSScratchUpdateAttachedState
[RadeonHD]: DACAPower
[RadeonHD]: DACPower(DAC A,POWER_SHUTDOWN)
[RadeonHD]: Shutting down DAC B
[RadeonHD]: rhdBIOSScratchUpdateBIOSScratchForOutput
[RadeonHD]: rhdAtomBIOSScratchUpdateOnState
[RadeonHD]: rhdAtomBIOSScratchUpdateAttachedState
[RadeonHD]: DACBPower
[RadeonHD]: DACPower(DAC B,POWER_SHUTDOWN)
[RadeonHD]: D1Power
[RadeonHD]: D2Power
[RadeonHD]: RHDOutputsPower
[RadeonHD]: rhdBIOSScratchUpdateBIOSScratchForOutput
[RadeonHD]: rhdBIOSScratchSetDeviceForOutput
[RadeonHD]: rhdAtomBIOSScratchSetCrtcState
[RadeonHD]: rhdAtomBIOSScratchUpdateOnState
[RadeonHD]: rhdAtomBIOSScratchUpdateAttachedState
[RadeonHD]: LVDSPower(LVDS,POWER_ON)
[RadeonHD]: LVDSEnable
[RadeonHD]: LVDSSetBacklight: trying to set BL_MOD_LEVEL to: 255
[RadeonHD]: LVDSDebugBacklight: PWRSEQ BLON State: on
[RadeonHD]: LVDSDebugBacklight: BLON: off BLON_OVRD: disabled BLON_POL: non-invert
[RadeonHD]: LVDSDebugBacklight: BL_MOD: enable BL_MOD_LEVEL: 255 BL_MOD_RES: 0
[RadeonHD]: D1ViewPortStart
[RadeonHD]: RHDSaveScreen
[RadeonHD]: D1Blank
[RadeonHD]: D2Blank
[RadeonHD]: cscGetScalerInfo
[RadeonHD]: cscGetConnection...
[RadeonHD]: cscGetConnection query for connection 0
[RadeonHD]: cscSetGray
[RadeonHD]: cscSavePreferredConfiguration
[RadeonHD]: cscGetFeatureConfiguration
[RadeonHD]: cscGetConnection...
[RadeonHD]: cscGetConnection query for connection 0
[RadeonHD]: cscGetConnection...
[RadeonHD]: cscGetConnection query for connection 0
[RadeonHD]: cscGetConnection...
[RadeonHD]: cscGetConnection query for connection 0
[RadeonHD]: cscGetConnection...
[RadeonHD]: cscGetConnection query for connection 0
[RadeonHD]: cscGetConnection...
[RadeonHD]: cscGetConnection query for connection 0
[RadeonHD]: Prepare Hardware cursor failed
[RadeonHD]: cscGetFeatureConfiguration

Link to comment
Share on other sites

Now think the color problem on external display can be a gamma issue. Maybe vga display requires this to work correctly.

So everyone have RadeonHD.kext working is using digital display (laptop build-in lvds or desktop DVI) so far?

My laptop with ati x1300 mobility works great with build-in lvds or desktop VGA,but only one display works one time!Because of radeonhd lacks of multi-head function.How the progress of the multi-head support of radeonhd?I am willing to test the new kext!
Link to comment
Share on other sites

My laptop with ati x1300 mobility works great with build-in lvds or desktop VGA,but only one display works one time!Because of radeonhd lacks of multi-head function.How the progress of the multi-head support of radeonhd?I am willing to test the new kext!

 

Thanks for the information. So RadeonHD.kext does work on vga port. Based on the answer from the linux radeon irc channel, the color issue can be caused by wrong dac bg/adjut values. My testing driver does not include Atombion code, that could be the reason.

BTW, how you managed to make the VGA display work? Settings in BIOS? I did not find a way to get RadeonHD.kext only works on external display. I'd really like to have it for test purpose.

Link to comment
Share on other sites

Thanks for the information. So RadeonHD.kext does work on vga port. Based on the answer from the linux radeon irc channel, the color issue can be caused by wrong dac bg/adjut values. My testing driver does not include Atombion code, that could be the reason.

BTW, how you managed to make the VGA display work? Settings in BIOS? I did not find a way to get RadeonHD.kext only works on external display. I'd really like to have it for test purpose.

I didn't do anything! When I am using external display VGA,my internal lvds scrambles but exteranl display works great!Here is what I got from radeonhd debug information,hope it can help you!

 

I didn't do anything! When I am using external display VGA,my internal lvds scrambles but exteranl display works great!Here is what I got from radeonhd debug information,hope it can help you!

Sorry for my english,I am chinese!I am not a programmer,only I can do is to test your new function kext and report what I get from debug information!

Encoder.txt

Encoder_lvds.txt

Link to comment
Share on other sites

Ha, useful information, look at this:

[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomCompassionateDataQuery
[RadeonHD]: DAC1 BG Adjustment: 0x5
[RadeonHD]: DACGetElectrical: BandGap found in CompassionateData.
[RadeonHD]: RHDAtomBiosFunc
[RadeonHD]: rhdAtomCompassionateDataQuery
[RadeonHD]: DAC1 DAC Adjustment: 0x8
[RadeonHD]: DACGetElectrical: WhiteFine found in CompassionateData.
[RadeonHD]: DACGetElectrical: DAC[0] BandGap: 0x 5 WhiteFine: 0x 8

This only comes from Atombios code. For my testing driver, it only has a default:

DACGetElectrical: DAC[0] BandGap: 0x 0 WhiteFine: 0x0

That's just what ppl in radeon channel has been suggested to check.

 

Sadly that I can't get RadeonHD.kext to work for my external dispaly, so that I can't simply obtain the two values there. Will have to add the whole Atombios code into the test driver for this.

Link to comment
Share on other sites

Thank you dong for your wonderful kext.

 

Users may want to look into a new method to modify Apple's FB supporting Mobility Radeon which supports QE/CI

 

CrazyBirdy has figured out how to use Linux rather than dong's old kext to get the dmesg you need to set encoder/decoder. This should help 5xxx and 6xxx users, like checco.

 

http://www.insanelymac.com/forum/index.php?showtopic=245308

Link to comment
Share on other sites

Today, I fixed both the color and cursor messing problem on external display. I now have both displays working correctly. It turned out the LUT for 2nd one is messed, I just copied the 1st to 2nd and it worked.

Still one problem is that the external display can only have native resolution, if I switch it to other resolution, the display complains the input timing is not supported. Logs do not show anything obviously wrong. May take some time to figure that out.

No mirror mode yet cause I do not add that function yet.

I will post a test driver for all after I solve that and add in mirror mode. :rolleyes:

Screenshots for both displays:

post-75935-1300986419_thumb.jpg

post-75935-1300986437_thumb.jpg

Link to comment
Share on other sites

 Share

×
×
  • Create New...