That's awesome, thanks.
Is adding IPU support just a matter of adding HW_SURFACE to SDL_SetVideoMode()?
Correct. As long as it's a hardware surface of any size that's 320x240 or smaller, the IPU will scale it to fit according to its aspect ratio.
Is it possible to get scaling with IPU (i.e. 640x480 => 320x240)?
The kernel and firmware devs are working on adding that support now. At the moment the IPU only does basic upscaling with no deformation support. Downscaling and deformation are planned for future releases. (Hopefully near-future.
What are the constraints on application icons (32x32 .png with transparency?)
Using the default screen layout, icons are 32x32 PNG files with transparency. Any programs you ship should have a default icon that matches those parameters. However, there are skins that change the grid size, allowing for much larger icons. Those skins have icons to override the defaults.
Who should I send my ipk files so that they get released through the proper channels?
You can post a link in the releases thread or on the Discord channel and someone with access will be happy to move it to the official IPK folder.
Are there plans for leveraging the g_ether module and provide network access to the consoles? That could be awesome for downloading and installing ipk packages.
There is a developer mode for networking over the USB cable. Also, you can just mount the device to your PC/Mac using the cable. However, the device isn't really capable or expandable for networking beyond that.