Not everything is as fast as planned

Discussion in 'Pyra News' started by EvilDragon, Dec 11, 2015.

  1. megaminxwin

    megaminxwin Still Fresh

    Joined:
    May 29, 2013
    Messages:
    28
    Just curious: If the Pyra does go out with these sync issues, could they be fixed with a software/firmware update? I read through the thread but I'm still not entirely sure...
     
  2. FelixNemis

    FelixNemis Member

    Joined:
    May 15, 2012
    Messages:
    279
    yes, nothing in the hardware needs to change
     
  3. Cralex

    Cralex Still Fresh

    Joined:
    Mar 29, 2014
    Messages:
    29
    If I want a device with *perfect* display quality on the go, I'll reach for my smartphone. If I want a device with (presumably) excellent physical controls, desktop-class software, and plenty of usb and sd card space on the go, I'll reach for my Pyra every time.


    It doesn't matter to me if the graphics are only "good enough" or if I need to use a workaround for a little while. It'll be fun to see the Pyra grow and evolve as it gets into more people's hands and as the big developers tweak the drivers.
     
    szr likes this.
  4. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,408
    Location:
    France, near Lyon
    At least an automatic rotate mode can probably be coded inside glshim. It will handle the display then (and automatically turn off rotator at load and on at exit, using a environement variable). The mouse will still need to be handled by the game (invert X / Y), but that's a start.
     
    Last edited by a moderator: Dec 13, 2015
  5. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,786
    Location:
    Ingolstadt
    That's the one where each program needs to send a command to update the screen.


    Well, yes, of course. Every command mode driver behaves like that.


    There surely doesn't exist a command mode driver that is hacked like we need it to be hacked.


    But that driver could be used to modify it so it constantly updates the frames, so that the programs can use it like the video stream driver (no modification needed) whereas for the display it still is the command mode driver that can use the anti-tearing function.
     
    szr likes this.
  6. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,786
    Location:
    Ingolstadt
  7. Exophase

    Exophase Nothing good will ever come of Exophase.

    Joined:
    Sep 21, 2006
    Messages:
    10,308
    Location:
    Cleveland OH


    I don't want to belabor this point too much, but most displays synchronize on their inputs, not the other way around. And there are actually some good reasons for this. If the same clock domain controls the display controller, processor, audio etc it's a lot easier to keep these things synchronized without worrying about time shifting anything or checking synchronization. So for example, you don't have to dynamically measure audio vs video frequency and resample or suffer missed/dropped frames, and you don't have to continually wait for vsync to actually hit vsync reliably. This is a nice edge for emulators.


    So I'm going to say that even if you get the rotation chip working this way somehow it'll be good for people to bypass it anyway in some fullscreen apps. I just hope that support for the 2D accelerator materializes or the overhead of uploading textures to the GPU proves to be low enough.
     
  8. Christoph.Krn

    Christoph.Krn Very Active Member

    Joined:
    Oct 29, 2009
    Messages:
    966
    Location:
    Germany
    Unless...
     
    Last edited by a moderator: Feb 8, 2016
  9. codifies

    codifies Very Active Member

    Joined:
    Sep 29, 2014
    Messages:
    360
    This is a mole hill being turned into a mountain, really ludicrous !


    *if* and its a big if, you assume the rotator chip is "useless" the GPU can rotate with negligible overhead both in terms of battery and cpu/gpu power - heck transformations like this are basically exactly what a GPU is designed to do...


    you could even go for something brainless like a daemon waiting for GL sync and kicking the rotator each frame... (and if that was too late you could use it as a trigger for the kick that the rotator needs next frame)


    There are MANY ways to "skin a cat" (English idiom - many way to do the same thing)  making a big drama out of it just looks like poor form... 
     
    kingoddball likes this.
  10. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,786
    Location:
    Ingolstadt
    Yes, when the display is directly connected to the SoC. This also works without any issues.


    However, whenever there's a MIPI-bridge (like the rotator chip or any MIPI to HDMI or whatever-bridge) involved, it's different.


    There's the anti-tearing signal, and that one ALWAYS is an output from the bridge and an input on the SoC.


    Don't ask me why - but that's what the MIPI commitee came up with.


    We actually fell into that trap as well, as we thought this is a sync signal from the OMAP to the bridge (which would make a lot more sense in our opinion).


    I can imagine that the reason they do it like this is the way the command mode works.


    As mentioned, in command mode, the SoC only sends a frame whenever content changes. So if a smartphone shows the dashboard which doesn't change for a minute or so, it doesn't send a stream which reduces power usage.


    So there's no sync coming from the SoC to the display or bridge during that time.


    So the display controller (they usually have a framebuffer) has to keep the sync.


    When the SoC wants to send one or more frames because the content is updated, it let's the display/bridge know which then sends the anti-tear-signal (which is a basically a 'send the frame now'-signal).


    With that it mind, it makes sense the sync is coming from the displaycontroller / bridge to the SoC and not the other way round.


    The rotator chip we're using is being used in millions of chinese android smartphones, all using command mode with the anti-tearing signal coming from the chip to the SoC.
     
    kingoddball and szr like this.
  11. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,786
    Location:
    Ingolstadt
    What I'm asking myself though is... there seem to be others who have used command mode panels with Linux.


    Here is an example panel driver (command mode) in use with the OMAP:


    git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/video/omap2/displays/panel-taal.c?id=c16fa4f2ad19908a47c63d8fa436a1178438c7e7


    How did they solve the issue with the non-updating signal? I can't imagine they recompiled all of the Linux apps to work with command mode.


    What's the trick here?
     
  12. Rockthesmurf

    Rockthesmurf Advanced Member

    Joined:
    Jul 18, 2003
    Messages:
    1,098
    Location:
    Manchester, UK
    @EvilDragon I don't know if this is related: https://www.mail-archive.com/linux-omap@vger.kernel.org/msg86047.html but "Taal panel driver has support to set rotation and mirroring. However, these features cannot be used without causing tearing, and are never used. The code is just extra bloat, so let's remove it", it is something I found whilst trying to understand how the code you linked to works (looking at the code, I couldn't understand how it would avoid tearing).
     
    Last edited by a moderator: Feb 6, 2016
  13. Not_a_Nick

    Not_a_Nick Still Fresh

    Joined:
    Nov 3, 2015
    Messages:
    42
    With all respect, but you're confusing ultimatums with options. Respect for others opinions and options should remain, lets not slide to the cheap insult here.
     
    Last edited by a moderator: Dec 13, 2015
  14. Hồng Thất Công

    Hồng Thất Công Đả Cẩu Bổng Pháp

    Joined:
    Dec 19, 2012
    Messages:
    4,380
    Location:
    Cái Bang
    Stop arguing pointlessly.  Ed and company are trying to solve a critical problem here.  People who have no technical contributions please have a seat. ;)
     
  15. A2000

    A2000 Member

    Joined:
    Apr 16, 2012
    Messages:
    286
    Whilst I respect and admire notaz's expertise in programming I am sure that the only important fact now was expressed by ED:


    If the Pyra isn't going to market now it never will! So we can all discuss whether or not some tearing is important for one's own use case. But if there is no actual device the discussion is futile.


    And what did we expect at this point of time? A perfect Pyra? In my opinion there are two things we should have learned in al the Pandora years:


    1. There will be obstacles all around and we will encounter most of them. Sometimes it will be hard to get over them.


    2. But if there is a community that is able to solve this problems, it is this. If there is a person I trust in addressing this problems and help solving them if not solve them by himself, it is ED.


    When the Pre-Pre-Order was announced I strongly fought with myself if I should order one. It's a reasonable amount of money for a Pyra which I definitely knew would not be a polished product. So what? It's the only electronic device I can think of that will be serviced perfectly even in some years. If there will (and only if!) there will be need for a new screen there also will be an offer for replacing the screen. If I have to update the os/firmware/driver... I just will do so. And if there is nobody at the moment who can fix the issue I will patiently wait for someone. It's as simple as that. We all know the past issues with our Pandoras, don't we?


    If I want a perfectly working device I can't even buy one from any major company and I don't trust them to repair that device even if a flaw is obvious.
     
     
    FBnil likes this.
  16. _jr_

    _jr_ Advanced Member

    Joined:
    May 5, 2013
    Messages:
    1,170
    To me it is similar to the GPU (and the other more obscure features of the SoC). There is a chance that some hardware features will never have software support at all or have support that won't be upstreamed. None of these make the Pyra totally useless, but IMO costs for paid kernel development and upstreaming should still be factored in when calculating the unit price besides looking for hardware solutions (e.g. a landscape display).
     
  17. EvilDragon

    EvilDragon Administrator Staff Member

    Joined:
    Mar 4, 2003
    Messages:
    19,786
    Location:
    Ingolstadt
    Well, once the Pyra sells, there is money coming in which can be used to pay some fulltime development. That's what I plan. The better it sells, the more money is available for that. :)
     
    _jr_ likes this.
  18. fusion_power

    fusion_power Advanced Member

    Joined:
    Dec 11, 2006
    Messages:
    7,066
    Location:
    germany
    Finding good developers is the challenge then, wasn't there some bad experiences during the Pandora development?
     
  19. szr

    szr Member

    Joined:
    Feb 5, 2014
    Messages:
    82
    And that's what really matters.

    Exactly, just like with the CPU/SoC board, good modular designs open up a lot of possibilities, which is why I will be more than comfortable to go for a first run Pyra. I wish to support this project any way that I can.

    I full heatedly believe that this is a project that is well worth being behind. Obviously with the world as it is it's hard for things to always go perfectly and it's absolutely amazing just how well things have been going thus far with this project. There's a lot of people that just need to step back and take a good deep breath.
     
    rSl likes this.
  20. Silent-Hunter

    Silent-Hunter Hardcore Member

    Joined:
    May 29, 2010
    Messages:
    3,053
    Can you ask them? As long as your project is not directly competing with theirs, they should be able to help.
     

Share This Page

Loading...