.:JD:. Posted October 22, 2009 Share Posted October 22, 2009 Any work-around for the HD3200?? Link to comment Share on other sites More sharing options...
Kvasir Posted October 22, 2009 Share Posted October 22, 2009 Any work-around for the HD3200?? i think not.. but it is only a supposition.. Link to comment Share on other sites More sharing options...
lebidou Posted October 22, 2009 Share Posted October 22, 2009 I got my hands on my LCD display datasheet (LP154W01-TLxx), it's confirmed that used a 666RGB pixel format (18 bpp), not 888RGB (24 bpp). I have diabolic LCD panel… EDIT: New tests new discoveries ! I first realised that your 24bpp version didn't set the 24bpp correctly so I hardcoded it in the source to make sure it would set 24bpp. But the problem remained. However, I noticed a graphic bug I didn't care about before with the shadows under the windows. Plus, there is a one pixel wide line at the left of the windows that is not as blue as the others (see pics), actually black is correct (not blue): All this to say that maybe the hardware configuration isn't in cause, 18bpp is correct, because some times the blue subpixel isn't completly lighten up. I still don't know what would cause this… EDIT bis : I had such a hard getting this card to work with ATINDRV, I might have some Tiger's kext that could conflict with your driver. I'm extracting any graphics related file from a combo update to check that. Link to comment Share on other sites More sharing options...
lebidou Posted October 22, 2009 Share Posted October 22, 2009 Problem finally solved ! I completly forgot I was using Tiger's IONDRVSupport.kext, installing back Leopard's one solved the issue. I'm very sorry I made you loose time because of such a dumb lapse of memory. Conclusion, your framebuffer works just fine and is really wonderful. We just know now that it's not Tiger compatible (but do we care ?). I'm impatient for improvements, and you can concentrate on more important fixes for other more common boards. Thank you for your work, your time and your patience, and sorry again... Link to comment Share on other sites More sharing options...
dong Posted October 22, 2009 Author Share Posted October 22, 2009 Problem finally solved !I completly forgot I was using Tiger's IONDRVSupport.kext, installing back Leopard's one solved the issue. I'm glad that you finally get it sorted out. As you said, this is really a "hard" situation that we can ever imagine. Link to comment Share on other sites More sharing options...
jkwarras Posted October 22, 2009 Share Posted October 22, 2009 i think not.. but it is only a supposition.. I have an HD 3100 that should be similar to the HD 3200. The kext works but it doesn't enable the QE on this card... Link to comment Share on other sites More sharing options...
Kvasir Posted October 23, 2009 Share Posted October 23, 2009 Guys, so no news for 3470 mob? Will be possible to enable qe/ci working on this source? Link to comment Share on other sites More sharing options...
Prasys Posted October 23, 2009 Share Posted October 23, 2009 Why folks are begging here please enable qE/CI the developer is certainly doing a good job here and encouragement must be given , so that he can venture more. You must understand that this guy is giving hope to mobility hd users and some hd uses to get their display to work at native resolution. the QE/CI part can come later. Kudos to you (the developer) sir for porting it. Link to comment Share on other sites More sharing options...
Prototipo Posted October 23, 2009 Share Posted October 23, 2009 Tnx DOng for u kext file..u are a GOD!! My radeon mobility x1350 now is 1440x900 and quarz engine on tnx !!but i have a one problem!!--->mouse treading can u help me? tnx all!! Link to comment Share on other sites More sharing options...
hdb3 Posted October 23, 2009 Share Posted October 23, 2009 Hi dong, thank you for all your efforts!! We are experiencing some issues with the frambuffer driver with our radeon HD 2400 xt, when we boot we have a blank internal screen output. There is the result of our dmesg and the dump of radeondump: dmesg: e NAME: LVDS GPUObjId: 0x1100 GraphicsObj[0] ID: 0x210f Type: 0x2 ObjID: 0xf ENUM: 0x1 NAME: INTERNAL_LVTM1 DeviceIndex: 0x1 DisplaPathTable[1]: size: 10 DeviceTag: 0x4 ConnObjId: 0x310f NAME: 7PIN_DIN GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2116 Type: 0x2 ObjID: 0x16 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC2 DeviceIndex: 0x2 DisplaPathTable[2]: size: 10 DeviceTag: 0x1 ConnObjId: 0x3105 NAME: VGA GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2115 Type: 0x2 ObjID: 0x15 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC1 DeviceIndex: 0x0 DisplaPathTable[3]: size: 10 DeviceTag: 0x8 ConnObjId: 0x3101 NAME: SINGLE_LINK_DVI_I GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2113 Type: 0x2 ObjID: 0x13 ENUM: 0x1 NAME: INTERNAL_KLDSCP_TMDS1 DeviceIndex: 0x3 Call to AtomBIOS Get Output Info succeeded Output: LVDS[0x 4] - adding devices: Output: DAC B[0x 2] - adding devices: Output: DAC A[0x 1] - adding devices: Output: TMDS A[0x 3] - adding devices: DACSense: DAC: 0x00 DACSense: DAC: 0x00 RHDHPDCheck returned: 0 mask: 1 rhdAtomLvdsTimings: LVDS Modeline: 1440x900 96310 1440 (1440) 1504 1536 (1760) 1760 900 (900) 903 906 (912) 912 Call to AtomBIOS Get Panel Mode succeeded Query for AtomBIOS Get Panel EDID: failed Crtc[0]: found native mode from Monitor[LVDS Panel]: Modeline "1440x900" 96 1440 1504 1536 1760 900 903 906 912 Connector "PANEL" uses Monitor "LVDS Panel": DxModeValid: CRTC 1 Listing modesetting layout: CRTC 1: tied to PLL 1 and LUT A: Outputs: LVDS (PANEL) CRTC 2: unused Unused Outputs: DAC B, DAC A, TMDS A Validating Modes from Monitor "LVDS Panel" on "PANEL" FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 Using 126x109 DPI. Using 1440x1024 Framebuffer with 1472 pitch Free FB offset 0x00000000 (size = 0x10000000) Display resolutions detected: 1440 X 900 @ 60Hz 1280 X 1024 @ 75Hz 1024 X 768 @ 60Hz 800 X 600 @ 60Hz 640 X 480 @ 60Hz D1CRTCDisable: 0 loops LVDSPower(LVDS,POWER_RESET) Setting up "1024x768" (1024x768@60Hz) FUNCTION: DxFBSet: CRTC 1 (1024[1024]x768@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1024x768 - OverScan: T: 0 B: 0 R: 0 L: 0 Full RHDPLLSet: Setting PLL 1 to 65000kHz PLL Calculation: 65000kHz = (((27000 / 0x1B) * 0x28A) / 0xA) (0kHz off) PLL1Calibrate: lock in 210 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) LVDSSetBacklight: trying to set BL_MOD_LEVEL to: 0 set_display_mode_and_vram failed VoodooHDAEngine[0x5693600]::peformFormatChange(0x5693a00, 0x3fbffbd8, 0) channelSetFormat(0x10000010) for channel 1 returned 0 buffer size: 65536, channels: 2, bit depth: 16, # samp. frames: 16384 VoodooHDAEngine[0x55b7e00]::volumeChanged(0x5589000, 75, 100) VoodooHDADevice[0x48b5800]::audioCtlOssMixerSet(0x5546584, 0, 100, 75) VoodooHDAEngine[0x55b7e00]::volumeChanged(0x5693800, 75, 100) VoodooHDADevice[0x48b5800]::audioCtlOssMixerSet(0x5546584, 0, 100, 100) VoodooHDAEngine[0x55b7e00]::peformFormatChange(0x5512d00, 0x34e47bd8, 0) channelSetFormat(0x10001000) for channel 0 returned 0 buffer size: 65536, channels: 2, bit depth: 24, # samp. frames: 8192 D1CRTCDisable: 0 loops Setting MC from 0x00000000 to 0xD0000000 [size 0x0F000000] Setting up "1440x900" (1440x900@60Hz) FUNCTION: DxFBSet: CRTC 1 (1440[1472]x900@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1440x900 - OverScan: T: 0 B: 0 R: 0 L: 0 None RHDPLLSet: Setting PLL 1 to 96310kHz PLL Calculation: 96310kHz = (((27000 / 0x20) * 0x31F) / 0x7) (2kHz off) PLL1Calibrate: lock in 255 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) LVDSSetBacklight: trying to set BL_MOD_LEVEL to: 0 set_display_mode_and_vram failed Radeondump: Found a device of class RadeonDump: IOService:/AppleACPIPlatformExpert/PCI0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/GFX@0/RadeonHD/RadeonDump Mapped IO at 0x3fe95000 (size 0x00010000) FB at 0xd0000000 (size 0x10000000) mapped to 0x400f7000 Card not in database: 0x94C8:0x1025:0x011F; using generic modesetting. 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: 0x94C8:0x1025:0x011F: <name of board> and *please* describe the problems you are seeing in your message. Detected an M74 on an unidentified card PCIE Card Detected Getting BIOS copy from legacy address ATOM BIOS Rom: SubsystemVendorID: 0x1002 SubsystemID: 0x94c8 IOBaseAddress: 0x2000 Filename: BR26315.bin BIOS Bootup Message: Wistron/Acer MXM M74M GDDR2 256MB 300e/400m Call to AtomBIOS Init succeeded Analog TV Default Mode: 1 Found default TV Mode NTSC VideoRAM: 262144 kByte Framebuffer space used by Firmware (kb): 16 Start of VRAM area used by Firmware: 0xfffc000 AtomBIOS requests 16kB of VRAM scratch space AtomBIOS VRAM scratch base: 0xfffc000 Call to AtomBIOS Set FB Space succeeded Default Engine Clock: 300000 Default Memory Clock: 400000 Maximum Pixel ClockPLL Frequency Output: 1200000 Minimum Pixel ClockPLL Frequency Output: 0 Maximum Pixel ClockPLL Frequency Input: 13500 Minimum Pixel ClockPLL Frequency Input: 1000 Maximum Pixel Clock: 400000 Reference Clock: 27000 Reference Clock: 27000 GPIO_I2C_Clk_Mask: 0x1f90 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f90 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 0" initialized. GPIO_I2C_Clk_Mask: 0x1f94 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f94 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 1" initialized. GPIO_I2C_Clk_Mask: 0x1f98 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f98 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 2" initialized. GPIO_I2C_Clk_Mask: 0x1f80 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f80 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 3" initialized. Detected VGA mode. MC FBIntAddress: 0xD0000000, size: 251658240. Minimum Pixel ClockPLL Frequency Output: 0 Maximum Pixel ClockPLL Frequency Output: 1200000 Maximum Pixel Clock: 400000 Reference Clock: 27000 ObjectTable - size: 244, BIOS - size: 65536 TableOffset: 60 object_header_end: 304 Object: ID: 310e name: LVDS type: 3 id: e * SrcObject: ID: 210f name: INTERNAL_LVTM1 enum: 1 - Record Type: 1 rhdAtomDDCFromI2CRecord: I2C Record: GPIO_ID[4] EngineID: 1 I2CAddr: 0 Found DDC GPIO Index: 4 - Record Type: 4 NumberOfDevice: 1 Devices: LCD1 Object: ID: 310f name: 7PIN_DIN type: 3 id: f * SrcObject: ID: 2116 name: INTERNAL_KLDSCP_DAC2 enum: 1 - Record Type: 4 NumberOfDevice: 1 Devices: TV1 Object: ID: 3105 name: VGA type: 3 id: 5 * SrcObject: ID: 2115 name: INTERNAL_KLDSCP_DAC1 enum: 1 - Record Type: 1 rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[0] EngineID: 1 I2CAddr: 0 Found DDC GPIO Index: 0 - Record Type: 4 NumberOfDevice: 1 Devices: CRT1 Object: ID: 3101 name: SINGLE_LINK_DVI_I type: 3 id: 1 * SrcObject: ID: 2113 name: INTERNAL_KLDSCP_TMDS1 enum: 1 - Record Type: 1 rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0 Found DDC GPIO Index: 1 - Record Type: 2 rhdAtomHPDFromRecord: HPD Record: GPIO ID: 6 Plugged_PinState: 0 rhdAtomParseGPIOLutForHPD: GPIO PinID: 6 Index: 1fa5 Shift: 0 - Record Type: 4 NumberOfDevice: 1 Devices: DFP1 Connector[0] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_4, RHD_HPD_NONE, { RHD_OUTPUT_LVTMA, RHD_OUTPUT_NONE } } Connector[1] {RHD_CONNECTOR_TV, "7PIN_DIN TV1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACB, RHD_OUTPUT_NONE } } Connector[2] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } } Connector[3] {RHD_CONNECTOR_DVI_SINGLE, "SINGLE_LINK_DVI_Iõy DFP1", RHD_DDC_1, RHD_HPD_0, { RHD_OUTPUT_TMDSA, RHD_OUTPUT_NONE } } Call to AtomBIOS Get Connectors succeeded RHDConnectorsInit: 0 (LVDS LCD1) type 4, ddc 4, hpd 0 LVDS SEQ Dig onto DE: 30 LVDS SEQ DE to BL: 360 LVDS Off Delay: 500 LVDS Duallink: 0x1 LVDS 24Bit: 0x0 LVDS FPDI: 0x0 LVDS Temporal Dither : 0x1 LVDS Spatial Dither : 0x0 LVDS Grey Level: 0x3 AtomBIOS returned 3 Grey Levels Detected a 18bit dual link panel. Printing LVDS paramaters: MacroControl: 0x02030509 TXClockPattern: 0x0063 PowerDigToDE: 0x001E PowerDEToBL: 0x0168 OffDelay: 0x01F4 PowerRefDiv: 0x0F9F BlonRefDiv: 0x0000 Get BL level: 0x0 Attaching Output LVDS to Connector PANEL RHDConnectorsInit: 1 (7PIN_DIN TV1) type 5, ddc 255, hpd 0 Attaching Output DAC B to Connector TV 7PIN_DIN RHDConnectorsInit: 2 (VGA CRT1) type 1, ddc 0, hpd 0 Attaching Output DAC A to Connector VGA 1 RHDConnectorsInit: 3 (SINGLE_LINK_DVI_Iõy DFP1) type 3, ddc 1, hpd 1 Attaching Output TMDS A to Connector DVI-D 1 ObjectTable - size: 244, BIOS - size: 65536 TableOffset: 60 object_header_end: 304 DisplayPathObjectTable: entries: 4 version: 1 DisplaPathTable[0]: size: 10 DeviceTag: 0x2 ConnObjId: 0x310e NAME: LVDS GPUObjId: 0x1100 GraphicsObj[0] ID: 0x210f Type: 0x2 ObjID: 0xf ENUM: 0x1 NAME: INTERNAL_LVTM1 DeviceIndex: 0x1 DisplaPathTable[1]: size: 10 DeviceTag: 0x4 ConnObjId: 0x310f NAME: 7PIN_DIN GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2116 Type: 0x2 ObjID: 0x16 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC2 DeviceIndex: 0x2 DisplaPathTable[2]: size: 10 DeviceTag: 0x1 ConnObjId: 0x3105 NAME: VGA GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2115 Type: 0x2 ObjID: 0x15 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC1 DeviceIndex: 0x0 DisplaPathTable[3]: size: 10 DeviceTag: 0x8 ConnObjId: 0x3101 NAME: SINGLE_LINK_DVI_I GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2113 Type: 0x2 ObjID: 0x13 ENUM: 0x1 NAME: INTERNAL_KLDSCP_TMDS1 DeviceIndex: 0x3 Call to AtomBIOS Get Output Info succeeded Output: LVDS[0x 4] - adding devices: Output: DAC B[0x 2] - adding devices: Output: DAC A[0x 1] - adding devices: Output: TMDS A[0x 3] - adding devices: DACSense: DAC: 0x00 DACSense: DAC: 0x00 RHDHPDCheck returned: 0 mask: 1 rhdAtomLvdsTimings: LVDS Modeline: 1440x900 96310 1440 (1440) 1504 1536 (1760) 1760 900 (900) 903 906 (912) 912 Call to AtomBIOS Get Panel Mode succeeded Query for AtomBIOS Get Panel EDID: failed Crtc[0]: found native mode from Monitor[LVDS Panel]: Modeline "1440x900" 96 1440 1504 1536 1760 900 903 906 912 Connector "PANEL" uses Monitor "LVDS Panel": DxModeValid: CRTC 1 Listing modesetting layout: CRTC 1: tied to PLL 1 and LUT A: Outputs: LVDS (PANEL) CRTC 2: unused Unused Outputs: DAC B, DAC A, TMDS A Validating Modes from Monitor "LVDS Panel" on "PANEL" FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 Using 126x109 DPI. Using 1440x1024 Framebuffer with 1472 pitch Free FB offset 0x00000000 (size = 0x10000000) Display resolutions detected: 1440 X 900 @ 60Hz 1280 X 1024 @ 75Hz 1024 X 768 @ 60Hz 800 X 600 @ 60Hz 640 X 480 @ 60Hz D1CRTCDisable: 0 loops LVDSPower(LVDS,POWER_RESET) Setting up "1024x768" (1024x768@60Hz) FUNCTION: DxFBSet: CRTC 1 (1024[1024]x768@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1024x768 - OverScan: T: 0 B: 0 R: 0 L: 0 Full RHDPLLSet: Setting PLL 1 to 65000kHz PLL Calculation: 65000kHz = (((27000 / 0x1B) * 0x28A) / 0xA) (0kHz off) PLL1Calibrate: lock in 210 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) LVDSSetBacklight: trying to set BL_MOD_LEVEL to: 0 D1CRTCDisable: 0 loops Setting MC from 0x00000000 to 0xD0000000 [size 0x0F000000] Setting up "1440x900" (1440x900@60Hz) FUNCTION: DxFBSet: CRTC 1 (1440[1472]x900@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1440x900 - OverScan: T: 0 B: 0 R: 0 L: 0 None RHDPLLSet: Setting PLL 1 to 96310kHz PLL Calculation: 96310kHz = (((27000 / 0x20) * 0x31F) / 0x7) (2kHz off) PLL1Calibrate: lock in 255 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) LVDSSetBacklight: trying to set BL_MOD_LEVEL to: 0 Have you any clue for our issue? Thank you so much. Link to comment Share on other sites More sharing options...
lebidou Posted October 23, 2009 Share Posted October 23, 2009 Have you tried to disable the "enableBacklight" option in the Info.plist ? Link to comment Share on other sites More sharing options...
dong Posted October 23, 2009 Author Share Posted October 23, 2009 LVDSSetBacklight: trying to set BL_MOD_LEVEL to: 0This means you should do what lebidou suggested. It looks like the driver should avoid set BL_MOD_LEVEL to a too low value. By the way, could you put the log in a codebox? That would make it easier to read. Link to comment Share on other sites More sharing options...
MebiusTrack Posted October 23, 2009 Share Posted October 23, 2009 I'm sorry, My English is very bad, so I am writing through a translator Google. In my notebook ATI HD2400 ID 0x94c8. Prior to the installation RadeonHD.kext have a "mosaic" on screen, and I can boot only with -x option. After installing the kext I get a black screen ... Many thanks to the author for his development, I hope that my card would ever work. I would be grateful for any advice on starting cards. If you can explain in detail or give a link where I can read. P.S. I know (in the amount of system administrator) Windows, Linux (Ubuntu), a little more remember the Amiga OS. Mac OS X, I just start to explore... Link to comment Share on other sites More sharing options...
Boombeng Posted October 23, 2009 Share Posted October 23, 2009 In my notebook ATI HD2400 ID 0x94c8, and Leopard 10.5.7. Prior to the installation RadeonHD.kext have a "mosaic" on screen, and I can boot only with -x option. After installing the kext I get a black screen ... ... And try to remove also ATIRadeonX2000.kext cause your card's ID is in ; that's why you have mozaic screen Link to comment Share on other sites More sharing options...
dong Posted October 23, 2009 Author Share Posted October 23, 2009 In my notebook ATI HD2400 ID 0x94c8, and Leopard 10.5.7. Prior to the installation RadeonHD.kext have a "mosaic" on screen, and I can boot only with -x option. After installing the kext I get a black screen ... You should first remove any graphic enabler. I guess you have one of such thing since you can only boot with -x. Also you can try set "enableBacklight" to false. Link to comment Share on other sites More sharing options...
Kvasir Posted October 23, 2009 Share Posted October 23, 2009 guys how can i change resolution with hd3470 mob? what kext i need over RadeonHD? Link to comment Share on other sites More sharing options...
hackmymac Posted October 24, 2009 Share Posted October 24, 2009 Who ever made this, THANK YOU SO MUCH!!! You have made a a WORK ATI Mobility 2600 HD driver. YOU ARE THE GOD. YES THATS RIGHT A WORKING M2600 HD driver w/ full 3d (for me anyway) Again thanks. Link to comment Share on other sites More sharing options...
MebiusTrack Posted October 24, 2009 Share Posted October 24, 2009 You should first remove any graphic enabler. I guess you have one of such thing since you can only boot with -x. Also you can try set "enableBacklight" to false. After reading this topic, Mac OS has been installed at all without drivers ATI (when installed, I never said to install the drivers for video). The result is the same. Link to comment Share on other sites More sharing options...
hdb3 Posted October 24, 2009 Share Posted October 24, 2009 This means you should do what lebidou suggested. It looks like the driver should avoid set BL_MOD_LEVEL to a too low value. By the way, could you put the log in a codebox? That would make it easier to read. Thanks Dong. Seem's that Backlight setting to false works well, this is my radeondump now: Dmesg: yPathObjectTable: entries: 4 version: 1 DisplaPathTable[0]: size: 10 DeviceTag: 0x2 ConnObjId: 0x310e NAME: LVDS GPUObjId: 0x1100 GraphicsObj[0] ID: 0x210f Type: 0x2 ObjID: 0xf ENUM: 0x1 NAME: INTERNAL_LVTM1 DeviceIndex: 0x1 DisplaPathTable[1]: size: 10 DeviceTag: 0x4 ConnObjId: 0x310f NAME: 7PIN_DIN GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2116 Type: 0x2 ObjID: 0x16 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC2 DeviceIndex: 0x2 DisplaPathTable[2]: size: 10 DeviceTag: 0x1 ConnObjId: 0x3105 NAME: VGA GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2115 Type: 0x2 ObjID: 0x15 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC1 DeviceIndex: 0x0 DisplaPathTable[3]: size: 10 DeviceTag: 0x8 ConnObjId: 0x3101 NAME: SINGLE_LINK_DVI_I GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2113 Type: 0x2 ObjID: 0x13 ENUM: 0x1 NAME: INTERNAL_KLDSCP_TMDS1 DeviceIndex: 0x3 Call to AtomBIOS Get Output Info succeeded Output: LVDS[0x 4] - adding devices: Output: DAC B[0x 2] - adding devices: Output: DAC A[0x 1] - adding devices: Output: TMDS A[0x 3] - adding devices: DACSense: DAC: 0x00 DACSense: DAC: 0x00 RHDHPDCheck returned: 0 mask: 1 rhdAtomLvdsTimings: LVDS Modeline: 1440x900 96310 1440 (1440) 1504 1536 (1760) 1760 900 (900) 903 906 (912) 912 Call to AtomBIOS Get Panel Mode succeeded Query for AtomBIOS Get Panel EDID: failed Crtc[0]: found native mode from Monitor[LVDS Panel]: Modeline "1440x900" 96 1440 1504 1536 1760 900 903 906 912 Connector "PANEL" uses Monitor "LVDS Panel": DxModeValid: CRTC 1 Listing modesetting layout: CRTC 1: tied to PLL 1 and LUT A: Outputs: LVDS (PANEL) CRTC 2: unused Unused Outputs: DAC B, DAC A, TMDS A Validating Modes from Monitor "LVDS Panel" on "PANEL" FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 Using 126x109 DPI. Using 1440x1024 Framebuffer with 1472 pitch Free FB offset 0x00000000 (size = 0x10000000) Display resolutions detected: 1440 X 900 @ 60Hz 1280 X 1024 @ 75Hz 1024 X 768 @ 60Hz 800 X 600 @ 60Hz 640 X 480 @ 60Hz D1CRTCDisable: 0 loops LVDSPower(LVDS,POWER_RESET) Setting up "1024x768" (1024x768@60Hz) FUNCTION: DxFBSet: CRTC 1 (1024[1024]x768@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1024x768 - OverScan: T: 0 B: 0 R: 0 L: 0 Full RHDPLLSet: Setting PLL 1 to 65000kHz PLL Calculation: 65000kHz = (((27000 / 0x1B) * 0x28A) / 0xA) (0kHz off) PLL1Calibrate: lock in 210 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) set_display_mode_and_vram failed VoodooHDAEngine[0x5575a00]::peformFormatChange(0x5575600, 0x358bfbd8, 0) channelSetFormat(0x10000010) for channel 1 returned 0 buffer size: 65536, channels: 2, bit depth: 16, # samp. frames: 16384 VoodooHDAEngine[0x5571500]::volumeChanged(0x5575d00, 75, 100) VoodooHDADevice[0x482b400]::audioCtlOssMixerSet(0x5507384, 0, 100, 75) VoodooHDAEngine[0x5571500]::volumeChanged(0x5575c00, 75, 100) VoodooHDADevice[0x482b400]::audioCtlOssMixerSet(0x5507384, 0, 100, 100) VoodooHDAEngine[0x5571500]::peformFormatChange(0x5571300, 0x35957bd8, 0) channelSetFormat(0x10001000) for channel 0 returned 0 buffer size: 65536, channels: 2, bit depth: 24, # samp. frames: 8192 D1CRTCDisable: 0 loops Setting MC from 0x00000000 to 0xD0000000 [size 0x0F000000] Setting up "1440x900" (1440x900@60Hz) FUNCTION: DxFBSet: CRTC 1 (1440[1472]x900@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1440x900 - OverScan: T: 0 B: 0 R: 0 L: 0 None RHDPLLSet: Setting PLL 1 to 96310kHz PLL Calculation: 96310kHz = (((27000 / 0x20) * 0x31F) / 0x7) (2kHz off) PLL1Calibrate: lock in 255 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) set_display_mode_and_vram failed Radeondump: Found a device of class RadeonDump: IOService:/AppleACPIPlatformExpert/PCI0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/GFX@0/RadeonHD/RadeonDump Mapped IO at 0x3616d000 (size 0x00010000) FB at 0xd0000000 (size 0x10000000) mapped to 0x36473000 Card not in database: 0x94C8:0x1025:0x011F; using generic modesetting. 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: 0x94C8:0x1025:0x011F: <name of board> and *please* describe the problems you are seeing in your message. Detected an M74 on an unidentified card PCIE Card Detected Getting BIOS copy from legacy address ATOM BIOS Rom: SubsystemVendorID: 0x1002 SubsystemID: 0x94c8 IOBaseAddress: 0x2000 Filename: BR26315.bin BIOS Bootup Message: Wistron/Acer MXM M74M GDDR2 256MB 300e/400m Call to AtomBIOS Init succeeded Analog TV Default Mode: 1 Found default TV Mode NTSC VideoRAM: 262144 kByte Framebuffer space used by Firmware (kb): 16 Start of VRAM area used by Firmware: 0xfffc000 AtomBIOS requests 16kB of VRAM scratch space AtomBIOS VRAM scratch base: 0xfffc000 Call to AtomBIOS Set FB Space succeeded Default Engine Clock: 300000 Default Memory Clock: 400000 Maximum Pixel ClockPLL Frequency Output: 1200000 Minimum Pixel ClockPLL Frequency Output: 0 Maximum Pixel ClockPLL Frequency Input: 13500 Minimum Pixel ClockPLL Frequency Input: 1000 Maximum Pixel Clock: 400000 Reference Clock: 27000 Reference Clock: 27000 GPIO_I2C_Clk_Mask: 0x1f90 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f90 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 0" initialized. GPIO_I2C_Clk_Mask: 0x1f94 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f94 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 1" initialized. GPIO_I2C_Clk_Mask: 0x1f98 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f98 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 2" initialized. GPIO_I2C_Clk_Mask: 0x1f80 GPIO_I2C_Clk_Mask_Shift: 0x0 GPIO_I2C_Data_Mask: 0x1f80 GPIO_I2C_Data_Mask_Shift: 0x8 I2C bus "RHD I2C line 3" initialized. Detected VGA mode. MC FBIntAddress: 0xD0000000, size: 251658240. Minimum Pixel ClockPLL Frequency Output: 0 Maximum Pixel ClockPLL Frequency Output: 1200000 Maximum Pixel Clock: 400000 Reference Clock: 27000 ObjectTable - size: 244, BIOS - size: 65536 TableOffset: 60 object_header_end: 304 Object: ID: 310e name: LVDS type: 3 id: e * SrcObject: ID: 210f name: INTERNAL_LVTM1 enum: 1 - Record Type: 1 rhdAtomDDCFromI2CRecord: I2C Record: GPIO_ID[4] EngineID: 1 I2CAddr: 0 Found DDC GPIO Index: 4 - Record Type: 4 NumberOfDevice: 1 Devices: LCD1 Object: ID: 310f name: 7PIN_DIN type: 3 id: f * SrcObject: ID: 2116 name: INTERNAL_KLDSCP_DAC2 enum: 1 - Record Type: 4 NumberOfDevice: 1 Devices: TV1 Object: ID: 3105 name: VGA type: 3 id: 5 * SrcObject: ID: 2115 name: INTERNAL_KLDSCP_DAC1 enum: 1 - Record Type: 1 rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[0] EngineID: 1 I2CAddr: 0 Found DDC GPIO Index: 0 - Record Type: 4 NumberOfDevice: 1 Devices: CRT1 Object: ID: 3101 name: SINGLE_LINK_DVI_I type: 3 id: 1 * SrcObject: ID: 2113 name: INTERNAL_KLDSCP_TMDS1 enum: 1 - Record Type: 1 rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0 Found DDC GPIO Index: 1 - Record Type: 2 rhdAtomHPDFromRecord: HPD Record: GPIO ID: 6 Plugged_PinState: 0 rhdAtomParseGPIOLutForHPD: GPIO PinID: 6 Index: 1fa5 Shift: 0 - Record Type: 4 NumberOfDevice: 1 Devices: DFP1 Connector[0] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_4, RHD_HPD_NONE, { RHD_OUTPUT_LVTMA, RHD_OUTPUT_NONE } } Connector[1] {RHD_CONNECTOR_TV, "7PIN_DINy-value TV1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACB, RHD_OUTPUT_NONE } } Connector[2] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } } Connector[3] {RHD_CONNECTOR_DVI_SINGLE, "SINGLE_LINK_DVI_I DFP1", RHD_DDC_1, RHD_HPD_0, { RHD_OUTPUT_TMDSA, RHD_OUTPUT_NONE } } Call to AtomBIOS Get Connectors succeeded RHDConnectorsInit: 0 (LVDS LCD1) type 4, ddc 4, hpd 0 LVDS SEQ Dig onto DE: 30 LVDS SEQ DE to BL: 360 LVDS Off Delay: 500 LVDS Duallink: 0x1 LVDS 24Bit: 0x0 LVDS FPDI: 0x0 LVDS Temporal Dither : 0x1 LVDS Spatial Dither : 0x0 LVDS Grey Level: 0x3 AtomBIOS returned 3 Grey Levels Detected a 18bit dual link panel. Printing LVDS paramaters: MacroControl: 0x02030509 TXClockPattern: 0x0063 PowerDigToDE: 0x001E PowerDEToBL: 0x0168 OffDelay: 0x01F4 PowerRefDiv: 0x0F9F BlonRefDiv: 0x0000 Get BL level: 0x0 Attaching Output LVDS to Connector PANEL RHDConnectorsInit: 1 (7PIN_DINy-value TV1) type 5, ddc 255, hpd 0 Attaching Output DAC B to Connector TV 7PIN_DINy-value RHDConnectorsInit: 2 (VGA CRT1) type 1, ddc 0, hpd 0 Attaching Output DAC A to Connector VGA 1 RHDConnectorsInit: 3 (SINGLE_LINK_DVI_I DFP1) type 3, ddc 1, hpd 1 Attaching Output TMDS A to Connector DVI-D 1 ObjectTable - size: 244, BIOS - size: 65536 TableOffset: 60 object_header_end: 304 DisplayPathObjectTable: entries: 4 version: 1 DisplaPathTable[0]: size: 10 DeviceTag: 0x2 ConnObjId: 0x310e NAME: LVDS GPUObjId: 0x1100 GraphicsObj[0] ID: 0x210f Type: 0x2 ObjID: 0xf ENUM: 0x1 NAME: INTERNAL_LVTM1 DeviceIndex: 0x1 DisplaPathTable[1]: size: 10 DeviceTag: 0x4 ConnObjId: 0x310f NAME: 7PIN_DIN GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2116 Type: 0x2 ObjID: 0x16 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC2 DeviceIndex: 0x2 DisplaPathTable[2]: size: 10 DeviceTag: 0x1 ConnObjId: 0x3105 NAME: VGA GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2115 Type: 0x2 ObjID: 0x15 ENUM: 0x1 NAME: INTERNAL_KLDSCP_DAC1 DeviceIndex: 0x0 DisplaPathTable[3]: size: 10 DeviceTag: 0x8 ConnObjId: 0x3101 NAME: SINGLE_LINK_DVI_I GPUObjId: 0x1100 GraphicsObj[0] ID: 0x2113 Type: 0x2 ObjID: 0x13 ENUM: 0x1 NAME: INTERNAL_KLDSCP_TMDS1 DeviceIndex: 0x3 Call to AtomBIOS Get Output Info succeeded Output: LVDS[0x 4] - adding devices: Output: DAC B[0x 2] - adding devices: Output: DAC A[0x 1] - adding devices: Output: TMDS A[0x 3] - adding devices: DACSense: DAC: 0x00 DACSense: DAC: 0x00 RHDHPDCheck returned: 0 mask: 1 rhdAtomLvdsTimings: LVDS Modeline: 1440x900 96310 1440 (1440) 1504 1536 (1760) 1760 900 (900) 903 906 (912) 912 Call to AtomBIOS Get Panel Mode succeeded Query for AtomBIOS Get Panel EDID: failed Crtc[0]: found native mode from Monitor[LVDS Panel]: Modeline "1440x900" 96 1440 1504 1536 1760 900 903 906 912 Connector "PANEL" uses Monitor "LVDS Panel": DxModeValid: CRTC 1 Listing modesetting layout: CRTC 1: tied to PLL 1 and LUT A: Outputs: LVDS (PANEL) CRTC 2: unused Unused Outputs: DAC B, DAC A, TMDS A Validating Modes from Monitor "LVDS Panel" on "PANEL" FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 FUNCTION: DxFBValid: CRTC 1 FUNCTION: DxFBValid: CRTC 2 Using 126x109 DPI. Using 1440x1024 Framebuffer with 1472 pitch Free FB offset 0x00000000 (size = 0x10000000) Display resolutions detected: 1440 X 900 @ 60Hz 1280 X 1024 @ 75Hz 1024 X 768 @ 60Hz 800 X 600 @ 60Hz 640 X 480 @ 60Hz D1CRTCDisable: 0 loops LVDSPower(LVDS,POWER_RESET) Setting up "1024x768" (1024x768@60Hz) FUNCTION: DxFBSet: CRTC 1 (1024[1024]x768@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1024x768 - OverScan: T: 0 B: 0 R: 0 L: 0 Full RHDPLLSet: Setting PLL 1 to 65000kHz PLL Calculation: 65000kHz = (((27000 / 0x1B) * 0x28A) / 0xA) (0kHz off) PLL1Calibrate: lock in 210 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) D1CRTCDisable: 0 loops Setting MC from 0x00000000 to 0xD0000000 [size 0x0F000000] Setting up "1440x900" (1440x900@60Hz) FUNCTION: DxFBSet: CRTC 1 (1440[1472]x900@32bpp) +0x0 ) FUNCTION: DxModeSet: CRTC 1 FUNCTION: DxScaleSet: CRTC 1 viewport: 1440x900 - OverScan: T: 0 B: 0 R: 0 L: 0 None RHDPLLSet: Setting PLL 1 to 96310kHz PLL Calculation: 96310kHz = (((27000 / 0x20) * 0x31F) / 0x7) (2kHz off) PLL1Calibrate: lock in 255 loops Shutting down DAC B DACPower(DAC B,POWER_SHUTDOWN) Shutting down DAC A DACPower(DAC A,POWER_SHUTDOWN) Shutting down TMDS A TMDSAPower(TMDS A,POWER_SHUTDOWN) LVDSPower(LVDS,POWER_ON) The problem now is a "fuzzy" screen, i think is problem of the ATIRadeonX2000.kext. I deleted this Extension and boot with -f flag and the result is a Kernel Panic. Is there any log file or registry that i can check to see what causes the panic? Thank you for all your efforts!! Link to comment Share on other sites More sharing options...
MebiusTrack Posted October 24, 2009 Share Posted October 24, 2009 And try to remove also ATIRadeonX2000.kext cause your card's ID is in ; that's why you have mozaic screen Many thanks for the tip! It's Works! And many THANKS to dong for your work!!!!!!!!!!!! Link to comment Share on other sites More sharing options...
hihighbs11 Posted October 24, 2009 Share Posted October 24, 2009 Who ever made this, THANK YOU SO MUCH!!! You have made a a WORK ATI Mobility 2600 HD driver. YOU ARE THE GOD. YES THATS RIGHT A WORKING M2600 HD driver w/ full 3d (for me anyway) Again thanks. Link to comment Share on other sites More sharing options...
dong Posted October 24, 2009 Author Share Posted October 24, 2009 The problem now is a "fuzzy" screen, i think is problem of the ATIRadeonX2000.kext.I deleted this Extension and boot with -f flag and the result is a Kernel Panic.If you are using 10.6, -f is not enough to rebuild the cache. Try boot with -s, touch the directory: /System/Library/Extensions, then reboot. Link to comment Share on other sites More sharing options...
netkas Posted October 24, 2009 Share Posted October 24, 2009 dong, iI've done some research, talked to omni and etc. You need to use IOFramebuffer as super of RadeonHD, not IONDRVFramebuffer, iondrvfb is legacy thing also, X2000.kext uses those functions from framebuffer - getCurrentDisplayMode and GetPixelInformation, you can find examples of it in IONDRVFramebuffer class, maybe bad answer from those funcs result in no qe/ci for rhd and mouse tearings with X1000.kext Link to comment Share on other sites More sharing options...
soneg Posted October 24, 2009 Share Posted October 24, 2009 Hi all. How to I get native resolution (1680x1050) on the video card ATI x1400. Laptop Dell Inspiron (CD 1.86, Ati x1400 (PCI-E) 1680x1050) I need a EDID? Link to comment Share on other sites More sharing options...
omni Posted October 24, 2009 Share Posted October 24, 2009 dong, iI've done some research, talked to omni and etc. You need to use IOFramebuffer as super of RadeonHD, not IONDRVFramebuffer, iondrvfb is legacy thing also, X2000.kext uses those functions from framebuffer - getCurrentDisplayMode and GetPixelInformation, you can find examples of it in IONDRVFramebuffer class, maybe bad answer from those funcs result in no qe/ci for rhd and mouse tearings with X1000.kext Hello, I thought I "retired" from this and went to become an observer, but alas, who can say "No" to netkas, after all he's done for us. So...this is just how I recall the things. I might be wrong as it's been awhile, but for what's it worth... As I told netkas earlier, the IONDRVFramebuffer is a legacy superclass, relic from the old days when Mac ATI cards had a ROM containing functions necessary for initialization and use of the frame buffer. Most of the NDRV then deals with calling the ROM, getting those functions and running them, beside some other things. Thats' why there are those doTHIS or doTHAT functions. At some point in time I did experiment with trying to use NDRV but that was just a dead-end. Why is Apple still using NDRV, I don't know. Maybe because that's the path they've gone for a long time and since it works they simply carry on. But I think there must be a switch going on to the new IOFramebuffer superclass, perhaps we are seeing that in the SL's ATI *Controller.kexts. In any case, I've took a quick glance at DONG's work and I believe that direction really needs to change to IOFramebuffer. Caveat is that it might not work with the rest of the files available (the ATI IOAccelerator or the QE/CI as most people call it) and that would need to be implemented as well. Or, it might work, just like it did in the Callisto case. Alternative is to stick with NDRV as DONG did, which is not necessarily bad since Apple themselves are still using it. I just feel that NDRV has to go as it's legacy, imho, and as I conjectured, Apple might be getting rid of it starting with SL. The "tearing" issue stems from the lack of hardware cursor implementation. I see DONG has some code for it in the source, at the end of RadeonHD.cpp, but it is commented out. Perhaps it is not working well or crashing or what not but that part is necessary, in my opinion, to solve the tearing problem. I never had a chance to fully write it for Callisto as the project ran out of its steam (for me). Maybe there is a way to "marry" the current RadeonHD work and the existing IOAccelerators so tearing does not happen, or is significantly reduced, but I can't say - I did not look into it further. I hope these random thoughts will help out in some way. Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts