Hello, world!<br>
I've decided to give a return to you all about the closure of this chapter of my project.<br>
After months talking to my boss and trying to convince him that this
idea of fast-switching between monitors with a single graphics board
was no good, he finally accepted the idea - at least for a while.<br>
Since he has requested a lot of funds for internships lately, he's
under pressure for results on the projects, so, at least for a
short-term solution on this matter, he agreed to use LTSP, and
'postpone' the switching idea to the next year (in which Im pretty sure
I wont be working there anymore, so it's not going to be my problem to
deal with :).<br>
<br>
After this brief explanation, I'd like to thank all of you who tried to
help me on this crusade :P Im trully sorry I couldn't manage to make
this work, 'cause if I had, it'd really be an awesome thing. But, at
the same time, I'm glad I got rid of this huge responsability, because
there was no way I could, just by myself, develop such solution in so
short time, with my current knowledge.<br>
<br>
Once again, thanks for all the help, and I should be unjoining the list
soon (I'd stay around, but you guys write too much, and I'm a
clean-inbox-freak! :P). If anyone has any questions about the project,
or want something I might have found during the time I took researching
(which I can assure is nearly nothing), just talk to me, through here
or directly to my e-mail address.<br>
<br>
Trully thankful,<br>
Luca<br><br><div class="gmail_quote">On Thu, Jun 11, 2009 at 5:41 PM, Luca Bezerra <span dir="ltr"><<a href="mailto:lucabezerra@gmail.com">lucabezerra@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
First of all, sorry for the time I took to answer, Ive forwarded all these messages to my boss so he could see what other people were thinking about this project, and had to wait for his answer.<br><br>The main loop you've sent me is indeed sort of what I need, thanks for the tip and for the explanations about mapping and unmapping.<div>
<div></div><div class="h5"><br>
<br><div class="gmail_quote">On Wed, Jun 3, 2009 at 1:28 PM, McDonald, Michael-p7438c <span dir="ltr"><<a href="mailto:Michael.McDonald@gdc4s.com" target="_blank">Michael.McDonald@gdc4s.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
<div dir="ltr" align="left"><font color="#800000" face="Arial" size="2"></font> </div><br>
<blockquote style="border-left: 2px solid rgb(128, 0, 0); padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> Luca Bezerra
[mailto:<a href="mailto:lucabezerra@gmail.com" target="_blank">lucabezerra@gmail.com</a>] <br><b>Sent:</b> Tuesday, June 02, 2009 1:48
PM<br><b>To:</b> McDonald, Michael-p7438c<br><b>Cc:</b>
<a href="mailto:xorg@lists.freedesktop.org" target="_blank">xorg@lists.freedesktop.org</a><div><br><b>Subject:</b> Re: Switching between virtual
desktops<br></div></font><br></div>
<div></div><br><br><div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><span><font color="#800000" face="Arial" size="2">If you wait to switch
monitors until after the virtual desktop has been switched, the the new
virtual desktop will be displayed on the old monitor! You have to do do
something more like this:</font></span>
<div><span><font color="#800000" face="Arial" size="2"></font></span> </div>
<div><span><font color="#800000" face="Arial" size="2">while (1)
{</font></span></div>
<div><span><font color="#800000" face="Arial" size="2"> tell
video demux to ignore new input</font></span></div>
<div><span><font color="#800000" face="Arial" size="2"> switch
virtual desktops</font></span></div>
<div><span><font color="#800000" face="Arial" size="2"> tell
video demux to output to new monitor</font></span></div>
<div><span><font color="#800000" face="Arial" size="2">
sleep</font></span></div>
<div>
<div><span><font color="#800000" face="Arial" size="2">}</font></span></div></div></div></blockquote>
<div>A: True, hadnt thought of that, thanks for the heads up! Anyway, it was
just a sketch of what will really be done, implementation phase still's far
from where I am now :P <br><font color="#800000"><font size="2"><font face="Arial"><br></font></font></font></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">Uh, one
of the most fundamental skills an engineer needs to learn, and learn early,
is how to tell his managers their latest "solution" won't work. It's easier
to get away with telling them that if you do have a working solution.
Therefore, let's make this whole problem rest on the HW guys
shoulders:</font></span></div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2"></font></span> </div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">Tell him
that his hardware needs to capture the video signal into one of six separate
frame buffers. Your parallel port interface will tell him which one or none.
His hardware will then provide a continuous video signal out to each of the
six monitors connected to it. Users get nice stable video, you get easy SW
task, and boss gets to prove he's a wiz HW
designer.</font></span></div></div></blockquote>
<div>A: Let me see if I got this straight: The framebuffers at the HW part
will hold the image sent to that specific monitor while it switchs the virtual
desktops between the other monitors, until its monitor 1's turn again, is that
right? During like 0.1 second, that image will be frozen on that monitor,
waiting for its turn to receive new data? Is this possible to be done with HW
(Ive heard that you can do everything you do with software on hardware, but at
higher costs, but I dont know how true is that :P)?<span><font color="#800000" face="Arial" size="2"> </font></span></div>
<div><span></span> </div></div></div></blockquote>
<div><span><font color="#800000" face="Arial" size="2">Yes,
this is pretty straight forward and a fairly</font> <font color="#800000" face="Arial" size="2">common thing to do in HW (FPGA).</font></span><br></div><div>
<blockquote style="border-left: 2px solid rgb(128, 0, 0); padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2"></font></span></div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2"></font></span> </div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">Why do
users have to log in if all they are going to do is use a single PDF reader?
I assume the student don't have to log in before the can read a book off the
shelves. Instead of using virtual desktops, have your app map/unmap the N
copies of acroread/xpdf/... in sync with you parallel port output. There's
no reason to have a window manager or virtual desktops at
all.</font></span></div>
<div><span></span> <br></div></div></blockquote>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
<div class="gmail_quote"></div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">BTW, what
are you doing about input? How are you planning on handling N keyboards and
N mice?</font></span></div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2"></font></span> </div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">Mike
McDonald</font></span></div></div></blockquote>
<div class="gmail_quote">A: Im not sure if I understood what you meant about the
map/unmap thing, but anyway.. <span><font color="#800000" face="Arial" size="2"> </font></span></div>
<div class="gmail_quote"><span></span> </div></blockquote>
</div><div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">Map/unmap are the X terms for hiding/showing windows.
When top level windows are unmapped, they can't be seen by the user and they
don't receive any input events. The windows still exist so the app is happy.
Most window managers implement "iconify/minimize" using
unmap.</font></span></div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2"></font></span> </div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2">So your main loop would become something
like:</font></span></div>
<div class="gmail_quote"><span><font color="#800000" face="Arial" size="2"></font></span> </div>
<div class="gmail_quote"><span><div>
<div><span><font color="#800000" face="Arial" size="2">while (1) {</font></span></div>
<div><span><font color="#800000" face="Arial" size="2"> tell video
demux to ignore new input</font></span></div>
</div><div><span><font face="Arial"><font color="#800000"><font size="2"> <span> XUnmap(xpdf[n])</span></font></font></font></span></div>
<div><span><font face="Arial"><font color="#800000"><font size="2"><span>
XMap(xpdf[n+1])</span></font></font></font></span></div>
<div><span><font face="Arial"><font color="#800000"><font size="2"><span> </span> tell video demux to
output to monitor<span>[n+1] </span></font></font></font></span></div>
<div><span><font color="#800000" face="Arial" size="2">
<div><span><font face="Arial"><font color="#800000"><font size="2"><span> n =
n+1 </span></font></font></font></span></div>
sleep</font></span></div>
<div>
<div><span><font face="Arial"><font color="#800000"><font size="2">}<span> </span></font></font></font></span></div>
<div><span><font face="Arial"><font color="#800000"><font size="2"><span> </span></font></font></font></span></div></div></span></div></div>
</blockquote></div><br>
</div></div></blockquote></div><br>