Pyra Overlay


God Ginrai

Godmaster
Joined
Nov 27, 2005
Messages
5,466
Website
Visit site
Is there any way to create an overlay like Steam has, but for Pyra applications?  That way we could just press the Pyra button and get some sort of quick menu, maybe similar to Sony's XMB?

This was suggested previously for the Pandora, but I remember some devs saying that it would be too difficult due to the many different ways that developers choose to output to the screen.  However, I think this is worth pursuing, even if it does require some sort of opt-in library that developers need to include.

-God Ginrai
 
I'm thinking of something kind of like this for the Tournament Hub API, but that's way down the list for now.
 
Isn't this one of the draws for pandora? That it shuts down everything else, and launches what you're playing at full usage, without bogging it down with everything still running in the background?
 
The Pandora doesn't shut everything else down, unless you're running minimenu.  XFCE is a multitasking environment, and if you leave a music player running, it'll still be running when you go into a full-screen game.

I'd guess the reason it doesn't get bogged down with stuff the way PCs can is that it doesn't have any swap storage to fiddle with, or if it does have some configured, linux's conservative default swap strategy means it isn't constantly flicking the disc read light.  Plus Linux's lack of constantly searching for updates for everything under the sun, and indexing your files for a search you're never going to do, or all the other random things Windows seems set on doing almost from bootup to shutdown.  There are actually dozens of background tasks running on my Linux PC at present, but almost all of them are sleeping.

Regarding this overlay, I remember Notaz's live system info displayer using some layer that could also be used for a system screen that pops up on a button press. That might actually be nicer than the Pandora's way of killing a misbehaving app in xfce, which seems to be to Pandora button out of it, then scratch around trying to kill any zombie processes.
 
Notaz's Live System was one way I considered, however, the problem you have with that is knowing when to capture and remove keys/mouse input from the queue and handle them. You also can't "pause" the game behind in that fashion; whereas if it's an API where the game can pass control over to the API along with a window handle (you'd need a seperate build for SDL and GLES and any other types of display) means the game would be able to pause whilst the overlay is active etc.
 
Well if we are going to have an input daemon (make all key events go through it) it should be possible to ask the daemon to send the events to the overlay program only. The usual problem is that it's unlikely anyone will want to devote his time to actually write the overlay program and add the needed functionality to the input deamon (FunKeyMonkey, most likely).
 
But that still won't pause the game underneath, but I suppose that might not be an issue. It's something that's definitely on my list though (in fact, if I make the overlay system-wide, I could ditch my separate GUI app and use the overlay for everything), my biggest issue is time

@notaz, will the code to create the overlay be the same as your overlay for the Pandora, or will it be different for the Pyra?
 
Last edited by a moderator:
Most likely different because we'll have to use omapdrm instead of omapfb. DRM's API is much more complex, so the overlay program will have to be more complex too.
 
Aww, that means it'd need a seperate chunk of code for a Pandora build. Oh well, hopefully I'll be able to work it out.

Sorry if this has been asked (or even answered) before, but why can't we use omapfb? Was it something to do with the rotator chip?
 
Aww, that means it'd need a seperate chunk of code for a Pandora build. Oh well, hopefully I'll be able to work it out.

Sorry if this has been asked (or even answered) before, but why can't we use omapfb? Was it something to do with the rotator chip?

Nah rotator chip is kind of a seperate thing, from what I gathered Ti has moved from omapfb to omapdrm... support for HDMI 1.4, XRANDR support and such all need the omapdrm driver. and as far as I know I think omapfb does seem to have some play in there... I think the overall system is omapdss and omapdrm and omapfb are components of that system... it's all a bit confusing so I may be off here.

http://processors.wiki.ti.com/index.php/Linux_Core_DSS_User's_Guide#omapdrm
 
Last edited by a moderator:
But that still won't pause the game underneath, but I suppose that might not be an issue.

We don't need a second pause button.  I can pause my game on my own, and then trigger the overlay.  The most important thing is actually having an overlay.

On a side note... Does anyone know how to turn off the WYSIWYG on this new forum's quickreply?  I'd rather just deal with the BBCode directly...

-God Ginrai
 
But that still won't pause the game underneath, but I suppose that might not be an issue.

We don't need a second pause button.  I can pause my game on my own, and then trigger the overlay.  The most important thing is actually having an overlay.

