Jump to content

Replacing GraphicsEnabler with an EFiString


ANARCHiNTOSH
 Share

54 posts in this topic

Recommended Posts

Overview

I have an Asus ATi Radeon HD 4350 Silent, and i would very much like to enable dual displays and fix a few things (sometimes the display is not waking from sleep, green apple in top left).

GraphicsEnabler really gets on my nerves because it is extremely difficult to edit, and you have no control over it other than turning it on or off. However it is the only thing that is working for me currently. I hate graphicsenabler with a passion, as it makes graphics work, but i cannot tweak it to makes it better.

 

What i am trying to do

is make an EFiString that works (VGA or DVI). Then i can edit and tweak it until i have dual monitors working etc.

I have no knowledge of C which is needed to edit boot files. However, i am very good with efistrings, and i know how to do IOReg dumps etc, but so far my efforts have been fruitless.

 

What i have tried:

I have tried mimicing the DSDT injector (the DSDT injecto incidently didnt work for me, but it did work for some people), so the efistring would inject the equivalent values. Didnt work for me

 

I tried dumping the graphics bit of the devicetree when graphicsenabler is on with this command.

ioreg -l -w0 -p IODeviceTree | grep device-properties > /dump.txt

I then turned of graphicsenabler and put the string thats dumped into boot.plist. Didnt work for me

I also tried editing it a little bit in XCode plist editor to make it similiar to an ATI4850 plist,

and putting it into boot.plist. Didnt work for me

 

 

What i am using:

10.6.3 with my ATI4350.Fix.kext, which is a simple Legacy/Dummy kext that injects the 4350 device-id into ATI4500Controller.kext

 

Could anyone with a bit more experience shed any light on this/ give me some help or guidance?

 

 

Links that have been relevant to my struggle:

 

The main ATi4350 Snow Leopard thread

 

How i have been making dumps from ioreg and editing the resulting strings

 

The boot text i get from chameleon before successfully loading OSX with GraphicsEnabler=Yes

I have a hunch that this might be really useful

 

DSDT code that has worked for other people as a replacement for GraphicsEnabler=Yes

 

PC_EFI 10.6 (the graphics enabler in this has enabled DVI successfully)

 

Chameleon RC4 (the graphics enabler in this has enabled VGA successfully)

 

An EFiString that works for ATi4850 in Snow Leopard (a useful reference)

 

Someones question about making efistrings from ioreg on Netkas forum

 

Other ATI snow leopard efistring threads:

ATI HD 4670 EFIString

 

ATI HD 4850 EFIString

Chameleon_2.0_RC3_r658_src_PCEFIV10.6_src.zip

Link to comment
Share on other sites

PC_EFI GraphicsEnabler injects a device-properties entry into the boot process (an efistring), and if this could be logged to a debug file, or something similiar then it would be possible to get a working efistring.

 

whats confusing is that i thought that dumping the graphics card bit of the registry would work, but it didnt.

 

is it possible to get a PC_EFI that logs boots (and therefore the device-properties entry) to a text file?

 

UPDATE - efistring dumping commands i have tried:

ioreg -l -w0 -p IODeviceTree | grep device-properties > /dump.txt

ioreg -lw 0 -p IODeviceTree | grep device-prop > /dump.txt

 

i put the resulting efistring in boot, and tried editing it to remove a pcislot entry from the plist, before converting it back to hex and putting it in the boot. it didnt work.....

 

 

i strongly suspect that the boot text that PC_EFI graphics enabler prints to the screen may have something to do with it....

is it possible that it is enabling in the boot process some other bootloader hack outside of the injected device-properties thats making the card work?

 

old pci command - 7

boot display - 1

Not going to use bios image file

Found bios image

Adding binimage to the card 954f from legacy space with size 10000

 

 

i found in i386/libsaio/ATI.C of PC_EFI's source code

this entry corresponding to old pci command, but i have no idea what it means, but i think it might be relevant.

 

cmd = pci_config_read8( ati_dev->dev.addr, 4);

printf("old pci command - %x\n", cmd);

if( cmd == 0) {

pci_config_write8(ati_dev->dev.addr, 4, 6);

cmd = pci_config_read8( ati_dev->dev.addr, 4);

printf("new pci command - %x\n", cmd);

};

