Jump to content

[HowTo] Intel GMA 900 (for 915GM and 910)


Andy4life
 Share

686 posts in this topic

Recommended Posts

Because with the VESA version it doesn't work at all with 1400x1050. It sets it back to 1280x1024 which doesn't use the hole screen or looks ugly. Same problem like I had in Linux. There's no entry in the Video-Bios. Everytime my linux starts up it has to write it in the VBIOS. Lots of guys had this problem that's why this tool got written for linux: http://perso.wanadoo.fr/apoirier/

Link to comment
Share on other sites

It has been speculated that the release of the mac book pro was delayed until the 10.4.5 patch was ready for it. New things in 10.4.5 include power management functionality specific to the core duo. Perhaps our monitor problem has been addressed as well? Does anyone know if this bug exists with notebooks based on the i945? Any thoughts

Link to comment
Share on other sites

Dell Latitude D610 with an Intel 915GM/910ML/915MS on 10.4.3 here again.

 

I used the "wire jumper" method described previously and have had limited success.

 

Here is the story for me:

 

Only way I can get video to work presently is with the -x switch (safe mode) at the boot prompt. This results in booting taking a couple minutes but ultimately the display works at 1400x1040x32.

 

I have also tried:

 

setting my graphics via the "Graphics Mode"="1280x1024x32"

using the -f switch

 

Both of these boot faster but bring me to a blank blue screen with a mouse pointer I can see and move but cannot do anything else. Right clicking yields no menu, etc. It is not a second screen either as I cannot move out (span) to the second video screen.

 

After I reboot out of safe mode i still get this blank screen with no functionality. The fact that safe mode allows video to work properly make me belive there are settings that should make video work. I see from the safe mode description that it ignores all cached video driver files. Should I clear this driver cache? How can I make these settings stick? Do i need to alter the Boot.plist file refered to in the boot prompt help?

 

I feel like i am close to a solution here. Any help is much appreciated.

 

Thanks

Link to comment
Share on other sites

Randomblane - just tried your wire-in-the-VGA mod... works to some extent. I get full res on my LCD, but the login window's lower-right corner is in the upper-right corner of the screen, and is unresponsive... then after about 20 seconds, the login window closes. I can move the mouse and all, but no dice on anything else. THe actual boot window is present in the middle of the LCD though. D'oh!

Link to comment
Share on other sites

hey RP,

 

could you please explain what that utility does?

Better yet, explain why it's needed in Linux, and how closely linux is linked to this utility. Is this something that happens before boot, written to bios, or when in linux? Because if it ajusts the vram or video options in linux, we're out of luck.

 

Also, anyone know of a hibernation utility which works on os x86? I know there is one for real macs, but i'm not sure if intel rocessor support has been added... maybe then we could at least log out of a system and put it in hibernation/safe sleep!

Link to comment
Share on other sites

It has been speculated that the release of the mac book pro was delayed until the 10.4.5 patch was ready for it. New things in 10.4.5 include power management functionality specific to the core duo. Perhaps our monitor problem has been addressed as well? Does anyone know if this bug exists with notebooks based on the i945? Any thoughts

 

randomblame,

"The Mac OS X 10.4.5 Update contains a new Darwin kernel (8.5.1). The issue with this new kernel is that it has dropped support for general Intel power management and for the LAPIC timer which is available in every modern x86 CPU. Instead, the new kernel only supports new Intel Core Duo specific features, like its enhanced power management and its HPET (High Performance Events Timers) facility.

 

Until the support for the dropped features is again incorporated in the new kernel by some future add-on patch, the current Patch Solution restores the Kernel to 8.4.1 (from 10.4.4) after the Update."

 

From the page of a guy who invented the wheel.

Link to comment
Share on other sites

hey RP,

 

could you please explain what that utility does?

Better yet, explain why it's needed in Linux, and how closely linux is linked to this utility. Is this something that happens before boot, written to bios, or when in linux? Because if it ajusts the vram or video options in linux, we're out of luck.

 

I found an update of this tool: http://www.geocities.com/stomljen/

