PCEFi 10.3 con inyección de vídeo en 10.5.8

miliuco

Activo
PCEFi 10.3 con inyección de vídeo en 10.5.8

Netkas ha sacado la versión 10.3 de su PCEFi.
La principal ventaja es que puede inyectar la tarjeta gráfica en la salida pciroot = 1 en lugar de como lo hace Chameleon 2 rc2 y rc3 que lo hace en pciroot = 0. Muchas placas, entre ellas la mía, lo mandan a pciroot = 1 por lo que la inyección de vídeo desde com.apple.Boot.plist no funcionaba. Ahora sí funciona bien.

He instalado Chameleon rc2 r431 junto con el archivo boot de PCEFi 10.3 y he colocado estas líneas en com.apple.Boot.plist (en /Extra):
Código:
<key>EthernetBuiltIn</key>
<string>y</string>
<key>GraphicsEnabler</key>
<string>y</string>
He puesto este archivo smbios.plist en /Extra:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SMbiosvendor</key>
	<string>Apple Computer, Inc.</string>
	<key>SMbiosversion</key>
	<string>IM51.88Z.0090.B09.0706270921</string>
	<key>SMboardmanufacter</key>
	<string>Gigabyte</string>
	<key>SMboardproduct</key>
	<string>GA-EP35-DS3r</string>
	<key>SMfamily</key>
	<string>Mac</string>
	<key>SMmanufacter</key>
	<string>Apple Computer, Inc.</string>
	<key>SMmemmanufacter_1</key>
	<string>Corsair</string>
	<key>SMmemmanufacter_2</key>
	<string>Corsair</string>
	<key>SMmemmanufacter_3</key>
	<string>Corsair</string>
	<key>SMmemmanufacter_4</key>
	<string>Corsair</string>
	<key>SMmempart_1</key>
	<string>CM2X1024-6400</string>
	<key>SMmempart_2</key>
	<string>CM2X1024-6400</string>
	<key>SMmempart_3</key>
	<string>CM2X1024-6400</string>
	<key>SMmempart_4</key>
	<string>CM2X1024-6400</string>
	<key>SMmemserial_1</key>
	<string>00FF0000</string>
	<key>SMmemserial_2</key>
	<string>000736TU</string>
	<key>SMmemserial_3</key>
	<string>00FF0000</string>
	<key>SMmemserial_4</key>
	<string>000736TU</string>
	<key>SMmemspeed</key>
	<string>800</string>
	<key>SMmemtype</key>
	<string>19</string>
	<key>SMproductname</key>
	<string>iMac5,1</string>
	<key>SMserial</key>
	<string>CK6370PWX1A</string>
	<key>SMsystemversion</key>
	<string>1.0</string>
</dict>
</plist>
He borrado inyectores de vídeo o cadenas EFi para el vídeo en com.apple.Boot.plist.
Al reiniciar todo parece funcionar bien, con aceleración gráfica.
 

roisoft

New member
tenías una solución al pciroot 1 de esta forma


Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Name (_UID, One) // cambiar el One por Zero---> Name (_UID, Zero)
Name (_BBN, Zero)
 

miliuco

Activo
Efectivamente, Roisoft, tienes razón, retocando el DSDT, ya en agosto había leído cosas sobre ello, inluso Kabyl en foros de Chameleon decía:
Código:
...It’s probably a bug in the DSDT which you can check using gfxutil:
gfxutil -f display 
It should start with “PciRoot(0×0)”, if it’s “PciRoot(0×1)” then it can be fixed with a DSDT edit by changing the _UID of the PCI0 (this is the common name for it) device from 1 to 0:
Device (PCI0) { … Name (_UID, Zero) … }...
que es lo que tú propones igualmente:
Código:
(PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One) // cambiar  el One por Zero---> Name (_UID, Zero)
            Name (_BBN, Zero)
No me había metido con ello aunque la propuesta GraphicsEnabler de Chameleon es muy atractiva y ayer me dio por probar lo de Netkas.
Posiblemente es más sencilla la solución de modificar DSDT pues el boot 10.3 de Netkas está compilado para pciroot = 1 por lo que ahora no funciona en las placas con pciroot = 0 en las que sí funciona Chameleon2. Así que hay que elegir uno u otro (o compilar fuentes de Chameleon lo que está fuera del alcance de muchos de nosotros).
 

roisoft

New member
no ves el enlace? curioso amigo en fin .....aqui te lo adjunto

de todas formas si alguien quiere compilar los fuentes con los nuevos patches incluidos en el diff del 10.3 solo tiene que descargar los ultimos fuentes del chameleon, extraerlos copiar el .diff al directorio que se ha creado al extraerlo, abrir un terminal loguearte como root acceder al directorio donde estan los fuentes y teclear : patch -p 1 -i pcefiv3.diff con esto parchearas los fuentes del chameleon con los cambios... ahora si quieres compilarlos teclea make embedtheme te creara un directorio sym/i386 y dentro encontraras los binarios creados. Decir que con estes cambios puedes añadir como kernel flag -pci0 esto habilitara a las placas con pciroot = 0

*obviamente para compilar es necesario tener xcode instalado.
 

roisoft

New member
Os traigo unos cambios añadidos al pcefi 10.3 para poder inyectar la imagen binaria de la rom via bootloader tb, utiliza la misma tecnica que chameleon al inyectar NVDA.rom en /extra y los parámetros en el boot.plist


<key>GraphicsEnabler</key>
<string>Yes</string>
<key>ATIROM</key>
<string>Yes</string>


estamos trabajando para poder inyectar otros FB distintos al motmot, asi como tb detectar la VRAM via chequeo de pci_id así daremos soporte a distintas graficas ATI que hasta ahora no se benefician de la inyeccion grafica via bootloader.

como solucion provisional para inyectar distintos FB es modificar los fuentes para inyectar por ejemplo Wormy o Lamna o Megalodon etc solo tendrias que cambiar en ATI.c en donde pone Motmot, cambiarlo por el FB correspondiente a buestra gráfica, por eje.


const char *ati_compatible_0[] = { "@0,compatible", "ATY,Motmot" };


const char *ati_compatible_0[] = { "@0,compatible", "ATY,Lamna" };

y así sucesivamente, como tb modificar la entrada correspondiente a la memoria, en este caso esta por defecto a 1GB --> uint8_t vramtotalsize = 0x00000040 cambiarla a lo que os plazca 512 --> uint8_t vramtotalsize = 0x00000020 por ejemplo..
 

miliuco

Activo
Muy interesante, Roisoft, te leo después de publicar un tutorial sobre cómo compilar Chameleon pues a raíz de tu anterios comentario me dio curiosidad y descubrí que hay poca información sobre ese asunto sobre todo para gente como yo que no tiene tus conocimientos.
 
Arriba