Link to comment
Share on other sites

  • 1 month later...

hey anarchintosh

 

i asked a month ago about help with your installation of the hd4350 using acabre's way of installing but that way was a bust but then i saw this method of installing

 

¡FØRWARD BRAVE ATi 4350s!

(step by step guide/summary post)

 

We have QE/CI etc, DVI or VGA but no dual monitors

Also no hdmi port, but apparently you can get hdmi if you use a DVI to HDMI adaptor.

 

Step 1:

(i will see about maybe making an injector kext, so as to get rid of this step)

 

If you are on 10.6.2

Add your device-ids to the both the ATi kexts, as described in this post.

The kexts are already in System/Library/Extensions so you dont need to download the kext pack.

 

If you are on 10.6.3

Only add your device-id to ATI4500Controller.kext as described in the post mentioned above.

 

Step 2:

For only DVI:

Get this easy Chameleon-RC3 with PC-EFI 10.6 Installer

or

For only VGA:

Get this easy Chameleon-RC4 Installer

 

Step 3:

Add an entry that looks like this to your com.apple.boot.plist

<key>GraphicsEnabler</key>

<string>Yes</string>

 

Step 4:

Get Kext Utility, run it to fix permissions and rebuild kextcaches

Reboot

 

and that seems to have worked for me but u also mentioned that you had qe/ci enabled but in my ipc i dont have it enabled and im also in the process of dual monitor installing and i think i have a solution but i think i need to enable qe/ci first... how did you manage to enable qe/ci

 

the method of card installation i used was

*mach kernal

*10.6.2 hazard install

*chameleon rc4 boot loader for vga

*netkas betabooter but only for dvi

*boot.plist has been modded with graphics enabling key

*and i am on phenom 3500+ cpu

*rest is irrevelant...

 

so how do i enable qe/ci from here

++note++ i have the 1024mb(1gb) xfx radeon hd 4350 silent card(with an installed usb fan that was homemade so no burning up) but still have vga dvi and svideo ports on card

 

(edit)i am defaulting on vga monitor... dvi monitor coming in few weeks

Link to comment
Share on other sites

well, for me that method has just by default given me and others QE/CI

 

the problem is, i think, with amd cpus. a number of people with amd cpus have tried the guide and havent had success.

this is what an amd user says to do

 

thanks for the advice... i went to that page and then i realized most of it was useless due to so many different topics thrown together at once but 1 thing caught my eye and that was someone saying that the atiradeonx200.kext(the kext that controls qe/ci) maybe needs to be modified so i used textwrangler to find any imperfections and i noticed only one... the ati 4350 dev-id did not have a space so i modified it and now i have full qe/ci and now im looking for dual monitors and right now im waiting for my new monitor(old dvi lcd monitor cracked) to test my dual monitor theory

 

so i await my new monitor so until then i can only advise that you keep searching on modifying using efi strings because i have seen success but am unable to recall url... ill search for it then test it out

 

until then i hope you can cause as much succcess as you have given to mee

Link to comment
Share on other sites

so i await my new monitor so until then i can only advise that you keep searching on modifying using efi strings because i have seen success but am unable to recall url... ill search for it then test it out

 

until then i hope you can cause as much succcess as you have given to mee

hey im glad i could help. it would be brilliant if you could recall the url.....

infuriatingly i just havent been able to get any graphics injector to work besides GraphicsEnabler. (like dsdt code, efi string) im wondering if the below in my boot.plist is the problem:

<key>PciRoot</key>

<string>1</string>

 

so i am relatively confident in my dsdt editing abilities and efistring creation abilities, i think there must be some bootloader setting that is stopping other injectors from working, but which GraphicsEnabler (being a powerful bootloader component) has the ability to override.

Link to comment
Share on other sites

hey im glad i could help. it would be brilliant if you could recall the url.....

infuriatingly i just havent been able to get any graphics injector to work besides GraphicsEnabler. (like dsdt code, efi string) im wondering if the below in my boot.plist is the problem:

<key>PciRoot</key>

<string>1</string>

 

so i am relatively confident in my dsdt editing abilities and efistring creation abilities, i think there must be some bootloader setting that is stopping other injectors from working, but which GraphicsEnabler (being a powerful bootloader component) has the ability to override.

