Efika 5200B Project
Video Projector Systemin category Applications & Software
proposed by joslwah on 15th February 2006 (accepted on 20th March 2006)
Project Summary
Conferences these days often need to drive multiple projectors at the same time. The projectors may not all have the same resolution, nor will the text to be displayed on each screen be necessarily the same. This project is to create a system capable of driving multiple projectors from a single control panel. The software will take care of maximising the readability of each screen according to it\'s optimal resolution. It will be able to display different slides in multiple languages. Furthermore, by having a visible control panel that is not projected enables the projectionist to skip slides/reorder the presentation as the speaker deviates from the planned slide-show.
The final product would expect to be a master box, to which slave box(es) could be added, depending on the number of video projectors/screens that were desired to be used. The slaves would ideally network boot from the master for simplest installation. \"Just plug the boxes into a hub and away you go!\" The master would expect to have a video card capable of driving 4 monitors/projectors so that they projectionist can use one output for his/her control panel and then drive upto 3 projectors/monitors. Slaves could either use 2 or 4 output video cards depending on the number of screens wanted to be used.
Although not in the expectation of the project now, it is possible that the system could be extended to be used in conjunction with simultaneous translation equipment, for international conferences working in multiple languages.
Requirements for the project:
Two systems, each in it\'s own box. The eventual plan would be to create a master and be able to have one or more slave boxes. The master would be the only one needing a hard drive, while the slaves would network boot from it. Initially however it would be useful for both to have a hard drive. Ideally the \"master box\" would have a video card capable of running 4 screens. The slave boxes would be expected to be configurable to 2 or 4 screens, although the development box would only require a 2 output video card.
I have some experience writing software involving multiple language issues, and in particular in dealing with CJK issues. Other languages such as Arabic should not be very difficult to accomodate, although at the moment languages using vertical scripts will be harder and may not be within the remit of this project. However, there are projects in progress which may alleviate these difficulties.
Project Blog Entries
posted by joslwah on 24th November 2006
Well, the patches for fixing callbacks have gone in. So has patches fixing call-outs to C for floats and long longs. So, now there should be a good system for building Common-Lisp programs on the Efika and other PowerPC hardware.
Next step. Getting gtk up and running cleanly. Want to see how the Efika handles the load, especially if there is a database running on there as well.
Fixing callbacks in sbcl/linux/ppc
posted by joslwah on 14th November 2006
Currently fixing the "working port" of sbcl/ppc from darwin to linux. Well. The good news is that where darwin and linux are the same then it works. The bad news is that were they aren't they don't.
Currently seem to be three problems:
1) Callbacks trash the stack. Well, this one is fixed. At least it is fixed as far as I can tell subject to problems 2 and 3.
2) Having more than 8 float args in a callout to C loses those above 8. Ooops. This one is currently at the "lets have a look at the generated assembly". We'll have to see how it goes.
3) Passing long longs to a callout doesn't work. This doesn't actually need to be done for the ABI. It is optional. Have to see how difficult it will be.
Good news is that I now think I've got a grip on the differences between the darwin and linux ABIs. Bad news is that I'm not sure how much use it will be after solving these problems!