No worries, I don't think you're out of luck. The only thing this utility does, is changing the possible resolution modes in the Video-BIOS. Without it my TFT only shows a resolution of 1280x1024 before starting the Xorg-Server it writes the mode with 1400x1050 in the VBIOS. After every halt of the machine the settings get lost. It's a similar behaviour like some people had with theire GMA900 working sometimes but sometimes not. i.e. My machine doesn't display the full 1400x1050 resolution under osx86.

I tried to port it, because it doesn't seem like there are big differences. However, I wasn't able to compile it yet.

I'm not sure, but maybe there's a possibilty to use this VBIOS changing method for our issue. As much as I saw it's using the /dev/mem device to make changes.

Maybe I'm on the wrong way. But we'll see...

Link to comment
Share on other sites

hmm, but then we're still left with a big problem: no CG or QE. Resolution won't do much for us, esecially with the driver from 10.4.3 which detects the gma900 perfectly...

 

another dead end.

Link to comment
Share on other sites

The wire-trick works on a Samsung X20 Notebook. However there is a funny sideeffect: Windows does not always want to wake up from standby with the wires sitting in the vga port. Pressing the power button some more times makes it wake up anyways.

 

Can't wait to see the new mac mini on my desk at home :)

 

m

post-23125-1141050468_thumb.jpg

Link to comment
Share on other sites

Is anybody still looking for a software solution?

The wire-in-the-vga trick works on my laptop, but I decided to see whether Apple's developer API's held any clues. I wrote a simple program to probe the CoreGraphics API for info on attached displays. It checks for the following properties: (1) Main display -- Is this the display with the title bar? (2) Active -- Is the display drawable? (3) Builtin -- Is this a builtin display? (4) Online -- Is the display Active, Mirrored, or Sleeping? (5) AlwaysMirror -- Is the display always part of a mirror set? (6) hw_mirror -- Is the display part of a hardware mirror set? (7) sw_mirror -- Is the display part of a software mirror set? (8) asleep -- is the display in sleep mode?

 

On my Dell X1, the program generates the following output:

 

Checking display settings
Display 0
main: yes
active: yes
builtin: no
online: yes
AlwaysMirror: no
hw_mirror: no
sw_mirror: no
asleep: no
Display 1
main: no
active: yes
builtin: no
online: yes
AlwaysMirror: no
hw_mirror: no
sw_mirror: no
asleep: no

 

The unusual bit is that neither display is "builtin" according to CoreGraphics. Could that be a problem? How do other laptops with working non-GMA graphics behave?

 

I've been trying to get the program to run on startup without an external monitor attached, but without luck so far. Tried installing as a StartupItem and also by replacing the login app (and fork()/exec()ing the real login app).

 

Here's the source in case anybody else would like to further explore:

 

#include <iostream>
#include <CoreServices/CoreServices.h>
#include <ApplicationServices/ApplicationServices.h>
#include <fstream>
#include <sys/types.h>
#include <unistd.h>
using namespace std;

int main(int argc, char* const* argv )
{
fstream fout( "/screendump.txt", ios::out | ios::app );
if( !fout.is_open() )
	fout.open( "/screendump.txt", ios::out );
fout << "Checking display settings\n";
CGDirectDisplayID main_id = CGMainDisplayID();
CGDirectDisplayID* disp_ptrs = (CGDirectDisplayID*)malloc(sizeof(CGDirectDisplayID)*128);
CGDisplayCount count;
CGDisplayErr err = CGGetOnlineDisplayList( 128, disp_ptrs, &count );
if( err != kCGErrorSuccess )
{
	fout << "CGGetOnlineDisplayList() error: " << err << endl;
}
for( size_t dI = 0; dI < count; dI++ )
{
	// print info about the display
	fout << "Display " << dI << endl;
	if( CGDisplayIsMain( disp_ptrs[dI] ) )
		fout << "\tmain: yes\n";
	else
	{
		fout << "\tmain: no\n";
		// attempt to set as main...
/*			fout << "attempting to set main.\n";
		CGDisplayConfigRef ref;
		CGBeginDisplayConfiguration(&ref);
		CGConfigureDisplayOrigin(ref,disp_ptrs[dI],0,0);
		CGCompleteDisplayConfiguration(ref, kCGConfigurePermanently);
*/		}
	if( CGDisplayIsActive( disp_ptrs[dI] ) )
		fout << "\tactive: yes\n";
	else
		fout << "\tactive: no\n";
	if( CGDisplayIsBuiltin( disp_ptrs[dI] ) )
		fout << "\tbuiltin: yes\n";
	else
		fout << "\tbuiltin: no\n";
	if( CGDisplayIsOnline( disp_ptrs[dI] ) )
		fout << "\tonline: yes\n";
	else
		fout << "\tonline: no\n";
	if( CGDisplayIsAlwaysInMirrorSet( disp_ptrs[dI] ) )
		fout << "\tAlwaysMirror: yes\n";
	else
		fout << "\tAlwaysMirror: no\n";
	if( CGDisplayIsInHWMirrorSet( disp_ptrs[dI] ) )
		fout << "\thw_mirror: yes\n";
	else
		fout << "\thw_mirror: no\n";
	if( CGDisplayIsInMirrorSet( disp_ptrs[dI] ) )
		fout << "\tsw_mirror: yes\n";
	else
		fout << "\tsw_mirror: no\n";
	if( CGDisplayIsAsleep( disp_ptrs[dI] ) )
		fout << "\tasleep: yes\n";
	else
		fout << "\tasleep: no\n";
}
fout << endl;
return 0;
}

 