depends on where your graphics card is, as mine is in slot 1 so this key might work but if you have different pcie slots then maybe, its not functioning right. most moboards pre 2006 have 1 pcie slot with 1graphics card able to be enabled but now there are differences... if it is set to the right slot then it looks like your key is alright but if your moboard has multiple pcie slots then you might have to revise it to <string>2</string> or <string>3</string>

 

im knowledgeable with the way strings are made... its like combining the windows registry with html coding

 

*****the url im trying to recall is not in these forums*****

so i dont suggest you look here

Link to comment
Share on other sites

Very curious to see the results of this. Those of use who have a 4650 are pretty much in the same boat. Fairly easy to get QE/CI working, but absolutely no dual-monitor.

 

I don't know if it will help you out any, but here is a link to a thread that details my attempts.

http://www.insanelymac.com/forum/index.php...=221342&hl=

Link to comment
Share on other sites

this probably seems like a dumb question to ask but has anyone tried a dvi to vga adapter and added a key for that? if not then ill buy one of amazon and try it

 

(i know its not first choice but its an idea)

 

**edit** it looks like its been tried but with netkas beta booter but it seems he has mirrored???? idk whats up with that(vga to dvi)

Link to comment
Share on other sites

Erte,

If the problem is the same as the 4650, I can tell you I have tried every possible combination of VGA, DVI, and HDMI (adapters included) and never managed to get more then a single screen working.

hmm, so then that means that theres little or now power being transferred to the ports... so then they are not being recognized as they boot up with certain bootloaders... i wonder why that is

 

holy freak... i think i found out a way to fix our little problem, i will test my theory then bring my results

Link to comment
Share on other sites

hmm, so then that means that theres little or now power being transferred to the ports... so then they are not being recognized as they boot up with certain bootloaders... i wonder why that is

 

holy freak... i think i found out a way to fix our little problem, i will test my theory then bring my results

 

Erte, let me in on your thinking....How do you think you found a way...

 

As for your power summation, yes you are pretty much correct. It does seem to be a problem with OS X powering on the port (at least it appears to). For example on a boot using VGA + DVI (Using converter or not) both ports are active on boot as mirrored displays. It seems to be that when the GUI loads (i.e. login screen) it powers down the second port.

Link to comment
Share on other sites

Erte, let me in on your thinking....How do you think you found a way...

 

As for your power summation, yes you are pretty much correct. It does seem to be a problem with OS X powering on the port (at least it appears to). For example on a boot using VGA + DVI (Using converter or not) both ports are active on boot as mirrored displays. It seems to be that when the GUI loads (i.e. login screen) it powers down the second port.

my idea idea was trying to combine both the chameleon rc3 pcefi(copying the command that enables power sent to the dvi port) and the chameleon rc4(copying the command that enables power sent to the vga port)

 

results= it worked for 5 seconds showing a white screen with the modified rc3 then went black(it means this process is possible but blacks out due to the device not functioning correctly)

 

plans=revise the bootloader till i get it to work

 

its a very difficult process so i wont upload the copy of this bootloader until i at least get it to show up a blue screen

Link to comment
Share on other sites

hey, its nice to see that there are people in the same boat.

 

i took a break from studying the councilist theory of anton pannekoek to make a new mega post on 4350, explaining a few things.

 

i will explain why i really want to use an efistring instead of graphicsenabler.

 

graphicsenabler is basicly a load of c code that autogenerates an efistring.

this is a stupid complicated process, and at the end of the day all you get is an efistring. i think that there are some values in this autogenerated efistring that are wrong, and need to be fixed to make dual monitors work / get rid of opengl problems (green apple).

 

rather than mess with all that c code, i would much prefer to just jump in with directly editing the efistring which is injected.

the obstacle that i think is stopping me do this is as mentioned before, some abstract bootloader setting that is stopping other injectors from working, but which GraphicsEnabler (being a powerful bootloader component) has the ability to override.

 

if i can find out what this is, and get an efistring equivalent of the graphicsenabler working (which i have not been able to do so far), i can begin to start tweaking the efistring.

 

 

i highly recommend using Xcode (register for it and its free) to anyone else wanting to play with efistrings, as it allows you to convert data values to text values, so you can actually understand the dumps.

 

for example, this is a data value:

