Jump to content

Forcing to use ATI OpenGL Driver on Switchable Graphics System


vopros-otvet
 Share

4 posts in this topic

Recommended Posts

Hi! I have installed Yosemite 10.10.5 on my HP Envy m6 1151sr. It has muxless dual graphics system, based on internal Inlet HD4000 and discrete ATI HD 7670M cards. I have enabled both of them, using different methods.

 

post-848083-0-65141600-1469206005_thumb.png

 

Intel HD4000 works due to DSDT patch. I've enabled my ATI 7670M by Clover. Here's my settings.

 

post-848083-0-09360900-1469205952_thumb.png

post-848083-0-26304700-1469205971_thumb.png

 

I did it without any problem. The only thing, which was problematic to do - dump VBIOS of my ATI Card. GPU-Z always printed me an error "Bios reading is not supported on this device". Firstly i found vbios dump from Toshiba Laptop in the Internet. It worked fine, but i wanted to make correct framebuffer patch. It's impossible to do it without VBIOS of my own gpu. I've managed to dump my VBIOS. Here is short HOW-TO, i've written (it may be useful for others): http://techsolve.ru/gpu-z-bios-reading-is-not-supported-on-this-device-solved.html.

 

Then i tried to gather connector info from it, using radeon_bios_decode. To my surprise i didn't saw any connector info in results. Here it is:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x103c SubsystemID: 0x18a5
	IOBaseAddress: 0x0000
	Filename: BR43496.001 
	BIOS Bootup Message: 
HP/Compal Zonda 1.0 Thames XT DDR3 64Mx16/128Mx16 64bit 500e/900m 1.0V      

PCI ID: 1002:6840

Then i realize, that none of ports are connected to ATI. It works only through HD4000. OK. Then i tried to inject EDID in Clover and it resulted in dual-monitor mirrored configuration. The SystemInfo printed, that my Graphics is AMD Radeon HD 7670M. But it's impossible!

 

I've installed Graphic Tools from Apple Developers and used Quartz Debug to check what card is active now. It showed me, that my screen was rendered by internal GPU.

 

post-848083-0-35072000-1469206317_thumb.png

 

FPS monitor had the same values, as when i used only Intel HD4000 Graphics. Then i went back to one-monitor configuration by unchecking "Inject EDID" in Clover.

 

Then I installed OpenGL Extensions Viewer from App Store. It showed my info, that both gpus are OK.

 

post-848083-0-92678100-1469205986_thumb.png

 

And then i manually switched to "AMD Radeon Thames XT Prototype OpenGL Engine" and made some 3d tests. OpenGL driver monitor showed me, that my ATI card was doing some graphics calculations. Here's screenshot.

 

post-848083-0-42505400-1469206427_thumb.png

 

Here the test results for both graphic cards.

 

post-848083-0-83510200-1469206624_thumb.pngpost-848083-0-49377700-1469206664_thumb.png

 

Intel HD4000 didn't render textures on OpenGL v 4.0 & 4.1. ATI worked fine with all available OpenGL versions.

 

NOW i have TWO questions.

 

1. As you can see, Intel worked much faster. WHY??? Probably because the ATI card routed through HD4000. I don't know...

2. Is there a way to FORCE GL applications to use ATI GL driver? I tried the method, described here with no results: https://aprilmacdonald.com/getting-amd-switchable-graphics-working-on-hackintosh-os-x/

 

Any thoughts? 

post-848083-0-99953400-1469205855_thumb.png

post-848083-0-95590600-1469206087_thumb.png

Link to comment
Share on other sites

Normally this is not possible as the switching method used on Apple's computers is totally different than on other PCs. what I can really say is that the apps "THINK" that it was the amd in the work while it was simply HD4000, OR the AMD card DID the calculation but lack of drivers/frambuffers whatever may not have gotten it to work properly. If this works and some devs here helped and create something, that would be groundbreaking!

Link to comment
Share on other sites

... OR the AMD card DID the calculation but lack of drivers/frambuffers whatever may not have gotten it to work properly.

 

That is my idea - to use AMD for calculation. As well as Windows do. Because of displays, VGA & HDMI ports connected to intel in muxless configuration, AMD seems to work only as accelerator. This link explains how to force AMD do calculations, using some library override. The method is based on using virtual screen function. But it works only for author.

 

I also tried to use OpenGL Profiler app to launch other apps with custom GL attributes, but with no luck.

post-848083-0-40153800-1469260628_thumb.png

 

In addition i say, that when i inject EDID and my SystemInfo shows me that LVDS is connected to both cards, FPS values in OpenGL tests are higher with AMD GLDriver.

Link to comment
Share on other sites

Hmm, actually i already did this on my friend's laptop with amd7xxx (cant remember, its been a long time) and i could see "two monitors" that are actually just the cards. I tried to make some benchmarking but i noticed no actual change at all, and i didnt actually dig enough as you did. I have now a Nvidia card on my laptop not amd one which makes is even more painful to work with!

 

Sent from my SM-G930F using Tapatalk

Link to comment
Share on other sites

 Share

×
×
  • Create New...