Compile with g++ -o screen screen.cpp -framework ApplicationServices

Run as ./screen

Settings get dumped to a file called /screendump.txt

Link to comment
Share on other sites

hello, i've got similar problems with my hp dv1000, same 915 with 1280x768x32@60 widescreen. except i can't seem to go from external monitor to normal lcd via Fn - F4 whenever i do that, it enables the lcds, but causes the notebook to hang. (whitescreen with apple logo, or diagnostic screen, depending on how i decided to boot up)

 

with both monitors running mirroed, its stuck on bluescreen. (you can move mouse)

 

i've tried both 10.4.3 and 10.4.5 installations. both with same results.

 

so looks like im stuck on external monitor...

Link to comment
Share on other sites

I have a Dell Inspiron 6000 with GMA 900. It works lovely but I am doing the 2 wire trick. Once it is up and running you can do the detect displays and macos will remove the second display, this way you can't mouse off the screen by accident. Then I guess if you just sleep your computer all the time you will be ok =)

 

-HR

Link to comment
Share on other sites

Finally I decided to give up seeking for a soft fix for the dead blue screen on my GMA900 laptop, but picked up the two wire trick instead.

 

Now I have a full functional 10.4.3 8F1111g running. I can let it go sleeping, then wake it up...... But, the USB ports stop working after the system is awaken, e.g., neither can the USB mouse move a bit any more, nor the USB storage be mounted.

 

Any idea? Thanks in advance.

 

brighttie

Link to comment
Share on other sites

Finally I decided to give up seeking for a soft fix for the dead blue screen on my GMA900 laptop, but picked up the two wire trick instead.

 

Now I have a full functional 10.4.3 8F1111g running. I can let it go sleeping, then wake it up...... But, the USB ports stop working after the system is awaken, e.g., neither can the USB mouse move a bit any more, nor the USB storage be mounted.

 

Any idea? Thanks in advance.

 

brighttie

 

i used to have problems with some USBs not working anymore after waking (for one my BlueTooth dongle) on 10.4.3 then i updated to 10.4.4 and .4.5 and havent had any usb problems after waking... (still have to use a external dongle with resistors to boot, but i might try the wire trick to see if that works)

Link to comment
Share on other sites

i have the 915glm chipset, a msi matx board, and i dont think that my pci bridge is even working because nothing shows up under the pci section of the apple hardware profiler. if anyone has a quick tip that would be great. thanks

Link to comment
Share on other sites

hmmmm

i see i see, you speak words of wisdom

i wonder why my 3com 905c isnt being reconized then even afer replacing the IOnetworking.kext from 10.4.3. my onboard realtek 8100c isnt functioning either. hmm but i replaced the IOPCI.kext from 10.4.3 and my usb magically started working.

 

any ideas?

thanks

Link to comment
Share on other sites

  • 2 weeks later...
Urby. wouldn't resolution change result in more required VRAM? Which would hopefuly lead to our solution...

 

Woah yeah, didn't even think of that!!

 

Alright ppl, i think we have some good theories and ideas.