<436f7079 72696768 7420414d 4420496e 632e2041 6c6c2052 69676874 73205265 73657276 65642e20 32303035 2d323030 3900>

 

and this is a text (or string) value:

Copyright AMD Inc. All Rights Reserved. 2005-2009

 

here is a small portion of entries from one of my registry dumps, which i did when in osx with graphicsenabler=yes enabling my ati 4350, and viewed in Xcode

ati4350someefistringval.png

 

as you can see there are a load of values. the @0 entries refer to one of the display connectors (i think DVI) and the @1 entries another (i think VGA)

 

i believe that with the correct @0 and @1 values dual monitors could be made to work without a dvi>vga adaptor.

 

the insanelymac user scorcho made an efistring for ati 4850 that enables dual monitors without a dvi>vga adaptor. so it should hopefully be possible (despite the fact that 4850 uses ATI4800Controller.kext instead of ATI4500Controller.kext).

Link to comment
Share on other sites

@ertepechis

 

maybe getting info from registry dumps might help with your combining of the bootloaders

 

thats a good idea, btw i had my jaw dropped because of how much u know, i could barely keep up

 

[progress]i have combined the boot loaders enough to reroute power to both the dvi and vga but unable to get past the white screen to black screen, i believe there is not much left but to enable graphics to the dvi output(which is the value i cannot determine from either bootloaders) they are both similar yet so different, but ill keep on keepin on

Link to comment
Share on other sites

hey, its nice to see that there are people in the same boat.

 

i took a break from studying the councilist theory of anton pannekoek to make a new mega post on 4350, explaining a few things.

 

i will explain why i really want to use an efistring instead of graphicsenabler.

 

graphicsenabler is basicly a load of c code that autogenerates an efistring.

this is a stupid complicated process, and at the end of the day all you get is an efistring. i think that there are some values in this autogenerated efistring that are wrong, and need to be fixed to make dual monitors work / get rid of opengl problems (green apple).

 

rather than mess with all that c code, i would much prefer to just jump in with directly editing the efistring which is injected.

the obstacle that i think is stopping me do this is as mentioned before, some abstract bootloader setting that is stopping other injectors from working, but which GraphicsEnabler (being a powerful bootloader component) has the ability to override.

 

if i can find out what this is, and get an efistring equivalent of the graphicsenabler working (which i have not been able to do so far), i can begin to start tweaking the efistring.

 

 

i highly recommend using Xcode (register for it and its free) to anyone else wanting to play with efistrings, as it allows you to convert data values to text values, so you can actually understand the dumps.

 

for example, this is a data value:

<436f7079 72696768 7420414d 4420496e 632e2041 6c6c2052 69676874 73205265 73657276 65642e20 32303035 2d323030 3900>

 

and this is a text (or string) value:

Copyright AMD Inc. All Rights Reserved. 2005-2009

 

here is a small portion of entries from one of my registry dumps, which i did when in osx with graphicsenabler=yes enabling my ati 4350, and viewed in Xcode

ati4350someefistringval.png

 

as you can see there are a load of values. the @0 entries refer to one of the display connectors (i think DVI) and the @1 entries another (i think VGA)

 

i believe that with the correct @0 and @1 values dual monitors could be made to work without a dvi>vga adaptor.

 

the insanelymac user scorcho made an efistring for ati 4850 that enables dual monitors without a dvi>vga adaptor. so it should hopefully be possible (despite the fact that 4850 uses ATI4800Controller.kext instead of ATI4500Controller.kext).

 

you know ur right about the opengl errors when using graphics enabler, the only reason i installed osx is because i needed to install final cut pro and photoshop(legally) but im getting crashes, green screens, and codec errors(crashing), so basically im desperate, im leaning towards nvidia(if i have to) but i want to give this thing one last push so im going to try to fix the opengl errors[hope to god that i can] so that maybe this might work

Link to comment
Share on other sites

you know ur right about the opengl errors when using graphics enabler, the only reason i installed osx is because i needed to install final cut pro and photoshop(legally) but im getting crashes, green screens, and codec errors(crashing), so basically im desperate, im leaning towards nvidia(if i have to) but i want to give this thing one last push so im going to try to fix the opengl errors[hope to god that i can] so that maybe this might work

yes when i opened photoshop it was all green....

