Showing posts with label embedded Linux. Show all posts
Showing posts with label embedded Linux. Show all posts

Wednesday, December 31, 2008

Curing Ubuntu's Black Screen of Death on a Mac Pro

My wife recently gave me her very recent Mac Pro, and I wanted to set it up for triple-boot Leopard, Snow Leopard, and Ubuntu 8.10 (Intrepid Ibex). The Mac OS X installs were, of course, trivial - but much to my surprise, Ubuntu wasn't.

I'd recently used the general approach from the Ubuntu wiki to set up an old Intel iMac with dual-boot Leopard/Intrepid, and everything went like clockwork:
  1. Boot from the Leopard install DVD
  2. Early in the OS X install process, use Disk Utility to create a small HFS Plus partition and a big partition I would later snuff for use by Ubuntu, then install Leopard.
  3. Install rEFIt.
  4. Use a GParted LiveCD to turn the partition from step 2 into free space.
  5. Install Ubuntu Intrepid from a LiveCD.
Then I went to do the same thing for the Mac Pro, but when the LiveCD went into graphics mode, the screen went black.

That was odd, since lots of people have reported successfully installing various Ubuntu versions on Mac Pros.

Now, black screens for Ubuntu are not unusual; they generally indicate some kind of driver or X configuration mismatch. I routinely run into them when doing kernel updates on one of my boxen, and the usual search engines offer lots of hits for solutions. But none of the usual techniques worked on this particular Mac Pro.

To cut to the chase, here's the solution. Starting after Step 3 above...
  1. From the Mac System Profiler, determine the manufacturer and details of your video card. (Mine was an ATI Radeon HD 2600 with 256 MB RAM.)
  2. Start the installation from the Ubuntu Alternate CD, which uses an old DOS-style text mode for its user interface. (If you use the LiveCD or LiveDVD, it will try to go into graphics mode and you're toast.)
  3. Zap that big partition you made as part of the installation process. You may also have to manually specify the size of your swap space. You can look up details on how to do this using the usual search engines.
  4. When you reboot at the end of your Ubuntu install, you'll get the black screen. Press command-control-F1 to switch to a command prompt. (The meta-keys may be different if you picked a non-Macintosh keyboard during install.)
  5. Use sudo apt-get to update everything, and reboot.
  6. When the screen goes black, use the key combo again to get a command prompt. Use sudo apt-get to install envyng-gtk. Then do sudo envyng -t.
  7. Pick the manufacturer of your video card from the envyng list, then reboot.
At that point, I was successfully booting into the Ubuntu GUI.

Monday, October 27, 2008

Coding Eye-Candy for Portable Linux Devices

At ACCESS, I've had the opportunity to do interesting things with Linux on cell phones. Some modern ARM chips, such as the Marvell XScale and TI OMAP series, have unusual frame buffer architectures that let you do "eye candy" on the cheap, without requiring a GPU.

In July 2008, I presented a paper about this work at the Ottawa Linux Symposium. I was also supposed to give it at GUADEC in Istanbul, but wasn't able to attend, so David "Lefty" Schlesinger gave it for me there.

If you are interested, here are links to:
  • The paper itself, which is somewhat academic in tone
  • The PowerPoint presentation based on the paper, which is more informal
  • A movie showing this in action on an XScale-based Zylonite prototype system, with narration by yours truly
As of the date of this post, I'm in the middle of porting this system to an OMAP 3430-based system.