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>