im looking at getting a cheap nVidia card as well if i cant finally crack this bloody 4350.

 

tell me, have you experimented with the dsdt injector instead of graphicsenabler?

 

because i cant get it to work, despite the fact that several others are using it successfully.

 

i am marooned, because i can only get GraphicsEnabler working.

 

man, we need a superdev to come and sort things out

Link to comment
Share on other sites

Follow my thinking here for a second and let me know what you think...

efi.jpg

 

You make the presumption on your post that one of these is VGA and the other is DVI. If you look at this screen shot from my hack though....

dispayconnect.jpg

 

You will notice that mine outputs are labeled Display and Display Connector...What if rather the DVI/VGA as you suggest it is VGA/ADC (Apple Display Connector).

 

Now make the assumption that you are running VGA and DVI (with VGA adapter). What would happen then if you replicated the @xConnector-Type string?

 

I would love to give this a try myself, but I have never been able to find concrete instructions on how to create that EFI string. I keep finding bits and pieces of how to do it, but not how to put it all together.

 

Well anyway what do you think about my suggestion, do you think this might be worth pursuing?

Link to comment
Share on other sites

Follow my thinking here for a second and let me know what you think...

efi.jpg

 

You make the presumption on your post that one of these is VGA and the other is DVI. If you look at this screen shot from my hack though....

dispayconnect.jpg

 

You will notice that mine outputs are labeled Display and Display Connector...What if rather the DVI/VGA as you suggest it is VGA/ADC (Apple Display Connector).

 

Now make the assumption that you are running VGA and DVI (with VGA adapter). What would happen then if you replicated the @xConnector-Type string?

 

I would love to give this a try myself, but I have never been able to find concrete instructions on how to create that EFI string. I keep finding bits and pieces of how to do it, but not how to put it all together.

 

Well anyway what do you think about my suggestion, do you think this might be worth pursuing?

 

efi strings arrent my expertise but ill try it(this is actually somewhat close to my thinking)

Link to comment
Share on other sites

i want to share some knowledge that might enable other people to parallel my efforts toward making an efistring.

 

i just thought it might be useful if i post this. i asked JaS a question, and this is his reply. its the terminal command that should give the device-properties entry that graphicsenabler injects. ive modified the command, so that it saves the device-properties entry to text file at root called graphicsenabler_dump.txt

 

you might get collateral if you are also using an EthernetBuiltIn=Yes in your com.apple.boot.plist so its probably best to disable it, and reboot before you do the dump.

 

below is my question and JaS's answer

hey JaS, i was wondering if this was something you might be able to help me with?

 

im trying to use a manual device-properties entry in boot.plist instead of GraphicsEnabler=Yes

 

Heres the thread i started and explain everything in:

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

 

a slightly more specific question:

is there a way to compile a debug boot file of PC_EFI 10.6, that would log the device-properties entry that is injected by its graphicsenabler? or am i being stupid?

 

Boot up with GE=y and in the terminal type

 

ioreg -lw 0 -p IODeviceTree | grep device-prop > /graphicsenabler_dump.txt

 

that will list the dev prop that GE injects

 

gl

 

JaS

Link to comment
Share on other sites

Once you dump the device-properties entry that GraphicsEnabler injects, by following the above steps, you can either just put it straight into com.apple.boot.plist and test if it works or you can edit it. You might edit it if it doesnt work unedited, or if you feel like trying to add dual monitor support etc

The steps below describe how to edit it.

 

First deconstruct the hex (the horrific long number you get), by copying only the long number (the number should be <in-between-two-brackets-like-these>).

 

Open a new TextEdit document and go Format and click Make Plain Text

when you go to save it, make sure that the two boxes arent ticked "Hide extension" and "If no extension is provided, use .txt"

save it with the extension .hex not .txt eg. save it as mydump.hex

 

Then open OSX86Tools, go to Add EFI Strings/Boot Flag , then go to Import Hex/Plist , then go Import File and select the .hex file ,

it should then show you that its been imported. click Save as XML. save it somewhere. open this newly saved plist in XCode. ITS VERY IMPORTANT TO USE XCODE, NOT A TEXT EDITOR.

 

You can then start editing it and messing with it. Many of the values listed under the Type heading as Data can be converted to String, which will give you a value that can be understood. This is evident for ATY, Copyright which will tell you the AMD Copyright info in String mode.

