About 8 or so months ago, I bought an Apple eMac, which came with a DVD drive, 1GHz PowerPC processor, 1GB of RAM, and an ATI Radeon 7500 video card.
One of the first things I did was attempt to install Linux on it. Ubuntu 8.04 was my first try, and I was annoyed to find that I couldn’t get a picture with Xorg on it — just a blank screen. I also tried Debian Etch, Debian Sid, and Fedora 8, which also had the exact same symptoms.
The only Linux distro that worked was openSUSE 11, but I couldn’t stand openSUSE because it was slow, YaST was painful to use, I hated RPM, and they customised GNOME way too much.
Initially, I thought it was a refresh rate problem. I have gathered that the optimum screen mode for the eMac is 1024×768 @ 89Hz. Because Ubuntu was trying to set the mode to 1280×800 @ 60Hz by default, I added a modeline for the proper mode. However, that didn’t fix my blank screen, and I almost gave up in despair.
I also ran xrandr under a tty, and it was interesting to see that it thought my Mac had DVI hardware — DVI-0 and DVI-1. The eMac most definitely does not support DVI, so this told me the issue was a little more advanced than refresh rates.
On Saturday, while talking to the friendly folks on #gentoo-powerpc, one of them pointed me to this page (Update: the link is an equivalent page, as the original link is now gone), which contained some ConnectorTable hacks. As it turned out, the hacks worked! Both internal and external VGA worked (internal VGA was called VGA-1, and external VGA was called VGA-0), which makes me really happy.
So, to get X.Org working on your eMac, make the following changes to xorg.conf.
First you need to define the Modeline for the video mode:
Section "Monitor" Identifier "Configured Monitor" # 1024x768 @ 89.00 Hz (GTF) hsync: 72.00 kHz; pclk: 99.07 MHz Modeline "1024x768" 99.07 1024 1088 1200 1376 768 769 772 809 +HSync +Vsync EndSection
Then, tell it to use the video mode:
Section "Screen"
Monitor "Configured Monitor"
# Fill in self-explanatory data here.
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection
Fix the broken ConnectorTable:
Section "Device" # Fill in device information here. Option "ConnectorTable" "100,1,0,1,108,2,0,1" EndSection
After you do that, you should have a working X display. If you still get a blank screen, switch to a tty, run export DISPLAY=:0, run xrandr, and check to see that the eMac is using the correct resolution. Make sure DVI is not mentioned.
The photo by Oswald using -HSync +Vsync depicts the eMac with the picture off-centre. This is because -HSync +Vsync (the default) is wrong! Use +HSync +Vsync, and your picture will be in the centre of the screen.
Instead of the ConnectorTable hack above, one user from the Ubuntu forums points out that it is possible to get a picture by adding the following code to the Device section:
Section "Device" # Device information goes here. Option "monitor-DVI-0" "iMac" EndSection
This is not as good a solution as setting ConnectorTable, as the external VGA monitor does not work with this set.
If you used this information to try and fix X on your eMac, please let me know in the comments so I know whether it was helpful or not! Thanks!


Glad it helped. I’ve added your fix to my comments section together with a link to here. If you feel inclined feel free to visit http://www.ppclinux.info and share your PowerPC knowledge
Here’s another modeline which should work on your model:
Modeline "1280x960" 122.24 1280 1328 1424 1696 960 961 964 1002 +hsync +vsyncIt also supports these resolutions
640 by 480 pixels at 120 Hz
800 by 600 pixels at 120 Hz
1152 by 870 pixels at 80 Hz
But I can’t generate a working modeline at those…
As I no longer have my website or emac here is a link to the modelines refered to
http://www.ppclinux.info/wiki/maclin/G4_emac_modelines
Nice, those worked very good!
Did anyone ever manage to find a modeline that works with the 640×480@120 or the composite/TV out?
As I don’t have a TV-out adapter for the eMac, I wouldn’t know, sorry.
On second thought, I’m not even sure if the Radeon 7500 version had TV out… Even if it did, it’s different from the TV-out on my Radeon 9200-based eMac.
Did a little Googling, and I have to say there’s a lot of misinformation out there. This guy says you need 800MHz and up – I have 1GHz.
I can’t remember what
xrandron Linux tells me, but in System Profiler on OS X, it refers to a “Display Connector”. The language doesn’t imply that it is VGA-only. This part on the Apple store explicitly mentions eMacs, although it doesn’t say which models.I’m in Linux now, and this is what
xrandrtells me:So yeah, it mentions S-video. Likely supported — just a matter of getting the right adapter. Can’t find any on eBay (in Australia at least), but it looks like they still sell them new.
I have the adapter, in fact, the same one on the Apple store you linked to… But never had any luck with it in Linux.
here’s what my xrandr says:
DVI-1 and S-video always say disconnected, even when the adapter is plugged in.
Teehehe. I may have something just for you on this very blog.
Interesting… now when I run xrandr, the S-video still says disconnected, but it does have the 800×600 resolution listed now… Looks like I’m one step closer, I know there is a way to force the card to assume its connected, I just can’t remember… Google time!
Actually it turns out the connector table is wrong… Here’s what it should be:
Unfortunately the external VGA connector still fails to detect, at least with the composite or s-video port on the adapter… Can’t figure out how to make Xorg ignore it and output video anyway.
I get the same on my laptop — it says S-video is disconnected, even when it is plugged in. But when I run the
xrandr --output S-video --mode 800x600command, it then starts sending the signal to the TV, and then it says it’s connected.Reading the comments on my other post, I was linked to this, which has an interesting command:
See if that helps.
Thank you, Jeremy. This solved my problem on an 1.25 MHz eMac with Radeon 9200.
After setting the ConnectorTable, I don’t have any S-video output anymore. Perhaps there should be 4 more values…
VGA-0 stays disconnected. To enable the external Monitor, I have to use xrandr:
What version of X.Org do you use? In the versions included in Ubuntu 9.04 and above, you can simply add the following into
xorg.conf, and use the MacModel option instead of the ConnectorTable mojo.Instead of the ConnectorTable option, use:
I’m still using Ubuntu 8.04. Maybe I should try a new one. Thanks.
I can confirm that the MacModel “emac” option works on Ubuntu 9.04. But actually it seems to work equally well without it, as I ran the Desktop Installer CD and got a picture, even though Xorg log told that it detected wrong machine type: iMac G5 iSight.
My machine is an eMac 1.25 GHz.
I still cannot figure out how to tell to Xorg to initially activate output to the external monitor, VGA-0. I need xrandr for that. OS X seems to be able to detect the presence of the monitor…