On a side note... Does anyone know how to turn off the WYSIWYG on this new forum's quickreply?  I'd rather just deal with the BBCode directly...

-God Ginrai
BBCode isn't working properly... ED is planning on migrating to a better forum system in the near future.
 
Pausing is easy, just send a SIGPAUSE to the active app, just like I did on the Pandora.

And as far as inputs, as long as it's running as root (which it had to on the Pandora to get the upper fb, presumably it'll be the same on the Pyra) it can always read input directly, although using the planned input daemon is probably the better idea.

I'd love to say I'll work on it but I've said that before to no result.
 
Is there any way to create an overlay like Steam has, but for Pyra applications?  That way we could just press the Pyra button and get some sort of quick menu, maybe similar to Sony's XMB?

What functionality do you have in mind for it > just system functions (like WiFi n'stuff)?
 
Is there any way to create an overlay like Steam has, but for Pyra applications?  That way we could just press the Pyra button and get some sort of quick menu, maybe similar to Sony's XMB?

What functionality do you have in mind for it > just system functions (like WiFi n'stuff)?
I know this wasn't directed at me, but here's what I was thinking for the Tournament Hub overlay...

  • Local SystemTask Manager/Killer (for games etc. that get stuck)
  • Date/Time
  • Battery %
  • WiFi/Bluetooth/GPS/Modem Status and On/Off control
[*]TournamentHub
  • High scores for currently playing game (if one is being played)
  • Browse all games and scores
  • Log in / Register
  • Friends list + Messaging
  • Find multiplayer servers
 
Is there any way to create an overlay like Steam has, but for Pyra applications?  That way we could just press the Pyra button and get some sort of quick menu, maybe similar to Sony's XMB?

What functionality do you have in mind for it > just system functions (like WiFi n'stuff)?
I know this wasn't directed at me, but here's what I was thinking for the Tournament Hub overlay...

  • Local SystemTask Manager/Killer (for games etc. that get stuck)
  • Date/Time
  • Battery %
  • WiFi/Bluetooth/GPS/Modem Status and On/Off control
[*]TournamentHub
  • High scores for currently playing game (if one is being played)
  • Browse all games and scores
  • Log in / Register
  • Friends list + Messaging
  • Find multiplayer servers
Task manager killer could indeed be useful.
 
Most likely different because we'll have to use omapdrm instead of omapfb. DRM's API is much more complex, so the overlay program will have to be more complex too.

The Pandora has a libdrm in /usr/lib, does that mean I could use the same code across the Pandora, Pyra and even my desktop? I realise they'll probably need different settings for actually rendering the overlay, but might be a good way to start testing without a Pyra

For mostly my own reference, this is a few links I've come across on using libdrm

https://github.com/grate-driver/libdrm/blob/master/tests/modetest/modetest.c

https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset-double-buffered.c

http://landley.net/kdocs/htmldocs/drm.html

http://processors.wiki.ti.com/index.php/Linux_Core_DSS_User's_Guide#1._Overlays
 
Is there any way to create an overlay like Steam has, but for Pyra applications?  That way we could just press the Pyra button and get some sort of quick menu, maybe similar to Sony's XMB?

What functionality do you have in mind for it > just system functions (like WiFi n'stuff)?
The main functions I was considering were task-kill, task-switching for fullscreen apps, and basically everything that pmprog listed under his "local system" bullet.

Is there any way to create an overlay like Steam has, but for Pyra applications?  That way we could just press the Pyra button and get some sort of quick menu, maybe similar to Sony's XMB?

What functionality do you have in mind for it > just system functions (like WiFi n'stuff)?
I know this wasn't directed at me, but here's what I was thinking for the Tournament Hub overlay...

  • Local SystemTask Manager/Killer (for games etc. that get stuck)
  • Date/Time
  • Battery %
  • WiFi/Bluetooth/GPS/Modem Status and On/Off control
[*]TournamentHub
  • High scores for currently playing game (if one is being played)
  • Browse all games and scores
  • Log in / Register
  • Friends list + Messaging
  • Find multiplayer servers
What would be nice is if the overlay could accept widgets that can be written by devs or users.  Then, people could extend the overlay with their own functionality without overlay dev needing to be involved.  This would also allow users to customize what they see in their overlay by including the widgets they wish to see.

-God Ginrai
 
Last edited by a moderator:
Back
Top