attached is an example ati radeon hd 48x0 plist which works for snow leopard.

since your plist has been dumped from your computer it should already have correct device-address (an example of what a device-address is is PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0))

 

To convert it back to hex, save the plist as something, do the same stuff in OSX86Tools as before, but select the plist, and once its been imported go to Save as HEX, and save it somewhere.

 

 

You can then try testing it by putting it in com.apple.boot.plist as a device-properties entry.

Heres a bit of text i wrote a while ago which tells you how to put it in com.apple.boot.plist:

 

Add a new graphics card entry to your com.apple.boot.plist

Your com.apple.boot.plist should be in the /Extra directory

Copy your boot.plist to desktop and open it from there. Or use TextWrangler.app to do it directly

Copy the coloured text below, and paste it into the plist underneath the other similiar entries.

<key>device-properties</key>

<string>paste .hex here</string>

Note: You should permanently have the words "device-properties" in your boot.plist.

 

Paste the long number in between the <string></string> entry.

 

It should now look something similiar to this:

 

<?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>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string>-v</string>

<key>Timeout</key>

<string>5</string>

<key>device-properties</key>

<string>(very long number)</string>

</dict>

</plist>

 

Save it and replace the original com.apple.boot.plist.

HD48x0.plist.zip

Link to comment
Share on other sites

You can then deconstruct the hex (the horrific long number you get), by copying only the long number (the number should be <in-between-two-brackets-like-these>) into a new TextEdit document and save it with the extension .hex not .txt .

 

Then open OSX86Tools, go to Add EFI Strings/Boot Flag , then go to Import Hex/Plist , then go Import File and select the .hex file ,

it should then show you that its been imported. click Save as XML. save it somewhere. open this newly saved plist in XCode. ITS VERY IMPORTANT TO USE XCODE, NOT A TEXT EDITOR.

 

You can then start editing it and messing with it. Many of the values listed under the Type heading as Data can be converted to String, which will give you a value that can be understood. This is evident for ATY, Copyright which will tell you the AMD Copyright info in String mode.

attached is an example ati radeon hd 48x0 plist which works for snow leopard.

since your plist has been dumped from your computer it should already have correct device-address (an example of what a device-address is is PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0))

 

To convert it back to hex, save the plist as something, do the same stuff in OSX86Tools as before, but select the plist, and once its been imported go to Save as HEX, and save it somewhere.

 

 

You can then try testing it by putting it in com.apple.boot.plist as a device-properties entry.

Heres a bit of text i wrote a while ago which tells you how to put it in com.apple.boot.plist:

 

and i was about to give up on osx because of garage band and kernal panics but now im going to try things a little differently, il mess around with this for a while

 

BTW are you talking about THE Jas, the one who made osx universally compatible with amd in the first place?

 

i could use his help on software issues

 

APPLE SUCKS! 'nuf said

 

yes when i opened photoshop it was all green....

im looking at getting a cheap nVidia card as well if i cant finally crack this bloody 4350.

 

tell me, have you experimented with the dsdt injector instead of graphicsenabler?

 

because i cant get it to work, despite the fact that several others are using it successfully.

 

i am marooned, because i can only get GraphicsEnabler working.

 

man, we need a superdev to come and sort things out

 

dsdt is not my strong suit but then again neither is osx, if 4350 doesnt work soon then ill go crazy

 

but dsdt tampering might fix our crashing graphics apps, maybe even the opengl errors like green screen(not likely but possible if this problem is more of an incompatible software issue)

 

ill look into it a little but im kind of afraid of dsdt patching (so complicated and destructive if done wrong)

Link to comment
Share on other sites

and i was about to give up on osx because of garage band and kernal panics but now im going to try things a little differently, il mess around with this for a while

 

BTW are you talking about THE Jas, the one who made osx universally compatible with amd in the first place?

 

i could use his help on software issues

 

APPLE SUCKS! 'nuf said

 

lols, yeah JaS is still active on these forums. hes great

 

yeah apple does suck, i think i might have lost my whole 700gb hd tvshow collection due to a bug in Paragon NFTS drivers. arrrrgh

 

i am going to update the above two posts to be a bit more clear and understandable

Link to comment
Share on other sites

 Share

×
×
  • Create New...