Announcing Pegasus Frontend
-
My guess is that QT picks the first video mode (as detected by KMSDRM, which gets it via EDID from the display) instead of using the current video mode - while SDL2 (which EmulationStation uses underneath) will keep the current video mode.
Try running with
QT_QPA_EGLFS_DEBUG=1
from the command line and see if you get some information on how QT picks the current video mode. -
[i] EGL_BUFFER_SIZE: 24
[i] EGL_ALPHA_SIZE: 0
[i] EGL_BLUE_SIZE: 8
[i] EGL_GREEN_SIZE: 8
[i] EGL_RED_SIZE: 8
[i] EGL_DEPTH_SIZE: 24
[i] EGL_STENCIL_SIZE: 8
[i] EGL_CONFIG_CAVEAT: 12344
[i] EGL_CONFIG_ID: 20
[i] EGL_LEVEL: 0
[i] EGL_MAX_PBUFFER_HEIGHT: 4096
[i] EGL_MAX_PBUFFER_PIXELS: 0
[i] EGL_MAX_PBUFFER_WIDTH: 4096
[i] EGL_NATIVE_RENDERABLE: 1
[i] EGL_NATIVE_VISUAL_ID: 875713112
[i] EGL_NATIVE_VISUAL_TYPE: 12344
[i] EGL_SAMPLES: 0
[i] EGL_SAMPLE_BUFFERS: 0
[i] EGL_SURFACE_TYPE: 4
[i] EGL_TRANSPARENT_TYPE: 12344
[i] EGL_TRANSPARENT_BLUE_VALUE: 0
[i] EGL_TRANSPARENT_GREEN_VALUE: 0
[i] EGL_TRANSPARENT_RED_VALUE: 0
[i] EGL_BIND_TO_TEXTURE_RGB: 0
[i] EGL_BIND_TO_TEXTURE_RGBA: 0
[i] EGL_MIN_SWAP_INTERVAL: 1
[i] EGL_MAX_SWAP_INTERVAL: 1I also tried
tvservice-s
withhdmi_group=1
andhdmi_mode=16
(1080p60) and it listsstate 0xa [HDMI CUSTOM RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive
-
@Darksavior tried out the image you linked, for my 1080p TV I've set the resolution to 720p through raspi-config for the testing. For me this makes the image appear only at the upper left corner of the screen (ie. no resolution change), ES displays a black screen and Pegasus' UI doesn't appear (log says
Failed to commit atomic request (code=-22)
). Terminal works fine though.As for logging, you can get even more details if you run it with
QT_LOGGING_RULES="qt.qpa.eglfs.kms=true"
. This prints out the HDMI info and KMS details too for me. -
@fluffypillow Odd. No issues here. I add the resolution manually from
config.txt
I do tend to update the retropie-setup script to latest before testing anything. I also tend to update core packages from source too.Here's the log. This is with forcing raspbian to 1080p. I tested beforehand and boot,emulators, and ES boot to 1080p (or 720p, whatever res I choose it's used)
https://pastebin.com/P8r0QsSK -
@Darksavior If you're up-to-date, you should have a new package used by
runcommand
installed -mesa-drm
. This provides a cli utility that prints the video resolutions supported and the current one -/opt/retropie/supplementary/mesa-drm/modetest
. Can you run it and post also the output on pastebin.com ? -
@mitu
https://pastebin.com/YYVLzQYk
This is using the res of 1080p set inconfig.txt
. -
@Darksavior yes, it looks like QT is picking the first preferred video mode (which is 4k@30). Looks similar to https://www.raspberrypi.org/forums/viewtopic.php?t=250677 (minus the EDID part probably).
-
@Darksavior you can affect the mode selection like this:
Create a JSON file somewhere with the following content:
{ "outputs": [ { "name": "HDMI1", "mode": "1280x720" } ] }
Then set
QT_QPA_EGLFS_KMS_CONFIG
to the path of this file, eg .QT_QPA_EGLFS_KMS_CONFIG=/home/pi/egl.json
.With this Pegasus actually changes my TVs resolution to 720p and does show the UI. According to the Qt docs, "When
mode
is not defined, the system's preferred mode is chosen. The accepted values formode
are:off
,current
,preferred
,skip
, widthxheight, widthxheight@vrefresh, or a modeline string." -
@fluffypillow So it can't be made to read the boot's
config.txt
. I mean, I can always use mitu's suggestion or what I've been usinghdmi_ignore_edid=0xa5000080
-
@Darksavior if you don't have anything configured in
config.txt
, then there's no indication (in the config) of the current resolution - so you can't rely on that file to have the information about the current video mode.
Maybe usingmode: current
in the config file would use your current resolution instead of switching topreferred
? -
@mitu I'm setting it to 1080p in
config.txt
with all of these tests. I thought it was something that could be fixed in pegasus so it could read it as well. I guess only sdl2 stuff can read it. -
@Darksavior said in Announcing Pegasus Frontend:
I guess only sdl2 stuff can read it.
SDL2 doesn't read anything, it's just not doing any mode settting to another video mode (by default) when initializing the KMSDRM video backend.
-
It's been a while, about time to have a weekly update! So during the holidays I've started experimenting with a new tool, and I think it might be usable enought for a release.
In short, the script can convert all ES themes into Pegasus themes.
Now this thread is quite large already, so for more details look into this thread.
In other news, this week I've fixed a possible crash caused by having too many themes :)
-
Weekly update!
- Added Chinese translation (thanks @MephistoSatanDevil)
- Updated the Portuguese translation (should have done this sooner)
- Fixed a bug where in certain cases if the theme path was manually edited in settings file, Pegasus couldn't find a theme there
- Minor logging improvements
-
Hello I really like this front end and I'm experimenting with it. Currently I have set it up all portable on Windows and it works fine. The only problem i found was that a favorite game will saved full path including drive so that doesn't work if you used portable liked me.
I hope I have explained good English is not my native language.
-
@Rakoda Ok, this should be fixed now in the latest release. Thanks for the report!
-
Are "Filters" not showing Favorites anymore?
Being on an arcade build, I cannot use the Filters for searching (would require hooking a keyboard to the build) so I always used it to toggle Favorites. How do I toggle Favorites on/off then? -
Another question: is it possible to change the Favorite heart icon into something else?
-
@fluffypillow Thanks for your fast reply.
-
@AndersHP Ah yes that broke in one of the earlier updates and got disabled. I've just fixed this and re-added it in the latest release.
is it possible to change the Favorite heart icon into something else?
Yes, if you download the main theme you can replace the icons, they are located here.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.