First off I have found no way to get gEDA and PCB to work properly in Windows. RobotGrrl used/uses it on her Apple machine.
Some years back I ran across a youtube video by sonodrome that explains how to add a custom silkscreen image to the top of a pcb in PCB (gEDA). It consists of using inkscape to generate a vector image and then convert it to pcb format with pstoedit. The problem with this workflow is you can only use the image on the top, not to mention I didn't have much luck generating images that had encircled whitespace. After way too many hours of fighting with generating an image I thought I would share my workflow.
I still made use of pstoedit, but, instead of inkscape, I am using a program called potrace. Like pstoedit it is a command line program.
With potrace you can convert images like bmp images to eps(default). The command is very simple.
potrace -o silkicon.eps -H .3 -W .4 silkicon.bmp (Example)
The previous example will generate an (-o) output file named silkicon.eps with a height of 300px x 400px from the file in the same directory called silkicon.bmp.
The eps file is fed in to pstoedit to generate the pcb file that we need.
pstoedit -f pcbfill silkicon.eps silkicon.pcb -ssp (Example)
This command will make a silkscreen layer pcb file from the silkicon.eps. I found the -ssp flag on a forum post. The -ssp flag attempts to clear up issues with isles of white surrounded by black oceans. Put another way it is meant to generate the proper code to leave the white areas white.
With the above commands we will have a silkscreen image that is on the top layer. Opening the generated pcb file will show your image in the lower left corner. Click on Select in the menu, then Select all visible objects. Move your image to the top left. Save your file, if you don't want the image on the back side.
For an image on the back side silkscreen, you can hit Tab (flip board top to bottom or Shift-Tab (flip board left to right). You still have your image selected, right? With your image selected and while you are looking at the bottom, click Select, then, Move selected to current layer. Congrats, your image should now be on on the silkscreen layer on the bottom. Save your layout.
Open your image.pcb with a text editor. scroll way down. Keep going. You will see Layer(9 "silk") TOP or Layer(9 "signal9") BOTTOM. Now it is a simple matter of pasting the whole of Layer 9 into the .pcb file of your current project.
Honestly, I felt the need to get this down, so I could look back on it whenever I need to look at it.
Questions? Suggestions? Complaints? :)
I forgot to mention. I used potrace and pstoedit to generate 2d dxf files a number of years back.