Thanks a lot! This is amazing.
I’m very happy that you are dedicating some time on it.
Could you try to make a shell script for that?
Thanks a lot! This is amazing.
I’m very happy that you are dedicating some time on it.
Could you try to make a shell script for that?
@javelinface
Thank you very much for your time and custom DEOT image.
My English is pretty basic.
I hope you can understand what I was saying.
Set skin path function
~/launcher/sys.py/config.py, line 48
SKIN = "../skin/"
~/launcher/sys.py/config.py, line 50
/home/cpi/.gameshell_skin
if file exists, read file content to replace skin path(SKIN)
~/launcher/sys.py/UI/skin_manager.py, line 27
DefaultSkin = "../skin/DEOT"
and
config.SKIN ==> import from config.py (/home/cpi/launcher/skin/DEOT)
if read config.SKIN path error, return DefaultSkin.
I guess the DefaultSkin = BackupSkin,
==>
DefaultSkin = "../skin/default"
fix UI failed to load, when icon/pic not found.
About(_init.py_), line 82
modify:
#_ListFontObj = MyLangManager.TrFont("varela13")
_ListFontObj = MySkinManager.GiveFont("varela13")
text not aligned in other UI language, change to English font
The order of DinguxCommander
“DinguxCommander” the name is too long.
can not show all text/name on screen
change to
01_Bean
02_BatMon
03_DinguxCommander
It’s OK.
Traditional Chinese language file
https://mega.nz/file/9NNz2YLQ#dj24X5AhzUtFlKNxioROIhYg6HAr9oAj01POH9le17Q
Thanks again for your help.
Once I get all the dependencies and backporting sorted, most of that should be able to be copy pasted as a shell script, since I commented out the instructions in between. It’s just a matter of installing everything in the right order so that dependencies of dependencies go first etc. I’m going to have to look into how to back port things more efficiently. I’m a complete beginner with a lot of this, but keen to put in my human hours to help!
More so, thank YOU for laying out such a strong foundation to work with. I’m keen to see the day where we have an absolutely clean state for users to customise and be in complete control of.
The Gameshell is something that you construct from scratch with your hands. The next step would be for someone to build the OS in the same way themselves. That way everyone can get a real appreciation for how things work, and hopeful to understand how to do so as well. This is why like your minimal Debian release, I have tried to provide as many steps of information as possible.
I’m sure there are others out there who could help even more. In particular @hi80482 - you have come out of nowhere and offered tremendous help lately! I’m sure your expertise could be used to help make things work for a new image! I’ll be applying a few of those fixes of the images for sure.
@Wizz - You’ve been a great support, and always have been! You know I’ll buzz you as soon as I’m ready for the next image. Looks like there’s a few more tweaks to add!
Is the latest version of DEOT currently stable? I just read a few posts about the HDMI ports not working, I just wanted to know if everything’s glitch-free cause I don’t wanna reflash my SD card again.
Ha! Well turns out I’ve reached the character limit for the first post, so I can’t include the release notes there. So I will put them here, and link them. Incoming image. I wasn’t going to put another version, but given there’s at least 18 updates to the image, this may very well justify things. They are mainly interface related, and don’t affect performance in any way.
I’ll update this post when I have finished shrinking, compressing and uploading the image.
Edit: And the file is uploaded, both to Google drive and Mega. Check the first post for links to the download.
Changes (As of 200626)
show sleep option in kernel 5.7 only
~/launcher/Menu/GameShell/99_PowerOFF/_init_.py
https://mega.nz/file/cAEQyC4T#SifaEA4ahSynl9O88E3t29Er2HY01yce_AhmTOaJs5A
Oh wow! Wow! I am seriously learning a lot more about python looking at the code of this! Way simpler than what I was thinking of doing! Ie, just a basic substitute upon activation, and remove upon deactivation script.
I would have to do something like that for the extra “sleep” icon on the launcher, but this is very clean and coherent! Thanks so much again!
Haha I think at this rate, I won’t be retiring the image and having a final version. You keep making me smile, bringing me back!
Please, by all means; Keep doing this!
In fact, @hi80482 - You definitely seem like you know your way around most of the launcher’s functionality, scripting and general operation of the Gameshell. Based around @Joao_Manoel’s work on the minimal debian release, would you at all be interested in building and optimising a clean launcher for the Gameshell? You definitely do seem to have a knack for finding great solutions, and a desire to help the community.
I remember @guu saying that a lot of the work he did on it was under a lot of pressure. It was using much older workaround too. Maybe, even somehow collaborating with him, and having it all uploaded to GitHub to be readily available to all? I have no idea with GitHub, and that was one of the biggest flaws of this DEOT image.
Maybe having it as something community driven with no deadlines, and just a pure passion for making a launcher that is made by the users for the users would be something to bring the community together. Having a clean slate that can be built up via the Warehouse would make the Gameshell an extremely attractive console. A DEOT image could be one among many different builds that can easily be added to a stock image.
@guu - Would you be interested in perhaps working with some people on relaxed terms to create a new community launcher? No contractural obligations or backlogs of official business that need to be attended to? I would be happy to help in whatever way I can. I’m sure there are many others in a similar position. There are too many people to tag, but I’m guessing if you’re following this thread, you’re probably one of these people.
Now, on the topic of this image:
I’ll upload a new image once I have a few more things to add to it, just to make it worthwhile.
I also realised afterwards, that I accidentally put the FCEUX backgrounds in a redundant location, seeing as the wallpapers are stored in /home/cpi/.fceux/, and not /home/cpi/apps/emultors/.
I’ll possibly also need to find out exactly why a lot of the standalone emulators run so much worse than Retroarch; especially OhBoy and FCEUX. It’s almost worth removing them, since they don’t offer much, besides saving people who want to try it the trouble of installing it. Perhaps it needs to be recompiled, as opposed to using the pre made binaries linked in the forums.
GPSP+ has some frame rate issues when overclocked, but runs fine while on stock clockspeeds/kernels. Possibly could be a governor problem, and not detecting when under load? I haven’t actually checked any logs, and am just hypothesising.
PocketSNES generally has a much choppier vertical sync than Snes9x in Retroarch. I’m not sure if this is a lessened performance compared to stock, or if Retroarch just works better.
The default core for Snes roms in Retroarch can possibly be safely changed to snes9x 2010. It’s usually a case of the older the version of snes9x, the faster it is, and the newer it is, the more accurate it is; and vice-a-versa. From what I’ve emulated, I’ve found that the recent snes9x has the best of both worlds, running a lot of extremely demanding games at full speed.
Speaking of cores, I noticed in @Joao_Manoel’s minimal debian image a couple of unique built up Retroarch cores; namely Parallel, mupen64plus next, and flycast. I didn’t get them working, but I’d be curious to see if there is any headway in getting them working, and possibly including them in this release as well.
I am a beginner in Python, learn it just by Google and trial and error.
Hope people can help each other and learn from each other.
To make Gameshell a good/better game console, and enjoy it.
show battery percentage on title bar, but not for music spectrum.
~/launcher/sys.py/UI/title_bar.py
https://mega.nz/file/oEkBRCwB#eCuaFNdIgkYQz5KVMLya4wkQsKSQP30Rw-E1nmSXapY
it’s a good idea
I want to know what kind of launcher will make all of us happier,too
great
if it is ok with you
pr is welcome
I assume that you are using the deot launcher
OK.
I got it. Thanks.
sleep for kernel 5.7 only
~/launcher/Menu/GameShell/98_Sleep.sh
#!/bin/bash
kernel=$(uname -r)
if [[ $kernel == *"5.7"* ]]; then
systemctl suspend
fi
exit 0
Backup your launcher folder
cd
mv launcher/ launcherbak/
Git a clone from GitHub
cd
git clone https://github.com/hi80482/launcher_deot.git ~/launcher
Notice: This git is launcher only, not include menu(~/apps/Menu)
Edit .gameshell_skin file
nano ~/.gameshell_skin
/home/cpi/launcher/skin/DEOT
Reboot, Update the launcher. Finish.
Set update config
Set launcher git url? ===> No
When you git a clone,
It will be auto gen a “.git” folder under ~/launcher or ~/apps/Menu.
Update function read config from .git,
overwrite all ~/launcher or ~/apps/Menu files,
If your sys.py is DEOT, .git is Normal, then get UI failed.
Set launcher version check url? =======> Yes
Edit ~/launcher/sys.py/config.py
check launcher ver. from a online file
UPDATE_URL="https://raw.githubusercontent.com/clockworkpi/CPI_DEOT/master/version.json"
or disable update check
UPDATE_URL=""
Update command
~/launcher/update.sh
for launcher
git pull
git reset --hard "$1"
git submodule init
git submodule update
for menu
cd ~/apps/Menu && git pull && cd - || exit
Restore
cd
rm -rf ~/launcher
mv ~/launcherbak ~/launcher
sudo reboot
If you have a menu git or launcher git,
then you can install it, and update it.
Not forget to backup your folder before test.
~/launcher
~/apps/Menu
Hi, with recent 20200626 version, with all three kernels, I get troubles setting threaded video on. Retroarch crashes and returns to launcher after about three screen flicks. Below is the verbose log from the start till the switching of the setting:
cpi@clockworkpi:~/.config/retroarch$ cat logs/retroarch__2020_07_06__15_35_34.log
[INFO] RetroArch 1.8.9 (Git 53f3199652)
[INFO] === Build =======================================
[INFO] Capabilities: NEON VFPv3 VFPv4
[INFO] Built: Jun 24 2020
[INFO] Version: 1.8.9
[INFO] Git: 53f3199652
[INFO] =================================================
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [GL]: Found GL context: x
[INFO] [GL]: Detecting screen resolution 320x240.
[INFO] [GLX]: Window manager is dwm.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [GLX]: Using Xinerama on screen #0.
[INFO] [GLX]: X = 0, Y = 0, W = 320, H = 240.
[INFO] [GLX]: Using windowed fullscreen.
[INFO] [GLX]: Found swap function: glXSwapIntervalMESA.
[INFO] [GLX]: glXSwapInterval(1)
[INFO] [GL]: Vendor: lima, Renderer: Mali400.
[INFO] [GL]: Version: 2.1 Mesa 20.0.0-devel (git-2d971cc1ca).
[INFO] [GL]: Using resolution 320x240
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Using GL_RGB565 for texture uploads.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: x11
[INFO] ALSA: Using signed 16-bit format.
[INFO] ALSA: Period size: 792 frames
[INFO] ALSA: Buffer size: 3168 frames
[INFO] [Display]: Found display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Display]: Found display driver: "gl".
[INFO] [LED]: LED driver = 'null' 0xbeeae0
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "alsa" driver.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading history file: [/home/cpi/.config/retroarch/content_history.lpl].
[INFO] [Playlist]: Loading history file: [/home/cpi/.config/retroarch/content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [/home/cpi/.config/retroarch/content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [/home/cpi/.config/retroarch/content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [/home/cpi/.config/retroarch/content_favorites.lpl].
[INFO] [GL]: VSync => on
[INFO] [GLX]: glXSwapInterval(1)
[INFO] [GL]: VSync => on
[INFO] [GLX]: glXSwapInterval(1)
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [Video]: Starting threaded video driver ...
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [GL]: Found GL context: x
[INFO] [GL]: Detecting screen resolution 320x240.
[INFO] [GLX]: Window manager is dwm.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [GLX]: Using Xinerama on screen #0.
[INFO] [GLX]: X = 0, Y = 0, W = 320, H = 240.
[INFO] [GLX]: Using windowed fullscreen.
[INFO] [GLX]: Found swap function: glXSwapIntervalMESA.
[INFO] [GLX]: glXSwapInterval(1)
[INFO] [GL]: Vendor: lima, Renderer: Mali400.
[INFO] [GL]: Version: 2.1 Mesa 20.0.0-devel (git-2d971cc1ca).
[INFO] [GL]: Using resolution 320x240
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Using GL_RGB565 for texture uploads.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: x11
[INFO] ALSA: Using signed 16-bit format.
[INFO] ALSA: Period size: 792 frames
[INFO] ALSA: Buffer size: 3168 frames
[INFO] [Display]: Found display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [LED]: LED driver = 'null' 0xbeeae0
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "alsa" driver.
[INFO] Game focus is: : off.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] Threaded video stats: Frames pushed: 0, Frames dropped: 0.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [Video]: Starting threaded video driver ...
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [GL]: Found GL context: x
[INFO] [GL]: Detecting screen resolution 320x240.
[INFO] [GLX]: Window manager is dwm.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [GLX]: Using Xinerama on screen #0.
[INFO] [GLX]: X = 0, Y = 0, W = 320, H = 240.
[INFO] [GLX]: Using windowed fullscreen.
[INFO] [GLX]: Found swap function: glXSwapIntervalMESA.
[INFO] [GLX]: glXSwapInterval(1)
[INFO] [GL]: Vendor: lima, Renderer: Mali400.
[INFO] [GL]: Version: 2.1 Mesa 20.0.0-devel (git-2d971cc1ca).
[INFO] [GL]: Using resolution 320x240
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Using GL_RGB565 for texture uploads.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: x11
[INFO] ALSA: Using signed 16-bit format.
[INFO] ALSA: Period size: 792 frames
[INFO] ALSA: Buffer size: 3168 frames
[INFO] [Display]: Found display driver: "gl".
cpi@clockworkpi:~/.config/retroarch$
Any help is highly appreciated
~/launcher/Menu/GameShell/10_Settings/Update/_init.py_
Add Git Hash for Update page
Download
~/launcher/sys.py/UI/page.py
Add PageUp & PageDown for Main page
D-Pad Up = PageUp
D-Pad Down = PageDown
Download
~/launcher/Menu/GameShell/10_Settings/list_page.py
Add PageUp/Down for Settings page
D-Pad Left = PageUp
D-Pad Right = PageDown
Download
~/launcher/Menu/GameShell/10_Settings/Cores/_init_.py
Add PageUp/Down for Cores page
D-Pad Left = PageUp
D-Pad Right = PageDown
Download
~/launcher/sys.py/UI/Emulator/rom_list_page.py
Add PageUp/Down for rom list
Shift + Menu
D-Pad Left = PageUp
D-Pad Right = PageDown
Download
~/launcher/sys.py/UI/Emulator/rom_list_page.py
Add PageUp/Down for fav list
Shift + Menu
D-Pad Left = PageUp
D-Pad Right = PageDown
Download
~/launcher/Menu/GameShell/95_Music Player/music_lib_list_page.py
Add PageUp/Down for music lib list
Shift + Menu
D-Pad Left = PageUp
D-Pad Right = PageDown
Download
~/launcher/Menu/GameShell/95_Music Player/music_lib_list_page.py
Add PageUp/Down for music play list
Shift + Menu
D-Pad Left = PageUp
D-Pad Right = PageDown
Download
fav list
~/launcher/sys.py/UI/Emulator/fav_list_page.py
music play list
~/launcher/Menu/GameShell/95_Music Player/play_list_page.py
Is there any reason for enabling Threaded video?
According to the description
Is there a specific core or game that you’re wanting more performance from?
You can enable it, manually editing the Retroarch config file. It’s near the bottom. Set video_threaded = “true”
The cost of latency and video stuttering isn’t worth it for me, which is why I had it disabled.
@hi80482 again, thank you so very much for your optimisations! If you can work out a way to have the lists loop around themselves, it would be very useful! No just for games, but for the settings menu too!
Well, I borked the crap out of my v0.5 image (the default one) so it looks like I’ll need to reflash an OS I will choose this one as I need to have a menu to launch my own games and Pico-8.
I’ve been watching this one from a distance for a while so I am now really excited to give it a go!