funkey-project / funkey-os Goto Github PK
View Code? Open in Web Editor NEWBuildroot-based embedded Linux OS for the FunKey S retro-gaming console
Home Page: https://www.funkey-project.com/
License: GNU General Public License v2.0
Buildroot-based embedded Linux OS for the FunKey S retro-gaming console
Home Page: https://www.funkey-project.com/
License: GNU General Public License v2.0
It can get very confusing (especially for people new to emulation, or for people that never played these systems before) when in one game the A button is the A button and it's the B button in another one, etc.
I can think of few solutions:
hi,
OS : WSL - Ubuntu 20.04
error during build :
2021-07-09T12:38:07 /usr/bin/install -c ncurses-config /mnt/e/FunKey-S/FunKey-OS/SDK/output/target/usr/bin/ncurses6-config
2021-07-09T12:38:07 installing ncurses.pc
2021-07-09T12:38:07 installing ncurses.pc
2021-07-09T12:38:07 installing panel.pc
2021-07-09T12:38:07 installing menu.pc
2021-07-09T12:38:07 installing form.pc
2021-07-09T12:38:07 make[4]: warning: Clock skew detected. Your build may be incomplete.
2021-07-09T12:38:07 rm -f -rf /mnt/e/FunKey-S/FunKey-OS/SDK/output/target/usr/share/terminfo /mnt/e/FunKey-S/FunKey-OS/SDK/output/target/usr/share/tabset
2021-07-09T12:38:10 /usr/bin/install -D -m 0644 /mnt/e/FunKey-S/FunKey-OS/SDK/output/host/arm-funkey-linux-musleabihf/sysroot/usr/share/terminfo/a/ansi /mnt/e/FunKey-S/FunKey-OS/SDK/output/target/usr/share/terminfo/a/ansi
2021-07-09T12:38:10 /usr/bin/install: cannot stat '/mnt/e/FunKey-S/FunKey-OS/SDK/output/host/arm-funkey-linux-musleabihf/sysroot/usr/share/terminfo/a/ansi': No such file or directory
2021-07-09T12:38:10 make[2]: *** [package/pkg-generic.mk:345: /mnt/e/FunKey-S/FunKey-OS/SDK/output/build/ncurses-6.1/.stamp_target_installed] Error 1
2021-07-09T12:38:10 make[1]: *** [Makefile:84: _all] Error 2
2021-07-09T12:38:10 make[1]: Leaving directory '/mnt/e/FunKey-S/FunKey-OS/buildroot'
do you have an idea ?
thanks
br.log
Instant Play restores default key mapping after closing and opening the console lid, custom key mapping is not saved.
Steps to reproduce the behavior:
Expected behavior
Instant Play feature should load back the custom key mapping.
Hi, I tried to refer to the README tutorial on the ubuntu 18.04 host and did all the SDKs to compile the entire system, but compiling to the host Ninja prompts an error.
2021-11-29T11:00:26 >>> Generating filesystem image rootfs.ext2
Done in 15s
2021-11-29T11:00:12 ### Making fun in FunKey
2021-11-29T11:00:36 >>> host-ninja 1.10.2 Building
Done in 9s (error code: 2)
Makefile:54: recipe for target 'fun' failed
make: *** [fun] Error 2
View br.log prompts the following information
2021-11-29T10:54:19 /usr/bin/make -f CMakeFiles/ninja.dir/build.make CMakeFiles/ninja.dir/build
2021-11-29T10:54:19 [ 89%] Building CXX object CMakeFiles/ninja.dir/src/browse.cc.o
2021-11-29T10:54:19 /home/book/FunKey-OS/FunKey/output/host/bin/ccache /usr/bin/g++ -DNINJA_HAVE_BROWSE -DNINJA_PYTHON="python" -O2 -I/home/book/FunKey-OS/FunKey/output/host/include -Wno-deprecated -fdiagnostics-color -o CMakeFiles/ninja.dir/src/browse.cc.o -c /home/book/FunKey-OS/FunKey/output/build/host-ninja-1.10.2/src/browse.cc
2021-11-29T10:54:19 /home/book/FunKey-OS/FunKey/output/build/host-ninja-1.10.2/src/browse.cc:23:10: fatal error: build/browse_py.h: No such file or directory
2021-11-29T10:54:19 #include "build/browse_py.h"
2021-11-29T10:54:19 ^~~~~~~~~~~~~~~~~~~
2021-11-29T10:54:19 compilation terminated.
2021-11-29T10:54:19 CMakeFiles/ninja.dir/build.make:93: recipe for target 'CMakeFiles/ninja.dir/src/browse.cc.o' failed
2021-11-29T10:54:19 make[5]: *** [CMakeFiles/ninja.dir/src/browse.cc.o] Error 1
2021-11-29T10:54:19 CMakeFiles/Makefile2:142: recipe for target 'CMakeFiles/ninja.dir/all' failed
2021-11-29T10:54:19 make[4]: *** [CMakeFiles/ninja.dir/all] Error 2
2021-11-29T10:54:19 Makefile:129: recipe for target 'all' failed
2021-11-29T10:54:19 make[3]: *** [all] Error 2
2021-11-29T10:54:19 package/pkg-generic.mk:247: recipe for target '/home/book/FunKey-OS/FunKey/output/build/host-ninja-1.10.2/.stamp_built' failed
2021-11-29T10:54:19 make[2]: *** [/home/book/FunKey-OS/FunKey/output/build/host-ninja-1.10.2/.stamp_built] Error 2
2021-11-29T10:54:19 Makefile:84: recipe for target '_all' failed
2021-11-29T10:54:19 make[1]: *** [_all] Error 2
2021-11-29T10:54:19 make[1]: Leaving directory '/home/book/FunKey-OS/buildroot'
Sound cannot be heard in Factory Tests (Fn+START when booting the console).
I first thought it was because there were still some occurrences of "start_audio_amp 0" and "start_audio_amp 1" in "/usr/local/sbin/volume_set" and "/usr/local/sbin/volume_set_alsa". But replacing them with "audio_amp on" and "audio_amp off" did not solve the issue (but I wanted to make sure you knew that some left).
This bug does not occur with OS 2.2.0 but only with a custom one built from ffa35c0 ("develop" branch).
Steps to reproduce the behavior:
Expected behavior
Sound should be audible during the Factory sound test.
UNMAP command does not work properly for key combination. Indeed, when trying a "UNMAP FN+L+R" it actually unbinds FN+L+R combination but also all those keys pressed separately.
Steps to reproduce the behavior:
Expected behavior:
"UNMAP FN+L+R" command should only block this key combination, not all those 3 keys pressed separately.
A very important issue occurs when powering off the system after enabling "SYS READ-WRITE" with Commander. It seems that SYS READ-ONLY is not restored when turning off the system with /sbin/poweroff (as discussed with Vincent on Discord).
Steps to reproduce:
Workaround:
To avoid this bug, you have to restore "SYS READ-ONLY" in Commander before powering off the system.
Once the bug occurs, the only way to fix it is to enter recovery mode (Fn+START on boot), mount the usb device (as that's not possible anymore from GMenu2X), drag and drop the firmware and update it again.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Is your feature request related to a problem? Please describe.
I've noticed there is support for the FunKey S to play Pico-8 games from William Belanger. However, there doesn't seem to be support in your cfw.
Describe the solution you'd like
An update or OPK for the Pico-8 to be played on the FunKey S with your cfw.
Describe alternatives you've considered
I've attempted to use the GCW .opk Pico-8, but the system doesn't recognize it, even when there are games in it (I added a new folder like rgnano-p8 described). I noticed the structure between the FunKey and your CFW is different so I'm not sure I put it in the right place.
Describe the bug
Tried to upgrade my FunKey S to 2.3.0. Did the usual: hooked it up to my desktop (64-bit Ubuntu 20.04), mounted USB, downloaded the .fwu file, dragged and dropped. Only this time... it stalled at the end of the transfer. sync
didn't work, ejecting on the desktop side didn't work, and ejecting on the FunKey didn't work.
I checked with iotop
that there was no data still being written, left it in the hope it'd recover, but nothing. Eventually I had to pull the USB cable... which triggered an update using an apparently partial update file.
Naturally, that didn't go well. Rebooted into the recovery screen, but I couldn't select any options from the text menu. Neither did the network spring into life - Ubuntu kept giving me errors about being unable to bring up the network interface.
So, downloaded the .img file, took the FunKey S apart, removed the microSD, copied all my ROM files and the like off, flashed the image to the microSD, reinserted the microSD, reassembled the FunKey, let it boot, mounted USB, and copied all the files back.
Except it didn't work, and hung after copying 245 of 359 files. Same symptoms as before: won't eject on either side. Not sure what's going on, to be honest, but it's annoying - if USB transfer doesn't work, that means I'm going to have to take the thing apart every time I want to update the firmware or load a new game...
To Reproduce
Steps to reproduce the behaviour:
Expected behaviour
Files write fine, device ejects fine.
Desktop (please complete the following information):
Sound is muddy and saturated with gpSP after Alsa downmixed sound fix in firmware 2.2.0. It's especially noticeable when sound is loud (70-100% volume) and through games with loud volume (Top Gear Rally is the best example I've found so far).
The issue here is that it would need to set gpSP to mono but this one does not like mono and sound is even worse in that case.
Steps to reproduce the behavior:
Expected behavior
Sound should stay clear and not saturated with Alsa fix as it is without it. Maybe the Alsa fix seems to set the gain too high here (2 sound channels mixed into one).
As discussed with Vincent on Discord, more and more users from last batch (with last Rev.F and its new PCAL9539A chip I guess?) experience an endless update screen at the step 1 "1/4 EXTRACT FIRMWARE UPDATE" when trying to update to OS 2.3.0 (whereas they have already it though). I think it comes from last Recovery 2.3.0 software but I cannot easily test it as mine is still in 2.1.0 and I don't want to open my FK and flash again my card (did it so many times already for testing purpose :p), so I think something should be investigated here.
Steps to reproduce the behavior (Supposedly as I did not myself):
Expected behavior
The update should perform as usual and not get the user stuck on step 1.
Add the ability to run zipped ROMs, just like plenty of classic PC emulators do. Maybe, ZIP, RAR, 7z file extensions too (as lots of ROMs are originally distributed in these formats). It would save much space a little. For example, archived GBC ROM is usually less than 100 Kilobytes, and while unpacked it's around a megabyte.
So, it would be convenient to download and run the zipped archive as it is. plus it would save space (although, 32 GiB of FunKey S is roomy, but still)
I put the OPK's into the right folder where do they show up at?
Is your feature request related to a problem? Please describe.
We noticed that even using a font with East Asian character support, the Funkey will display kanji and kana as ?
in RetroFe and Gmenu2x.
gameblabla noticed that the partition seems to be mounted with iso8859-1 encoding. Is there a technical reason why UTF-8 could not be used? Or would it not be possible to change this on a firmware update if the partitions have already been created?
Describe the solution you'd like
If possible, utf-8 support could add support to display more languages.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
playstation games "DQM1+2"
2 in game ,Flashing at the top of the screen
For now, RetroFE users must launch GMenu2X to execute OPKs, which is not very convenient for them.. Would be nice to plug libopk to RetroFE so we can launch OPKs from this frontend in a dedicated section.
The two action buttons for the Game Gear emulator are reversed (1 is on the right, 2 is on the left/bottom). Correcting this in the FunKey/.mednafen/mednafen-09x.cfg file on the mounted USB drive doesn't help, as the file seems to be reverted once unmounted.
I think it's as simple as setting
gg.input.builtin.gamepad.button1 keyboard 98
gg.input.builtin.gamepad.button2 keyboard 97
But I don't know how to get the values to stick.
Edit: Sorry if this is the wrong place, I don't know which emulator to add this issue to.
The log viewer cannot be quit, no key combination allows to do that therefore the user is stuck and has to reboot the console. Tested on fwu 2.0.0.
Steps to reproduce the behavior:
Expected behavior:
B or Start should allow to exit the log viewer
I got these instructions from the Discord:
fn + L1 + R1
These steps appear to work, but I can not SHH in to my FunKey, the IP does not appear to be local (starts with 163). And SSHing in to it does nothing at all.
Discord user "funkboydog#2844" and several others have the same issue as well
Info:
Is your feature request related to a problem? Please describe.
The FunKeyOS menu is nice and it’s great to have a consistent experience throughout, but it would also be great to be able to access the native menus for the various emulators somehow. ie, For selecting game-specific BIOs in PCSX or PicoDrive, selecting palettes in GNUboy, accessing native savestate ops, re-mapping buttons, etc
Describe the solution you'd like
If possible, using Fn + Power as a shortcut would be intuitive since it’s already the menu button when not holding Fn.
Changing the launcher with "SET LAUNCHER" option does not load the new launcher but brings the user back to the current one.
This bug only occurs with an OS built from the develop branch, so it does not impact 2.2.0 users. A system restart loads the new launcher though. Seems related to the commit 961e7db which introduced the use of /.frontend file instead of /Launchers/launcher.txt
Steps to reproduce the behavior:
Expected behavior
"SET LAUNCHER" should load the selected launcher.
GMenu2X and FunKey overlay do not use the same setting, which leads to some conflict between those 2 values (pressing "Start" to display GMenu2X serttings will restore the brightness to GMenu2X value).
Steps to reproduce:
Expected behavior:
The brightness value should be shared between GMenu2X and the Funkey overlay and both should impact the other.
Apon exiting a game you are transported to the main console select screen, not even on the system last used, would like to when exiting game to still be in that system i was just in and still have that game highlighted instead of going from game all the way back to beginning of selection, most retro game systems seem to work that way, a
Sound is not back when using Instant Play. Indeed, the sound does not play anymore after closing and opening the FK again while in a game (any emulator).
Important note: this issue does not occur with current OS 2.2.0 but only with an OS built from 52cf2a0 ("develop" branch) so it does not impact players for now.
Steps to reproduce the behavior:
Expected behavior
Sound volume should be restored when using Instant Play.
Workaround
Pressing twice the MENU button to open/close the FK menu restores sound.
Having the possibility to reset a game into the FK menu (MENU button) would be very convenient. For now we have to use EXIT option from the FK menu then launch the game again.
i would like for the system to remember what i selected last and when entering or exiting systems for it to return to last game played and allow me to search from there. also the way it handles ps1 game files, being there are usually multiple per game but only one is needed to run the game it would be nice to hide certain files from menu or create folder hierarchy to allow the file needed to run game is viewed, but the files not needed are in separate folder. other than that great job and keep up the great work. you rock!
Wording is inconsistent and misleading in Recovery menu. Indeed "FIRST BOOT DISABLE" is by default and means here that it's disabled and that you have to click to enable it. Regarding "FACTORY TESTS ENABLE" it's the contrary: it's here disabled too and you have to click to enable it whereas the wording is the opposite, that's very confusing and we should differentiate the state of an option and the action it performs when clicking it. As an example, I myself misclicked one or two times and triggered the FIRST BOOT sequence by mistake.
Tested on firmwares 2.0.0, 2.0.1, 2.1.0, 2.1.1 beta, 2.2.0 beta.
Steps to reproduce the behavior:
Expected behavior
By default, you should have the different options like this:
ENABLE FACTORY TESTS => DISABLE FACTORY TESTS
ENABLE FIRST BOOT => DISABLE FIRST BOOT
ENABLE NETWORK => DISABLE NETWORK
or
FACTORY TESTS: DISABLED => FACTORY TESTS: ENABLED
FIRST BOOT: DISABLED => FIRST BOOT: ENABLED
NETWORK: DISABLED => NETWORK: ENABLED
Note: I personally prefer the 2nd one, more natural as that's easier to understand the current status of each option.
OPKs are normally run from /opk, which allows loading of resources via relative paths.
Instant play runs them from /root however, which breaks OPKs that require any kind of resource files next to the executable.
Describe the bug
In Recovery mode, Fn+START key combination (instead of Fn+UP) displays a snapshot confirmation message whereas it does not save it anywhere.
Tested on firmwares 2.0.0, 2.0.1, 2.1.0, 2.1.1 beta, 2.2.0 beta.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I guess this command is not intended to work as the snapshot app may not ne loaded yet (TBC), so we should deactivate it or implement properly the snapshot command with Fn+UP and save the pic into its destination (/mnt/FunKey/snapshots).
i want to use the st7789 with 320x240,
how can i rebuild the zImage? and do i need to rebuild rootfs?
Hi, hopefully this is the best place for this.
At the moment you need to put both 32x and MegaCD games in the Genesis folder and they all show up in the same section in RetroFE.
Is it possible to have separate sections for both 32x and MegaCD? as its a small device, I prefer to keep each section fairly small but the MegaDrive section is fairly large now as covers (in my eyes anyway) 3 different consoles. GB & GBC have different sections and they are probably more similar to each other.
Also another that may help, would it be possible for RetroFE to not show unused sections (like Wonderswan for me) ? Maybe if its possible for the menu not to show certain categories if the folder either doesnt exist or is empty? That way people that want their MD/32x/MegaCD games in the same section can, but others can have the separate categories.
Thanks
This is a long shot, but I'm messing around with different emulation builds out there and I'd love to try this OS out. The fact that it's open source on here is great, but since you've got it running specifically for what looks like a little SPI based display I haven't had any luck on a Lichee pi zero. After digging through your files, it looks like you've turned off the LCD controller/display engine in the DTS. Buildroot/Uboot are not my biggest strengths unfortunately. Any detail you could give in how I could either modify the build process (Since it's a 1 button build process, I can't easily determine when I could interrupt the process to modify the make menuconfig and point to a different dts) or modify the image post-build would make me super grateful.
It would be nice to be able to check the battery level when in a game.
So when you push the power/menu button the battery level shows in the top right corner like on the main screen or as an item in the menu like volume.
Since the commit FunKey-Project/SDL-1.2@9a181f4 for SDL 1.2, image viewing in Commander is broken for file formats like .png and .jpg.
Error message in the logs is:
loadImageToFit: ioctl(FBIOPAN_DISPLAY) failed
Steps to reproduce:
It would be convenient to have some of the utility to download ROMs thumbnails and save them by each of the ROMs. Probably, It would be a PC utility, run by a user manually, as the FunKey console itself does not have internet access (probably). It should scan a list of installed ROMs, and then search and download thumbnails for the found ROMs from open databases, then storing them and resizing if necessary in proper dimensions. Just like stated in the FunKey Wiki, but it should be done somehow automatically, not manually.
Users searching for game box art are recommended to visit Libretro's GitHub page of thumbnail repositories. Due to several of these lists being truncated or having sub-par box art scans, however, it is also suggested that users visit the subsequently linked-to repositories for NES, TurboGrafx-16/PC Engine, Genesis/Mega Drive, SNES, GBA, and PS1 game box art. Since the image representing a game on the FunKey S is the image in the file directory that shares a name with that game, users may also use other images, such as custom box art, in either JPG or PNG format to represent their games on the FunKey S. Since large image files take longer to load in on the main menu of the FunKey S, for an optimal scrolling experience it is recommended that users downscale their thumbnails to at or below 240x240, the maximum resolution of the FunKey S. For the convenience of users, the wiki editors have compiled a database of box art for a number of systems resized to more efficient 240 pixel horizontal and/or vertical maximum resolutions. If there is missing box art that you wish to add to the database or are having trouble finding, you may message a wiki editor on the FunKey community Discord server or leave a message on this page's talk page.
https://github.com/libretro-thumbnails/libretro-thumbnails
https://drive.google.com/drive/folders/1yKlYlBpx0m7lG074avmIXu7hGrbtvndj
When you insert a ROM with a game name in a foreign language other than English, the name is all garbled. Many Asians who love Funky S are experiencing inconvenience. For example, it would be nice to be able to support multiple languages such as Japanese, Korean, etc. Please let the developers know what you think. Could you please patch it to support UTF-8?
Describe the bug
The FunKey S only has a single speaker, wired to the left audio channel. For monaural games, that's fine; for stereo games, it's a problem. Try playing Sonic The Hedgehog on the Genesis, for example: you'll only hear every other ring pickup sound, because it alternates between the left and right channels. Likewise, music sounds strange because anything which plays on the right channel is missing.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
You hear a ring pickup sound for every ring picked up.
Actual behavior
You only hear half the ring pickup sounds - the ones in the left channel.
Proposed fix
Short of adding a second speaker to the FunKey S, the fix for this problem would be to downmix stereo audio to mono before sending it to the speaker - ensuring that all audio, not just the left channel, is played.
This is relatively simple in alsa's asound.rc
configuration file:
pcm.!default monodownmix
pcm.monodownmix {
type route
slave.pcm "hw:0"
ttable {
0.0 1 # in-channel 0, out-channel 0, 100% volume
1.0 1 # in-channel 1, out-channel 0, 100% volume
}
}
When using OS 2.2.0, adjusting the volume during gameplay using the menu sometimes fails in specific ways.
•If speaker is off (lowest volume), it will remain off if trying to raise volume using the menu. (Restarting the emulator or loading a quicksave at above 0% volume loads the set volume.)
•If speaker is on, trying to lower the volume using the menu will not cause the speaker to turn off.
The volume can be adjusted normally using the Fn shortcuts. In addition, this appears to only affect some emulators.
Affected: NES, GBC, PS1, SNES, GBA.
Not Affected: Lynx, Neo Geo Pocket, PC Engine, WS, Picodrive Beta (installed to sysroot using script), Mario 64.
Describe the bug
Just hanging on "Updating..."
I'm hoping I'm just being impatient but it's been over 5 minutes now and I'm a little worried its bricked itself before I even got to play a single game.
To Reproduce
as described in https://doc.funkey-project.com/user_manual/tutorials/software/firmware_update/
FunKey-rootfs-2.3.0.fwu
Expected behavior
Update to finish and show the launcher
I experienced several crash/reboot of the console when playing Mednafen PC-Engine or Mednafen NES with last Alsa mono fix: fc7b0f4.
I reproduced it more than 15 times, sometime it occurs after 20 seconds, sometimes after a few minutes. I cannot reproduce it without Alsa mono fix and never had this before.
Tested on firmware 2.1.0 with stock Mednafen PC-Engine with several roms (Hucard or CD-ROM). That does not occur with PicoDrive, PocketSNES, gpSP, FCEUX and PCSX ReARMed.
GMenu2X logged this error:
ALSA lib pcm.c:8545:(snd_pcm_recover) underrun occurred
Steps to reproduce:
.key files are not applied if containing some special characters like "(", ")" or any space despite the confirmation in GMenu2X logs.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
.key files should be applied even with special characters.
VOLUME/BRIGHTNESS setting display is not updated when using shortcuts while the FK menu is open. It's minor and not sure whether some people will do it actually, just spotting it here as the nitpicker I am. :)
Steps to reproduce the behavior:
Expected behavior
I think the easier way would be to deactivate those shortcuts while the FK menu is open. Indeed, it's the case for ratio shortcut (Fn+DOWN). That way that would fix the bug and there is no need to use volume/brightness shortcuts if the FK menu is open anyway.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.