Klondyke and RP, great work guys!

Keep going, RP hope you succeed in compiling the utility, it may rly help us!

Klondyke, WOW! Nice research!

 

This is exactly the kind of spirit we need!

 

alright. I think the next step is to obtain the driver of the gma950 used in the mac mini. And hopefully someone with a mac mini will tell us what the video ram is on boot and things like that.

 

So at the moment, we should pool together questions or observations to make for when the mac mini comes out, so we dont waste any time!

 

so i'll go first:

 

1- get the video ram at boot.

2- Look for other info concerning ram/vram and other related settings via the EFI menu, if possible.

 

-Urby

Link to comment
Share on other sites

Please, can someon post the AppleIntel830.kext ?

I'm running the 10.4.5 with the latest maxxuss patch, and this kext is missing...

 

I've read & tried everything and the only thing that is PARTIALLY working is the video-out dummy thing... i'm using two little cables to short the pins but it gets stuck at mac os x loading screen (half bar). If I start with -x it loads to the desktop and gets stuck.

 

If someone can upload or PM me the AppleIntel830.kext I can try the other way...

Thanks in advance!

 

P.S.: by the way... i'm on a Vaio TX1HP. :)

Link to comment
Share on other sites

dear all,

 

with much help from everyone i have managed to get my hp zv 5000 series ( hp zv 5240ca)

laptopo to boot natively using 10.4.5 patched DVD.

 

i unfortunately have no sound / no 1280 x 800 support / no wireless / no cd rom- dvd / no modem

the system profiler says no information found for the above mentioned items . except for the graphic card

 

ne suggestions? any help / links etc will be apprectated..

 

the mouse / keyboard / ethernet / USB / firewire run fine ..

 

ill be happy to post the installation method if anyone has had problems installing MacOSX86 10.4.5 myz DVD on laptops of similar configuration ....

 

installation menthod : VMware to native booting

 

 

HP Pavilion zv5240ca Notebook Specifications

 

Intel Pentium 4 processor 3.0GHz with HT Technology, 800MHz FSB

512MB DDR SDRAM (2 x 256MB) at 333MHz

60GB (4200RPM) Fujitsu Hard Drive

ATI MOBILITY RADEON 9000 IGP , 128MB DDR (shared)

15.4-inch WXGA High-Definition Widescreen (1280 x 800) Display (no support for 1280 x 800)

Integrated v.90/v.92 56KB modem (RJ-11 connector) (no support)

54g Integrated 802.11b/g WLAN (no support)

24X DVD/CD-RW Combo Drive (no support)

 

Integrated 10/100BASE-T Ethernet LAN (RJ-45 connector) (native support)

 

Running WinXP and MacOSX86 10.4.5 myz DVD

Dual booting using Darwin boot loder

Link to comment
Share on other sites

Well... I'm totally a noob in Mac OS X... but i'd like to say my theory...

It may sound idiot but... that's it.

 

Whenever an Operating System boots (by "boots" I mean it has loaded all the drivers and is entering the desktop or the login page...) it searches the main display.

It's obvious that our modified kext chooses as main display the external monitor and our LCD panel as the secondary monitor.

Have you ever tried booting windows with the monitor unplugged?

It loads, and then it gets stuck.

Even if we drag the "white bar" over the LCD panel, our LCD panel remains always as a secondary display.

Some of you may say "Yeah, so tell me why it randomly works without an external display".

My answer is quite straightforward: bugs in the driver.

Another plausible answer is that sometimes some static electricity (i don't know if this word exists in english... i'm italian....) does what our dummy video connector does: creates a bridge between the pins so the OS recognizes our main display as plugged.

So, in my opinion, it's not a VRAM problem, neither a Video BIOS issue.

It's simply that it cannot find its main display... that's all.

 

I'll be more than happy to discuss my theory and I'll be even more happy if someone tells me that it is wrong and tells me why! :D (so I can work on it)

However thanks to all you guys, even if after 22 pages we cannot arrive to a final solution, it is good to see so much brainstorming! :)

I'm sure we're near to the solution!

 

For example... if my theory is correct (which probably isn't) it would be enough to edit something in the kext and "swap" the display... isn't it?

Link to comment
Share on other sites

 Share

×
×
  • Create New...