diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index 7821f03e..f3352edc 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -39,7 +39,7 @@ jobs: git submodule update sudo apt install -y flatpak flatpak-builder p7zip-full flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo - flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 + flatpak install --user -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 # for main remember to change ${HOME} into ${GITHUB_WORKSPACE} - name: Build flatpak diff --git a/.gitignore b/.gitignore index 765bfe6e..934dbffd 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ Thumbs.db .flatpak-builder/ retrodeck-flatpak-cooker/ retrodeck-flatpak/ +bakcup +.old diff --git a/README.md b/README.md index 3fc69a39..c1cf284a 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,8 @@ No partitioning or formatting is required. RetroDECK (differently from AmberELEC No, RetroDECK doesn't support Windows, but the project is fully open source so you can port it if you wish. As an alternative, [Retrobat](http://www.retrobat.ovh/) offers similar functionality (but may not be compatible with RetroDECK's rom paths). ## How can I install it? -Check the [Installation instructions](https://github.com/XargonWan/RetroDECK/wiki#installation-instructions) on the Wiki +Just install it from Discover store.
+However if you want to test the cooker version you can follow the [Installation instructions](https://github.com/XargonWan/RetroDECK/wiki#installation-instructions) on the Wiki ## Can I help? Of course, any help is appreciated, and not only by programming, just check out our [Discord](https://discord.gg/Dz3szYsP8g)! diff --git a/docs/index.html b/docs/index.html index c2d883a0..7cfb3735 100644 --- a/docs/index.html +++ b/docs/index.html @@ -46,6 +46,7 @@ + diff --git a/emu-configs/Dolphin/Dolphin.ini b/emu-configs/dolphin/Dolphin.ini similarity index 100% rename from emu-configs/Dolphin/Dolphin.ini rename to emu-configs/dolphin/Dolphin.ini diff --git a/emu-configs/Dolphin/GCPadNew.ini b/emu-configs/dolphin/GCPadNew.ini similarity index 100% rename from emu-configs/Dolphin/GCPadNew.ini rename to emu-configs/dolphin/GCPadNew.ini diff --git a/emu-configs/Dolphin/GFX.ini b/emu-configs/dolphin/GFX.ini similarity index 100% rename from emu-configs/Dolphin/GFX.ini rename to emu-configs/dolphin/GFX.ini diff --git a/emu-configs/Dolphin/Hotkeys.ini b/emu-configs/dolphin/Hotkeys.ini similarity index 100% rename from emu-configs/Dolphin/Hotkeys.ini rename to emu-configs/dolphin/Hotkeys.ini diff --git a/emu-configs/Dolphin/Qt.ini b/emu-configs/dolphin/Qt.ini similarity index 100% rename from emu-configs/Dolphin/Qt.ini rename to emu-configs/dolphin/Qt.ini diff --git a/emu-configs/retroarch-core-options.cfg b/emu-configs/retroarch-core-options.cfg index a400680a..b7ab1bd2 100644 --- a/emu-configs/retroarch-core-options.cfg +++ b/emu-configs/retroarch-core-options.cfg @@ -182,7 +182,7 @@ genesis_plus_gx_aspect_ratio = "auto" genesis_plus_gx_audio_filter = "disabled" genesis_plus_gx_bios = "disabled" genesis_plus_gx_blargg_ntsc_filter = "disabled" -genesis_plus_gx_bram = "per bios" +genesis_plus_gx_bram = "per game" genesis_plus_gx_cdda_volume = "100" genesis_plus_gx_fm_preamp = "100" genesis_plus_gx_force_dtack = "enabled" diff --git a/emu-configs/yuzu-qt-config.ini b/emu-configs/yuzu/qt-config.ini similarity index 88% rename from emu-configs/yuzu-qt-config.ini rename to emu-configs/yuzu/qt-config.ini index 69935549..6149a971 100644 --- a/emu-configs/yuzu-qt-config.ini +++ b/emu-configs/yuzu/qt-config.ini @@ -7,6 +7,7 @@ volume=100 volume\default=true [Controls] +="======" controller_navigation=true controller_navigation\default=true debug_pad_button_a="toggle:0,code:67,engine:keyboard" @@ -61,6 +62,8 @@ enable_accurate_vibrations=false enable_accurate_vibrations\default=true enable_raw_input=false enable_raw_input\default=true +enable_ring_controller=true +enable_ring_controller\default=true enable_udp_controller=false enable_udp_controller\default=true keyboard_enabled=false @@ -77,15 +80,9 @@ player_0_body_color_left=4278893030 player_0_body_color_left\default=false player_0_body_color_right=4294917160 player_0_body_color_right\default=false -<<<<<<< HEAD -player_0_button_a="button:1,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_a\default=false -player_0_button_b="button:0,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -======= player_0_button_a="pad:0,button:1,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_a\default=false player_0_button_b="pad:0,button:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" ->>>>>>> cooker player_0_button_b\default=false player_0_button_color_left=4278197790 player_0_button_color_left\default=false @@ -97,24 +94,9 @@ player_0_button_dleft="hat:0,direction:left,guid:03000000de280000ff1100000100000 player_0_button_dleft\default=false player_0_button_dright="hat:0,direction:right,guid:03000000de280000ff11000001000000,port:0,engine:sdl" player_0_button_dright\default=false -<<<<<<< HEAD -player_0_button_dup="hat:0,direction:up,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_dup\default=false -player_0_button_home="button:8,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_home\default=false -player_0_button_l="button:4,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_l\default=false -player_0_button_lstick="button:9,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_lstick\default=false -player_0_button_minus="button:6,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_minus\default=false -player_0_button_plus="button:7,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_plus\default=false -player_0_button_r="button:5,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -======= player_0_button_dup="hat:0,pad:0,direction:up,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_dup\default=false -player_0_button_home=[empty] +player_0_button_home="code:82,pad:0,port:0,engine:keyboard" player_0_button_home\default=false player_0_button_l="pad:0,button:4,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_l\default=false @@ -125,7 +107,6 @@ player_0_button_minus\default=false player_0_button_plus="pad:0,button:7,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_plus\default=false player_0_button_r="pad:0,button:5,port:0,guid:03000000de280000ff11000001000000,engine:sdl" ->>>>>>> cooker player_0_button_r\default=false player_0_button_rstick="button:10,guid:03000000de280000ff11000001000000,port:0,engine:sdl" player_0_button_rstick\default=false @@ -135,19 +116,6 @@ player_0_button_sl="button:4,guid:03000000de280000ff11000001000000,port:0,engine player_0_button_sl\default=false player_0_button_sr="button:5,guid:03000000de280000ff11000001000000,port:0,engine:sdl" player_0_button_sr\default=false -<<<<<<< HEAD -player_0_button_x="button:3,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_x\default=false -player_0_button_y="button:2,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -player_0_button_y\default=false -player_0_button_zl="threshold:0.500000,axis:2,guid:03000000de280000ff11000001000000,port:0,invert:+,engine:sdl" -player_0_button_zl\default=false -player_0_button_zr="threshold:0.500000,axis:5,guid:03000000de280000ff11000001000000,port:0,invert:+,engine:sdl" -player_0_button_zr\default=false -player_0_connected=true -player_0_connected\default=true -player_0_lstick="deadzone:0.150000,invert_y:+,invert_x:+,offset_y:0.000000,axis_y:1,offset_x:-0.000000,axis_x:0,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -======= player_0_button_x="pad:0,button:3,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_x\default=false player_0_button_y="pad:0,button:2,port:0,guid:03000000de280000ff11000001000000,engine:sdl" @@ -159,17 +127,12 @@ player_0_button_zr\default=false player_0_connected=true player_0_connected\default=true player_0_lstick="range:0.950000,deadzone:0.150000,threshold:0.500000,axis_y:1,axis_x:0,pad:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" ->>>>>>> cooker player_0_lstick\default=false player_0_motionleft=[empty] player_0_motionleft\default=false player_0_motionright=[empty] player_0_motionright\default=false -<<<<<<< HEAD -player_0_rstick="deadzone:0.150000,invert_y:+,invert_x:+,offset_y:0.000000,axis_y:4,offset_x:-0.000000,axis_x:3,guid:03000000de280000ff11000001000000,port:0,engine:sdl" -======= -player_0_rstick="range:0.950000,deadzone:0.150000,threshold:0.500000,axis_y:3,axis_x:4,pad:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" ->>>>>>> cooker +player_0_rstick="range:0.950000,deadzone:0.150000,threshold:0.500000,axis_y:4,axis_x:3,pad:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_rstick\default=false player_0_type=0 player_0_type\default=true @@ -629,60 +592,60 @@ player_8_body_color_left=702950 player_8_body_color_left\default=true player_8_body_color_right=16727080 player_8_body_color_right\default=true -player_8_button_a="toggle:0,code:67,engine:keyboard" -player_8_button_a\default=true -player_8_button_b="toggle:0,code:88,engine:keyboard" -player_8_button_b\default=true +player_8_button_a="engine:keyboard,code:67,toggle:0" +player_8_button_a\default=false +player_8_button_b="engine:keyboard,code:88,toggle:0" +player_8_button_b\default=false player_8_button_color_left=7710 player_8_button_color_left\default=true player_8_button_color_right=1968650 player_8_button_color_right\default=true -player_8_button_ddown="toggle:0,code:16777237,engine:keyboard" -player_8_button_ddown\default=true -player_8_button_dleft="toggle:0,code:16777234,engine:keyboard" -player_8_button_dleft\default=true -player_8_button_dright="toggle:0,code:16777236,engine:keyboard" -player_8_button_dright\default=true -player_8_button_dup="toggle:0,code:16777235,engine:keyboard" -player_8_button_dup\default=true -player_8_button_home="toggle:0,code:0,engine:keyboard" -player_8_button_home\default=true -player_8_button_l="toggle:0,code:81,engine:keyboard" -player_8_button_l\default=true -player_8_button_lstick="toggle:0,code:70,engine:keyboard" -player_8_button_lstick\default=true -player_8_button_minus="toggle:0,code:78,engine:keyboard" -player_8_button_minus\default=true -player_8_button_plus="toggle:0,code:77,engine:keyboard" -player_8_button_plus\default=true -player_8_button_r="toggle:0,code:69,engine:keyboard" -player_8_button_r\default=true -player_8_button_rstick="toggle:0,code:71,engine:keyboard" -player_8_button_rstick\default=true -player_8_button_screenshot="toggle:0,code:0,engine:keyboard" -player_8_button_screenshot\default=true -player_8_button_sl="toggle:0,code:81,engine:keyboard" -player_8_button_sl\default=true -player_8_button_sr="toggle:0,code:69,engine:keyboard" -player_8_button_sr\default=true -player_8_button_x="toggle:0,code:86,engine:keyboard" -player_8_button_x\default=true -player_8_button_y="toggle:0,code:90,engine:keyboard" -player_8_button_y\default=true -player_8_button_zl="toggle:0,code:82,engine:keyboard" -player_8_button_zl\default=true -player_8_button_zr="toggle:0,code:84,engine:keyboard" -player_8_button_zr\default=true +player_8_button_ddown="engine:keyboard,code:16777237,toggle:0" +player_8_button_ddown\default=false +player_8_button_dleft="engine:keyboard,code:16777234,toggle:0" +player_8_button_dleft\default=false +player_8_button_dright="engine:keyboard,code:16777236,toggle:0" +player_8_button_dright\default=false +player_8_button_dup="engine:keyboard,code:16777235,toggle:0" +player_8_button_dup\default=false +player_8_button_home="engine:keyboard,code:0,toggle:0" +player_8_button_home\default=false +player_8_button_l="engine:keyboard,code:81,toggle:0" +player_8_button_l\default=false +player_8_button_lstick="engine:keyboard,code:70,toggle:0" +player_8_button_lstick\default=false +player_8_button_minus="engine:keyboard,code:78,toggle:0" +player_8_button_minus\default=false +player_8_button_plus="engine:keyboard,code:77,toggle:0" +player_8_button_plus\default=false +player_8_button_r="engine:keyboard,code:69,toggle:0" +player_8_button_r\default=false +player_8_button_rstick="engine:keyboard,code:71,toggle:0" +player_8_button_rstick\default=false +player_8_button_screenshot="engine:keyboard,code:0,toggle:0" +player_8_button_screenshot\default=false +player_8_button_sl="engine:keyboard,code:81,toggle:0" +player_8_button_sl\default=false +player_8_button_sr="engine:keyboard,code:69,toggle:0" +player_8_button_sr\default=false +player_8_button_x="engine:keyboard,code:86,toggle:0" +player_8_button_x\default=false +player_8_button_y="engine:keyboard,code:90,toggle:0" +player_8_button_y\default=false +player_8_button_zl="engine:keyboard,code:82,toggle:0" +player_8_button_zl\default=false +player_8_button_zr="engine:keyboard,code:84,toggle:0" +player_8_button_zr\default=false player_8_connected=false player_8_connected\default=true -player_8_lstick="modifier_scale:0.500000,modifier:toggle$00$1code$016777248$1engine$0keyboard,right:toggle$00$1code$068$1engine$0keyboard,left:toggle$00$1code$065$1engine$0keyboard,down:toggle$00$1code$083$1engine$0keyboard,up:toggle$00$1code$087$1engine$0keyboard,engine:analog_from_button" -player_8_lstick\default=true -player_8_motionleft="toggle:0,code:55,engine:keyboard" -player_8_motionleft\default=true -player_8_motionright="toggle:0,code:56,engine:keyboard" -player_8_motionright\default=true -player_8_rstick="modifier_scale:0.500000,modifier:toggle$00$1code$00$1engine$0keyboard,right:toggle$00$1code$076$1engine$0keyboard,left:toggle$00$1code$074$1engine$0keyboard,down:toggle$00$1code$075$1engine$0keyboard,up:toggle$00$1code$073$1engine$0keyboard,engine:analog_from_button" -player_8_rstick\default=true +player_8_lstick="engine:analog_from_button,up:toggle$00$1code$087$1engine$0keyboard,down:toggle$00$1code$083$1engine$0keyboard,left:toggle$00$1code$065$1engine$0keyboard,right:toggle$00$1code$068$1engine$0keyboard,modifier:toggle$00$1code$016777248$1engine$0keyboard,modifier_scale:0.500000" +player_8_lstick\default=false +player_8_motionleft="engine:keyboard,code:55,toggle:0" +player_8_motionleft\default=false +player_8_motionright="engine:keyboard,code:56,toggle:0" +player_8_motionright\default=false +player_8_rstick="engine:analog_from_button,up:toggle$00$1code$073$1engine$0keyboard,down:toggle$00$1code$075$1engine$0keyboard,left:toggle$00$1code$074$1engine$0keyboard,right:toggle$00$1code$076$1engine$0keyboard,modifier:toggle$00$1code$00$1engine$0keyboard,modifier_scale:0.500000" +player_8_rstick\default=false player_8_type=0 player_8_type\default=true player_8_vibration_enabled=true @@ -753,6 +716,8 @@ player_9_vibration_enabled=true player_9_vibration_enabled\default=true player_9_vibration_strength=100 player_9_vibration_strength\default=true +ring_controller="modifier_scale:0.050000,modifier:toggle$00$1code$00$1engine$0keyboard,right:toggle$00$1code$068$1engine$0keyboard,left:toggle$00$1code$065$1engine$0keyboard,down:toggle$00$1code$00$1engine$0keyboard,up:toggle$00$1code$00$1engine$0keyboard,engine:analog_from_button" +ring_controller\default=true tas_enable=false tas_enable\default=true tas_loop=false @@ -775,8 +740,8 @@ touchscreen_enabled=true touchscreen_enabled\default=true udp_input_servers=127.0.0.1:26760 udp_input_servers\default=true -use_docked_mode=true -use_docked_mode\default=true +use_docked_mode=false +use_docked_mode\default=false vibration_enabled=true vibration_enabled\default=true @@ -787,8 +752,8 @@ use_multi_core=true use_multi_core\default=true [Cpu] -cpu_accuracy=2 -cpu_accuracy\default=false +cpu_accuracy=0 +cpu_accuracy\default=true cpu_accuracy_first_time=false cpu_accuracy_first_time\default=false cpu_debug_mode=false @@ -829,11 +794,8 @@ cpuopt_unsafe_unfuse_fma=true cpuopt_unsafe_unfuse_fma\default=true [Data%20Storage] -<<<<<<< HEAD -dump_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/dump -======= +="======" dump_directory=/var/data/yuzu/dump ->>>>>>> cooker dump_directory\default=true gamecard_current_game=false gamecard_current_game\default=true @@ -841,15 +803,6 @@ gamecard_inserted=false gamecard_inserted\default=true gamecard_path= gamecard_path\default=true -<<<<<<< HEAD -load_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/load -load_directory\default=true -nand_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/nand -nand_directory\default=true -sdmc_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/sdmc -sdmc_directory\default=true -tas_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/tas -======= load_directory=/var/data/yuzu/load load_directory\default=true nand_directory=/var/data/yuzu/nand @@ -857,7 +810,6 @@ nand_directory\default=true sdmc_directory=/var/data/yuzu/sdmc sdmc_directory\default=true tas_directory=/var/data/yuzu/tas ->>>>>>> cooker tas_directory\default=true use_virtual_sd=true use_virtual_sd\default=true @@ -873,6 +825,8 @@ enable_all_controllers=false enable_all_controllers\default=true enable_fs_access_log=false enable_fs_access_log\default=true +gdbstub_port=6543 +gdbstub_port\default=true program_args= program_args\default=true quest_flag=false @@ -880,12 +834,11 @@ quest_flag\default=true record_frame_times=false use_debug_asserts=false use_debug_asserts\default=true +use_gdbstub=false +use_gdbstub\default=true [DisabledAddOns] size=0 - - - [Miscellaneous] log_filter=*:Info @@ -900,8 +853,8 @@ anti_aliasing=0 anti_aliasing\default=true aspect_ratio=0 aspect_ratio\default=true -backend=1 -backend\default=false +backend=0 +backend\default=true bg_blue=0 bg_blue\default=true bg_green=0 @@ -924,9 +877,9 @@ nsight_aftermath=false nsight_aftermath\default=true nvdec_emulation=2 nvdec_emulation\default=true -resolution_setup=0 -resolution_setup\default=false -scaling_filter=5 +resolution_setup=2 +resolution_setup\default=true +scaling_filter=0 scaling_filter\default=false shader_backend=0 shader_backend\default=false @@ -938,8 +891,8 @@ use_asynchronous_gpu_emulation=true use_asynchronous_gpu_emulation\default=true use_asynchronous_shaders=true use_asynchronous_shaders\default=false -use_disk_shader_cache=true -use_disk_shader_cache\default=true +use_disk_shader_cache=false +use_disk_shader_cache\default=false use_fast_gpu_time=true use_fast_gpu_time\default=true use_speed_limit=true @@ -950,12 +903,9 @@ vulkan_device=0 vulkan_device\default=true [Services] +="======" network_interface=None -<<<<<<< HEAD -network_interface\default=true -======= network_interface\default=false ->>>>>>> cooker [System] current_user=0 @@ -966,8 +916,8 @@ custom_rtc_enabled=false custom_rtc_enabled\default=true language_index=1 language_index\default=true -region_index=1 -region_index\default=true +region_index=2 +region_index\default=false rng_seed=0 rng_seed\default=true rng_seed_enabled=false @@ -1039,7 +989,7 @@ Shortcuts\Main%20Window\Change%20Adapting%20Filter\KeySeq=F8 Shortcuts\Main%20Window\Change%20Adapting%20Filter\KeySeq\default=true Shortcuts\Main%20Window\Change%20Docked%20Mode\Context=2 Shortcuts\Main%20Window\Change%20Docked%20Mode\Context\default=true -Shortcuts\Main%20Window\Change%20Docked%20Mode\Controller_KeySeq=Home+Y +Shortcuts\Main%20Window\Change%20Docked%20Mode\Controller_KeySeq= Shortcuts\Main%20Window\Change%20Docked%20Mode\Controller_KeySeq\default=false Shortcuts\Main%20Window\Change%20Docked%20Mode\KeySeq=F10 Shortcuts\Main%20Window\Change%20Docked%20Mode\KeySeq\default=true @@ -1063,10 +1013,10 @@ Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Esc Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=true Shortcuts\Main%20Window\Exit%20yuzu\Context=1 Shortcuts\Main%20Window\Exit%20yuzu\Context\default=true -Shortcuts\Main%20Window\Exit%20yuzu\Controller_KeySeq=Home+Minus -Shortcuts\Main%20Window\Exit%20yuzu\Controller_KeySeq\default=true -Shortcuts\Main%20Window\Exit%20yuzu\KeySeq=Ctrl+Q -Shortcuts\Main%20Window\Exit%20yuzu\KeySeq\default=true +Shortcuts\Main%20Window\Exit%20yuzu\Controller_KeySeq=Home+Plus +Shortcuts\Main%20Window\Exit%20yuzu\Controller_KeySeq\default=false +Shortcuts\Main%20Window\Exit%20yuzu\KeySeq= +Shortcuts\Main%20Window\Exit%20yuzu\KeySeq\default=false Shortcuts\Main%20Window\Fullscreen\Context=1 Shortcuts\Main%20Window\Fullscreen\Context\default=true Shortcuts\Main%20Window\Fullscreen\Controller_KeySeq= @@ -1081,7 +1031,7 @@ Shortcuts\Main%20Window\Load%20File\KeySeq=Ctrl+O Shortcuts\Main%20Window\Load%20File\KeySeq\default=true Shortcuts\Main%20Window\Load\Remove%20Amiibo\Context=3 Shortcuts\Main%20Window\Load\Remove%20Amiibo\Context\default=true -Shortcuts\Main%20Window\Load\Remove%20Amiibo\Controller_KeySeq= +Shortcuts\Main%20Window\Load\Remove%20Amiibo\Controller_KeySeq=Home+Y Shortcuts\Main%20Window\Load\Remove%20Amiibo\Controller_KeySeq\default=false Shortcuts\Main%20Window\Load\Remove%20Amiibo\KeySeq=F2 Shortcuts\Main%20Window\Load\Remove%20Amiibo\KeySeq\default=true @@ -1135,7 +1085,7 @@ Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\KeySeq=Ctrl+F9 Shortcuts\Main%20Window\Toggle%20Mouse%20Panning\KeySeq\default=true Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context=1 Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context\default=true -Shortcuts\Main%20Window\Toggle%20Status%20Bar\Controller_KeySeq= +Shortcuts\Main%20Window\Toggle%20Status%20Bar\Controller_KeySeq=Home+X Shortcuts\Main%20Window\Toggle%20Status%20Bar\Controller_KeySeq\default=true Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq=Ctrl+S Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=true @@ -1155,12 +1105,12 @@ UIGameList\row_2_text_id\default=true UIGameList\show_add_ons=true UIGameList\show_add_ons\default=true UILayout\gameListHeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x5\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\x9c\0\0\0\x5\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\x2\x80\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\xf0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64) -UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\xd6\0\0\0Y\0\0\x4*\0\0\x2\x8a\0\0\0\xd6\0\0\0v\0\0\x4*\0\0\x2\x8a\0\0\0\0\0\0\0\0\x5\0\0\0\0\xd6\0\0\0v\0\0\x4*\0\0\x2\x8a) +UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\xd6\0\0\0v\0\0\x4*\0\0\x2\x8a\0\0\0\xd6\0\0\0v\0\0\x4*\0\0\x2\x8a\0\0\0\0\0\0\0\0\x5\0\0\0\0\xd6\0\0\0v\0\0\x4*\0\0\x2\x8a) UILayout\geometryRenderWindow=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\0\x63\0\0\0\x31\0\0\0\0\0\0\0\x14\0\0\0\x63\0\0\0\x31\0\0\0\0\0\0\0\0\x5\0\0\0\0\0\0\0\0\x14\0\0\0\x63\0\0\0\x31) UILayout\microProfileDialogGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\x3\xe7\0\0\x2k\0\0\0\0\0\0\0\x14\0\0\x3\xe7\0\0\x2k\0\0\0\0\0\0\0\0\x5\0\0\0\0\0\0\0\0\x14\0\0\x3\xe7\0\0\x2k) UILayout\microProfileDialogVisible=false UILayout\microProfileDialogVisible\default=true -UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0Y\0\xff\xff\xff\0\0\x3U\0\0\x1\xeb\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0) +UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0y\x1\0\0\x3\0\0\x3U\0\0\x1\xd6\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0) calloutFlags=1 calloutFlags\default=false confirmClose=true @@ -1179,8 +1129,8 @@ hideInactiveMouse=true hideInactiveMouse\default=true muteWhenInBackground=false muteWhenInBackground\default=true -pauseWhenInBackground=false -pauseWhenInBackground\default=true +pauseWhenInBackground=true +pauseWhenInBackground\default=false select_user_on_boot=false select_user_on_boot\default=true showConsole=false @@ -1195,6 +1145,7 @@ theme=colorful theme\default=true [WebService] +="======" enable_telemetry=false enable_telemetry\default=false web_api_url=https://api.yuzu-emu.org @@ -1202,8 +1153,4 @@ web_api_url\default=true yuzu_token= yuzu_token\default=true yuzu_username=RetroDECK -<<<<<<< HEAD -yuzu_username\default=true -======= -yuzu_username\default=true ->>>>>>> cooker +yuzu_username\default=true \ No newline at end of file diff --git a/es-configs/es_settings.xml b/es-configs/es_settings.xml index d5469399..08e3cc4c 100644 --- a/es-configs/es_settings.xml +++ b/es-configs/es_settings.xml @@ -27,7 +27,7 @@ - + @@ -42,14 +42,14 @@ - - + + - + @@ -118,4 +118,4 @@ - + \ No newline at end of file diff --git a/es-configs/tools-gamelist.xml b/es-configs/tools-gamelist.xml index 9221a5a3..5d0c4b99 100644 --- a/es-configs/tools-gamelist.xml +++ b/es-configs/tools-gamelist.xml @@ -63,32 +63,4 @@ true true - - ./move-roms.sh - Move roms folder - Move roms folder from internal to external and vice versa. - true - true - - - ./overlays.sh - Overlays configuration - Configure or disable borders and shaders. - true - true - - - ./clean-miximages.sh - Clean MixImages - Clean the MixImages in order to beautify the new theme. This is needed if you got scraped data since v0.4.2 or earlier. - true - true - - - ./configure-emulators.sh - Configure Emulators - Choose an emulator to configure. - true - true - \ No newline at end of file diff --git a/flathub-pr.sh b/flathub-pr.sh deleted file mode 100755 index 7699fad2..00000000 --- a/flathub-pr.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -cd ~ -rm -rf flathub -git clone --branch=RetroDECK --recursive https://github.com/XargonWan/flathub.git -cd ~/RetroDECK -git checkout main -git submodule init -git submodule update -# NOTE: the only linked submodules are: rd-submodules/retroarch -# these must be included in the exclusion list as they must be redownloaded -#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/ - -sync -rav --progress { \ -'overlays', \ -'rd-submodules', \ -'flathub.json', \ -'LICENSE', \ -'net.retrodeck.retrodeck.appdata.xml', \ -'net.retrodeck.retrodeck.desktop', \ -'net.retrodeck.retrodeck.yml', \ -'README.md', \ -} ~/flathub/ - -cd ~/flathub -git rm -r * -# NOTE: be careful to remove the REAL (linked) submodules only -rm -rf shared-modules -rm -rf rd-submodules/retroarch - -# rebuilding submodules -git config -f .gitmodules --get-regexp '^submodule\..*\.path$' | - while read path_key path - do - url_key=$(echo $path_key | sed 's/\.path/.url/'); - branch_key=$(echo $path_key | sed 's/\.path/.branch/'); - # If the url_key doesn't yet exist then backup up the existing - # directory if necessary and add the submodule - if [ ! $(git config --get "$url_key") ]; then - if [ -d "$path" ] && [ ! $(git config --get "$url_key") ]; then - mv "$path" "$path""_backup_""$(date +'%Y%m%d%H%M%S')"; - fi; - url=$(git config -f .gitmodules --get "$url_key"); - # If a branch is specified then use that one, otherwise - # default to master - branch=$(git config -f .gitmodules --get "$branch_key"); - if [ ! "$branch" ]; then branch="master"; fi; - git submodule add -f -b "$branch" "$url" "$path"; - fi; - done; - -# In case the submodule exists in .git/config but the url is out of date - -git submodule sync; - -# Now actually pull all the modules. I used to use this... -git submodule foreach --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'; - -git submodule update -git add * -git commit -m "Updating flathub" -git push origin RetroDECK \ No newline at end of file diff --git a/flathub-pull.sh b/flathub-pull.sh new file mode 100755 index 00000000..6374cc0c --- /dev/null +++ b/flathub-pull.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +mkdir backup +mv net.retrodeck.retrodeck.yml backup +mv net.retrodeck.retrodeck.appdata.xml backup +wget https://raw.githubusercontent.com/flathub/net.retrodeck.retrodeck/master/net.retrodeck.retrodeck.yml +wget https://raw.githubusercontent.com/flathub/net.retrodeck.retrodeck/master/net.retrodeck.retrodeck.appdata.xml +git add net.retrodeck.retrodeck.yml +git add net.retrodeck.retrodeck.appdata.xml +git commit -m "Pulled from flathub" \ No newline at end of file diff --git a/flathub-push.sh b/flathub-push.sh new file mode 100755 index 00000000..92e7ff16 --- /dev/null +++ b/flathub-push.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +branch="main-"$(date +%d%m%y.%H%M) + +cd ~/gits +rm -rf flathub +git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub +cd ~/gits/RetroDECK +git checkout main +git submodule init +git submodule update +# NOTE: the only linked submodules are: rd-submodules/retroarch +# these must be included in the exclusion list as they must be redownloaded +#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/ + +cd ~/gits/flathub +git checkout -b $branch +git rm -rf * +git clean -fxd # restroing git index + +cd ~/gits/RetroDECK +cp -rf \ +'rd-submodules' \ +'flathub.json' \ +'LICENSE' \ +'net.retrodeck.retrodeck.appdata.xml' \ +'net.retrodeck.retrodeck.desktop' \ +'net.retrodeck.retrodeck.yml' \ +'README.md' \ +~/gits/flathub/ +cd ~/gits/flathub + +# #rebuilding submodules +# git config -f .gitmodules --get-regexp '^submodule\..*\.path$' | +# while read path_key path +# do +# url_key=$(echo $path_key | sed 's/\.path/.url/'); +# branch_key=$(echo $path_key | sed 's/\.path/.branch/'); +# # If the url_key doesn't yet exist then backup up the existing +# # directory if necessary and add the submodule +# if [ ! $(git config --get "$url_key") ]; then +# if [ -d "$path" ] && [ ! $(git config --get "$url_key") ]; then +# mv "$path" "$path""_backup_""$(date +'%Y%m%d%H%M%S')"; +# fi; +# url=$(git config -f .gitmodules --get "$url_key"); +# # If a branch is specified then use that one, otherwise +# # default to master +# branch=$(git config -f .gitmodules --get "$branch_key"); +# if [ ! "$branch" ]; then branch="master"; fi; +# git submodule add -f -b "$branch" "$url" "$path"; +# fi; +# done; + +# # In case the submodule exists in .git/config but the url is out of date +# git submodule sync + +# # Now actually pull all the modules. I used to use this... +# git submodule foreach --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'; + +rm -rf .git/modules/* +# Adding the real submodules, please update this every time a submodule is added +git rm -rf shared-modules +git submodule add https://github.com/flathub/shared-modules.git shared-modules + +git rm -rf rd-submodules/retroarch +git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch + +# unbinds all submodules +git submodule deinit -f . +# checkout again +git submodule update --init --recursive +git add * +git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/main" +git push origin $branch \ No newline at end of file diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 9dc3596c..3bb17de5 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -14,19 +14,19 @@ - https://github.com/XargonWan/RetroDECK/blob/main/res/logo.png?raw=true + https://github.com/XargonWan/RetroDECK/blob/main/res/logo.png?raw=true - https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen02.png?raw=true + https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen02.png?raw=true - https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen03.png?raw=true + https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen03.png?raw=true - https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen04.png?raw=true + https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen04.png?raw=true - https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen05.png?raw=true + https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen05.png?raw=true @@ -36,11 +36,127 @@

Powered by EmulationStation Desktop Edition, which uses RetroArch and other standalone emulators to allow you to import and play your favorite retro (and even not-so-retro) games in a tidy environment without flooding your Steam library. No other software is needed as everything it's already included!

+

+ NOTE: Albeit RetroDECK could possibily work on every distro, it's supported only on Steam Deck.

+

INSTALLATION INSTRUCTIONS:

+
    +
  • Start RetroDECK from the Desktop mode (first time only)
  • +
  • Follow the setup (read carefully!)
  • +
  • Add RetroDECK to your Steam Library
  • +
  • [OPTIONAL] Download Steam Grids with BoilR
  • +
  • Always start RetroDECK from Steam Library
  • +
+

For a better experience is suggested to use the official Steam Controller Config available under community configs in Steam

GPL-3.0 CC0-1.0 + + https://github.com/XargonWan/RetroDECK/releases/tag/0.5.5b + +
    +
  • New Theme!
  • +
  • Updated RetroArch and its cores from 1.10.2 to 1.10.3
  • +
  • Added a tool to clean up the scraped data in order to make it compatible with the new Art-Book, it's suggested to run it
  • +
+ +

Known Issues:

+
    +
  • PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved
  • +
  • Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode
  • +
+ + IMPORTANT NOTE: + At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs. +
+
+ + + https://github.com/XargonWan/RetroDECK/releases/tag/0.4.4b + +
    +
  • Yuzu: Disabled shader caching as it was broken
  • +
  • Yuzu: Switched from vulkan to opengl as vulkan is experimental and it's not working correctly for the games majority, you can set vulkan by opening tuzu from Tools -> Start Yuzu
  • +
  • Yuzu: Edited Hotkeys (see wiki)
  • +
  • Yuzu: Increased performances
  • +
  • Yuzu: Fixed graphics and scaling
  • +
  • Yuzu: Fixed right control stick
  • +
  • PCSX2: Symlinked bios/pcsx folder in /bios to solve issue#63
  • +
  • Backend: Uploaded a test Steam Controller config, you can download it from community controller configs on Steam
  • +
  • Backend: Unhidden .themes and .downloaded_media folders
  • +
  • Backend: Moved the lockfile in the internal folders
  • +
  • Backend: General code cleanup.
  • +
+ +

Known Issues:

+
    +
  • PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved
  • +
  • Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode
  • +
+ + IMPORTANT NOTE: + At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs. +
+
+ + + https://github.com/XargonWan/RetroDECK/releases/tag/0.4.3b + +

Emulators:

+
    +
  • Updated all the emulators at the latest available version.
  • +
+ +

Backend:

+
    +
  • Manifest code cleanup.
  • +
+ +

Known Issues:

+
    +
  • PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved
  • +
  • Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode
  • +
+ +

IMPORTANT NOTE: + At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs. +

+
+
+ + + https://github.com/XargonWan/RetroDECK/releases/tag/0.4.2b + +

Emulators:

+
    +
  • Updated all the emulators at the latest available version.
  • +
  • DOLPHIN (SA): Fixed a bug where Dolphin couldn't be properly configured. If it's still misconfigured please run `flatpak run net.retrodeck.retrodeck --reset-sa` in order to reset all the standalone emulators, including Dolphin.
  • +
  • CITRA (SA): Reconfigured controls and hotkeys.
  • +
  • MELONDS (SA): Reconfigured controls.
  • +
  • GAMBATTE (LIBRETRO): Added GB colorization.
  • +
  • RETROARCH (LIBRETRO): Tweaked some configs and fixed some overlapping hotkeys (FPS was same as Show Menu action).
  • +
+ +

Backend:

+
    +
  • Removed some broken tools that will be reintroduced once fixed, including the roms moving tool.
  • +
  • Updated ES-DE configs (es_find_rules, es_settings, es_systems).
  • +
  • Manifest trimmend and general code cleanup.
  • +
+ +

Known Issues:

+
    +
  • PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved
  • +
  • Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode
  • +
+ +

IMPORTANT NOTE: + At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs. +

+
+
+ https://github.com/XargonWan/RetroDECK/releases/tag/0.4.1b @@ -175,7 +291,7 @@
  • Tweaked RetroArch configs
  • Added tool for relocating ROMs location from/to internal to/from external
  • Added PCSX2 and Yuzu emulators (but not yet integrated in ES-DE)
  • -
  • Created cooker channel, more info in Discord and on https://github.com/XargonWan/RetroDECK-cooker
  • +
  • Created cooker channel, more info in Discord and on RetroDECK-cooker on GitHub
  • Cooker will auto build when a change is pushed/PRed
  • Same as above with main
  • diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 8d5ebd5c..c8578868 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1,6 +1,6 @@ app-id: net.retrodeck.retrodeck runtime: org.kde.Platform -runtime-version: '5.15-21.08' +runtime-version: 5.15-21.08 sdk: org.kde.Sdk # Needed for rpcs3 sdk-extensions: @@ -13,28 +13,28 @@ base-version: 5.15-21.08 command: retrodeck.sh finish-args: - - --socket=x11 - - --socket=wayland - - --socket=pulseaudio - - --share=ipc - - --share=network - - --device=all - - --filesystem=~/retrodeck:create - - --filesystem=/run/media - - --filesystem=/media - - --allow=multiarch - - --talk-name=org.freedesktop.ScreenSaver - - --talk-name=org.freedesktop.PowerManagement.Inhibit - - --talk-name=org.freedesktop.login1 - - --filesystem=xdg-run/app/com.discordapp.Discord:create + - --socket=x11 + - --socket=wayland + - --socket=pulseaudio + - --share=ipc + - --share=network + - --device=all + - --filesystem=~/retrodeck:create + - --filesystem=/run/media + - --filesystem=/media + - --allow=multiarch + - --talk-name=org.freedesktop.ScreenSaver + - --talk-name=org.freedesktop.PowerManagement.Inhibit + - --talk-name=org.freedesktop.login1 + - --filesystem=xdg-run/app/com.discordapp.Discord:create # Yuzu # - --filesystem=home:ro # This may break Yuzu, let's see # - --filesystem=/run/media:ro # Dolphin - - --allow=bluetooth + - --allow=bluetooth #- --env=QT_QPA_PLATFORM=xcb #not sure if this will break something # rpcs3 - - --socket=fallback-x11 + - --socket=fallback-x11 cleanup: # ES-DE @@ -76,17 +76,17 @@ modules: - | git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ - VERSION="cooker" - if [[ $VERSION == "cooker" ]]; + VERSION="0.5.0b-cooker" + if [[ $VERSION == *"cooker"* ]]; then VERSION=$(git describe --tags | tr - .) fi echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version cat ${FLATPAK_DEST}/retrodeck/version sources: - - type: git - url: https://github.com/XargonWan/RetroDECK.git - branch: cooker + - type: git + url: https://github.com/XargonWan/RetroDECK.git + branch: cooker - name: xmlstarlet config-opts: @@ -103,7 +103,7 @@ modules: - autoreconf -vfi post-install: - ln -s "xml" "${FLATPAK_DEST}/bin/xmlstarlet" ||: - cleanup: ["*"] + cleanup: ['*'] # mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails, # this affects even the shared-modules's glu so I have to replace it temporarly @@ -123,10 +123,10 @@ modules: - name: libgudev buildsystem: meson config-opts: - - '-Dtests=disabled' - - '-Dvapi=disabled' - - '-Dintrospection=disabled' - - '-Dgtk_doc=false' + - -Dtests=disabled + - -Dvapi=disabled + - -Dintrospection=disabled + - -Dgtk_doc=false cleanup: - /include - /etc @@ -152,43 +152,43 @@ modules: - name: ffmpeg config-opts: - - --disable-static - - --disable-programs - - --disable-doc - - --enable-gpl - - --enable-shared - - --enable-libvorbis - - --enable-libopus - - --enable-libvpx - - --enable-postproc + - --disable-static + - --disable-programs + - --disable-doc + - --enable-gpl + - --enable-shared + - --enable-libvorbis + - --enable-libopus + - --enable-libvpx + - --enable-postproc sources: - - type: git - url: https://github.com/FFmpeg/FFmpeg.git - tag: n5.0 + - type: git + url: https://github.com/FFmpeg/FFmpeg.git + tag: n5.0 - name: freeimage no-autogen: true build-options: - cxxflags: -std=c++14 + cxxflags: -std=c++14 make-args: - - DESTDIR=/app + - DESTDIR=/app sources: - - type: archive - url: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip - sha256: f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd - - type: shell - commands: - - sed -i 's|-o root -g root ||' ./Makefile.gnu - - sed -i 's|/usr|/app|' ./Makefile.gnu + - type: archive + url: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip + sha256: f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd + - type: shell + commands: + - sed -i 's|-o root -g root ||' ./Makefile.gnu + - sed -i 's|/usr|/app|' ./Makefile.gnu - name: pugixml buildsystem: cmake-ninja config-opts: - - -DBUILD_SHARED_LIBS=on . + - -DBUILD_SHARED_LIBS=on . sources: - - type: archive - url: https://github.com/zeux/pugixml/releases/download/v1.11.4/pugixml-1.11.4.tar.gz - sha256: 8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716 + - type: archive + url: https://github.com/zeux/pugixml/releases/download/v1.11.4/pugixml-1.11.4.tar.gz + sha256: 8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716 # When updating this module remember to check those: https://gitlab.com/es-de/emulationstation-de/-/tree/stable-1.2.5/resources/systems/unix # But we don't include them 1:1 as RetroDECK got some specific configs in some cases @@ -198,13 +198,15 @@ modules: - es-app - es-core sources: - - type: git - url: https://gitlab.com/es-de/emulationstation-de - branch: 8b0a5c63367e46b95f124f5aba70abcaa3ff888a - - type: shell - commands: - - sed -i 's/QUIT EMULATIONSTATION/QUIT RETRODECK/g' es-app/src/guis/GuiMenu.cpp - - sed -i 's#"EMULATIONSTATION-DE V" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#"RetroDECK v'$(cat ${FLATPAK_DEST}/retrodeck/version)', ES-DE v" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#g' es-app/src/guis/GuiMenu.cpp + - type: git + url: https://gitlab.com/es-de/emulationstation-de + branch: 5a76fef25ffc659f098ee65215281c51a63c3198 + - type: shell + commands: + - sed -i 's/QUIT EMULATIONSTATION/QUIT RETRODECK/g' es-app/src/guis/GuiMenu.cpp + - sed -i 's#"EMULATIONSTATION-DE V" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#"RetroDECK + v'$(cat ${FLATPAK_DEST}/retrodeck/version)', ES-DE v" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#g' + es-app/src/guis/GuiMenu.cpp # ES-DE - END @@ -226,7 +228,7 @@ modules: - name: retroarch config-opts: - - '--enable-dbus' + - --enable-dbus make-args: - GLOBAL_CONFIG_DIR=${FLATPAK_DEST}/etc sources: @@ -337,8 +339,8 @@ modules: - name: retroarch-cores buildsystem: simple build-commands: - - mkdir -p /app/share/libretro/cores/ - - mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/ + - mkdir -p /app/share/libretro/cores/ + - mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/ sources: - type: archive url: https://buildbot.libretro.com/stable/1.10.3/linux/x86_64/RetroArch_cores.7z @@ -351,8 +353,8 @@ modules: - name: libzip buildsystem: cmake-ninja config-opts: - - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON' - - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' + - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON + - -DCMAKE_BUILD_TYPE=RelWithDebInfo sources: - type: archive url: https://github.com/nih-at/libzip/archive/v1.8.0.tar.gz @@ -379,8 +381,8 @@ modules: - name: fmt buildsystem: cmake-ninja config-opts: - - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON' - - '-DFMT_TEST=OFF' + - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON + - -DFMT_TEST=OFF sources: - type: archive url: https://github.com/fmtlib/fmt/releases/download/8.1.1/fmt-8.1.1.zip @@ -393,7 +395,7 @@ modules: - name: glslang buildsystem: cmake-ninja config-opts: - - '-DCMAKE_BUILD_TYPE=Release' + - -DCMAKE_BUILD_TYPE=Release sources: - type: archive url: https://github.com/KhronosGroup/glslang/archive/11.9.0.tar.gz @@ -406,9 +408,9 @@ modules: - name: catch2 buildsystem: cmake-ninja config-opts: - - '-DCMAKE_BUILD_TYPE=Release' - - '-DCATCH_INSTALL_EXTRAS=ON' - - '-DCATCH_BUILD_TESTING=OFF' + - -DCMAKE_BUILD_TYPE=Release + - -DCATCH_INSTALL_EXTRAS=ON + - -DCATCH_BUILD_TESTING=OFF builddir: true sources: - type: archive @@ -422,9 +424,9 @@ modules: - name: nlohmann-json buildsystem: cmake-ninja config-opts: - - '-DCMAKE_BUILD_TYPE=Release' - - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON' - - '-DJSON_BuildTests=OFF' + - -DCMAKE_BUILD_TYPE=Release + - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON + - -DJSON_BuildTests=OFF sources: - type: archive url: https://github.com/nlohmann/json/archive/v3.10.5.tar.gz @@ -466,21 +468,21 @@ modules: buildsystem: cmake-ninja builddir: true config-opts: - - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' - - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON' - - '-DENABLE_QT_TRANSLATION=ON' - - '-DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON' - - '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON' - - '-DYUZU_USE_QT_WEB_ENGINE=ON' - - '-DYUZU_USE_BUNDLED_FFMPEG=ON' - - '-DDISPLAY_VERSION=1039' - - '-DBUILD_TAG=mainline-1039' - - '-DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline' + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON + - -DENABLE_QT_TRANSLATION=ON + - -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON + - -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON + - -DYUZU_USE_QT_WEB_ENGINE=ON + - -DYUZU_USE_BUNDLED_FFMPEG=ON + - -DDISPLAY_VERSION=1039 + - -DBUILD_TAG=mainline-1039 + - -DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline build-options: env: TITLEBARFORMATIDLE: yuzu {} TITLEBARFORMATRUNNING: yuzu {} | {} - LDFLAGS: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed' + LDFLAGS: -L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed cleanup: - /share/man - /share/pixmaps @@ -502,16 +504,51 @@ modules: path: rd-submodules/yuzu/yuzu-launcher.sh - type: file path: rd-submodules/yuzu/compatibility_list.json - + # Yuzu - END + # CITRA - START + + - name: citra + buildsystem: cmake-ninja + builddir: true + config-opts: + - -DCMAKE_BUILD_TYPE=Release + - -DENABLE_QT_TRANSLATION=ON + - -DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON + - -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON + #- '-DENABLE_FFMPEG_VIDEO_DUMPER=ON' + # Disabled because of this: https://github.com/citra-emu/citra/issues/5949 + - -DENABLE_FDK=ON + cleanup: + - /share/man + - /share/pixmaps + post-install: + - >- + install -Dm644 ../dist/citra.svg + /app/share/icons/hicolor/scalable/apps/citra.svg + - >- + install -Dm644 ../dist/icon.png + /app/share/icons/hicolor/512x512/apps/citra.png + sources: + - type: git + url: https://github.com/citra-emu/citra-nightly.git + tag: nightly-1772 + commit: 355933218d00603c910cd0a9daead0b1cd72a3c3 + disable-shallow-clone: true + x-checker-data: + type: git + tag-pattern: ^(nightly-\d+)$ + + # CITRA - END + # PCSX2 - START # https://github.com/flathub/net.pcsx2.PCSX2 - name: wxWidgets buildsystem: cmake-ninja config-opts: - - '-DCMAKE_BUILD_TYPE=Release' + - -DCMAKE_BUILD_TYPE=Release cleanup: - /bin - /include @@ -519,8 +556,8 @@ modules: sources: - type: git url: https://github.com/wxWidgets/wxWidgets.git - tag: v3.1.6 - commit: 19907924842a9152b8ee5f03f117aed65193b964 + tag: v3.1.7 + commit: 7ad1bffa875f7a38db58b6069ea3ff0c49c211d2 x-checker-data: type: git tag-pattern: ^v([\d.]+)$ @@ -543,7 +580,7 @@ modules: - name: portaudio buildsystem: cmake-ninja config-opts: - - '-DCMAKE_BUILD_TYPE=Release' + - -DCMAKE_BUILD_TYPE=Release cleanup: - /include - /share/doc @@ -606,13 +643,13 @@ modules: buildsystem: cmake-ninja builddir: true config-opts: - - '-DCMAKE_BUILD_TYPE=Release' - - '-DPACKAGE_MODE=TRUE' - - '-DXDG_STD=TRUE' - - '-DDISABLE_BUILD_DATE=TRUE' - - '-DDISABLE_PCSX2_WRAPPER=TRUE' - - '-DDISABLE_ADVANCE_SIMD=TRUE' - - '-DSDL2_API=TRUE' + - -DCMAKE_BUILD_TYPE=Release + - -DPACKAGE_MODE=TRUE + - -DXDG_STD=TRUE + - -DDISABLE_BUILD_DATE=TRUE + - -DDISABLE_PCSX2_WRAPPER=TRUE + - -DDISABLE_ADVANCE_SIMD=TRUE + - -DSDL2_API=TRUE cleanup: - /share/pixmaps - /share/man @@ -622,6 +659,63 @@ modules: url: https://github.com/PCSX2/pcsx2.git tag: v1.7.2889 commit: a6649b2d6b558806fbe7cbaf6296014e3c5c192e + # PCSX2 Flathub Workaround - START + # This workaround disables the PCSX2 libraries (disable-submodules: true) and install them separately + # This is only to make it buildable by the flathub builder as normaly it seems not to be needed + disable-submodules: true + - type: git + dest: 3rdparty/xz/xz + url: https://github.com/PCSX2/xz.git + commit: 3d566cd519017eee1a400e7961ff14058dfaf33c + - type: git + dest: 3rdparty/gtest + url: https://github.com/google/googletest.git + commit: e2239ee6043f73722e7aa812a459f54a28552929 + - type: git + dest: 3rdparty/fmt/fmt + url: https://github.com/fmtlib/fmt.git + commit: b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9 + - type: git + dest: 3rdparty/libchdr/libchdr + url: https://github.com/rtissera/libchdr.git + commit: 5de1a59019815ccdbba0fe07c71b31406d023248 + - type: git + dest: 3rdparty/wil + url: https://github.com/microsoft/wil.git + commit: 3018875eaa4f8e3d86cf2da97fd577bae59f3aec + - type: git + dest: 3rdparty/cubeb/cubeb + url: https://github.com/mozilla/cubeb.git + commit: 773f16b7ea308392c05be3e290163d1f636e6024 + - type: git + dest: 3rdparty/rapidyaml/rapidyaml + url: https://github.com/biojppm/rapidyaml.git + commit: 213b201d264139cd1b887790197e08850af628e3 + - type: git + dest: 3rdparty/imgui/imgui + url: https://github.com/ocornut/imgui.git + commit: 60bea052a92cbb4a93b221002fdf04f0da3698e1 + - type: git + dest: 3rdparty/glslang/glslang + url: https://github.com/KhronosGroup/glslang.git + commit: c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5 + - type: git + dest: 3rdparty/vulkan-headers + url: https://github.com/KhronosGroup/Vulkan-Headers.git + commit: 52a76fd0a693708eb8c25bd0ab7a1008091f64d4 + - type: git + dest: 3rdparty/sdl2/SDL + url: https://github.com/libsdl-org/SDL.git + commit: 53dea9830964eee8b5c2a7ee0a65d6e268dc78a1 + - type: git + dest: 3rdparty/libzip/libzip + url: https://github.com/nih-at/libzip.git + commit: bdc03ab23b703fcc516436d6ebcbfb6ac4484033 + - type: git + dest: 3rdparty/zstd/zstd + url: https://github.com/facebook/zstd.git + commit: e47e674cd09583ff0503f0f6defd6d23d8b718d3 + # PCSX2 Flathub Workaround - END # PCSX2 - END @@ -716,9 +810,9 @@ modules: - bv=`cat /sys/devices/virtual/dmi/id/board_vendor` - bv=$bv`cat /sys/devices/virtual/dmi/id/board_name` - if [[ $bv == "ValveJupiter" ]]; then - - QT_QPA_PLATFORMTHEME=gtk3 dolphin-emu "$@" + - QT_QPA_PLATFORMTHEME=gtk3 dolphin-emu "$@" - else - - dolphin-emu "$@" + - dolphin-emu "$@" - fi dest-filename: dolphin-emu-wrapper @@ -778,8 +872,8 @@ modules: sources: - type: git url: https://github.com/mborgerson/xemu.git - tag: v0.7.29 - commit: 69dcbe9b3081ee51d1468b1b7777b8b930bfba6c + tag: v0.7.58 + commit: 6f878ede01ad1992392dde22b506a3c00fab87c4 x-checker-data: type: json url: https://api.github.com/repos/mborgerson/xemu/releases/latest @@ -814,42 +908,6 @@ modules: # MELONDS - END - # CITRA - START - # https://github.com/flathub/org.citra_emu.citra - - - name: citra - buildsystem: cmake-ninja - builddir: true - config-opts: - - '-DCMAKE_BUILD_TYPE=Release' - - '-DENABLE_QT_TRANSLATION=ON' - - '-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON' - - '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON' - #- '-DENABLE_FFMPEG_VIDEO_DUMPER=ON' - # Disabled because of this: https://github.com/citra-emu/citra/issues/5949 - - '-DENABLE_FDK=ON' - cleanup: - - /share/man - - /share/pixmaps - post-install: - - >- - install -Dm644 ../dist/citra.svg - /app/share/icons/hicolor/scalable/apps/citra.svg - - >- - install -Dm644 ../dist/icon.png - /app/share/icons/hicolor/512x512/apps/citra.png - sources: - - type: git - url: https://github.com/citra-emu/citra-nightly.git - tag: nightly-1770 - commit: 88a475970240e1dbade1720b02f9e5338647b1b8 - disable-shallow-clone: true - x-checker-data: - type: git - tag-pattern: ^(nightly-\d+)$ - - # CITRA - END - # RPCS3 - START # https://github.com/flathub/net.rpcs3.RPCS3 @@ -944,7 +1002,6 @@ modules: commit: e9570d1a0045926f63ec8ea9af68f81743d4f365 # RPCS3 - END - # PRIMEHACK - START # https://github.com/flathub/io.github.shiiion.primehack # Disabled because it's overwriting Dolphin @@ -991,87 +1048,128 @@ modules: - name: ppsspp buildsystem: cmake-ninja config-opts: - - '-DUSE_SYSTEM_FFMPEG=OFF' # turn this on? - - '-DUSE_SYSTEM_LIBZIP=ON' - - '-DUSE_SYSTEM_ZSTD=ON' + - -DUSE_SYSTEM_FFMPEG=OFF # turn this on? + - -DUSE_SYSTEM_LIBZIP=ON + - -DUSE_SYSTEM_ZSTD=ON - - '-DUSE_WAYLAND_WSI=ON' - - '-DUSING_X11_VULKAN=ON' - - '-DUSING_QT_UI=OFF' + - -DUSE_WAYLAND_WSI=ON + - -DUSING_X11_VULKAN=ON + - -DUSING_QT_UI=OFF - - '-DBUILD_TESTING=OFF' - - '-DOpenGL_GL_PREFERENCE=GLVND' + - -DBUILD_TESTING=OFF + - -DOpenGL_GL_PREFERENCE=GLVND build-options: - - '-DX86_64=ON' + - -DX86_64=ON sources: - type: git url: https://github.com/hrydgard/ppsspp.git tag: v1.12.3 commit: ce0a45cf0fcdd5bebf32208b9998f68dfc1107b7 + disable-submodules: true # Part of the PPSSPP Flathub Workaround x-checker-data: type: git - tag-pattern: "^v([\\d.]+)$" + tag-pattern: ^v([\d.]+)$ + # PPSSPP Flathub Workaround - START + # This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately + # This is only to make it buildable by the flathub builder as normaly it seems not to be needed + - type: git + dest: SDL/macOS + commit: f19a1d54b8a5af6cc378ea307e0ec676922eb4cc + url: https://github.com/hrydgard/ppsspp-mac-sdl + - type: git + dest: assets/debugger + commit: 36ad6b19b22de2075a01a4f0c765e3ef514dc38f + url: https://github.com/unknownbrackets/ppsspp-debugger.git + - type: git + dest: dx9sdk + commit: 7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93 + url: https://github.com/hrydgard/minidx9.git + - type: git + dest: ext/SPIRV-Cross + commit: 9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1 + url: https://github.com/KhronosGroup/SPIRV-Cross.git + - type: git + dest: ext/armips + commit: 7885552b208493a6a0f21663770c446c3ba65576 + url: https://github.com/Kingcom/armips.git + - type: git + dest: ext/discord-rpc + commit: 963aa9f3e5ce81a4682c6ca3d136cddda614db33 + url: https://github.com/discordapp/discord-rpc.git + - type: git + dest: ext/glslang + commit: dc11adde23c455a24e13dd54de9b4ede8bdd7db8 + url: https://github.com/hrydgard/glslang.git + - type: git + dest: ext/miniupnp + commit: 3a87be33e797ba947b2b2a5f8d087f6c3ff4d93e + url: https://github.com/hrydgard/miniupnp.git + - type: git + dest: ext/native/tools/prebuilt + commit: cbea79dc8fef4d9210e2bac7e7b9b5ff3388197a + url: https://github.com/hrydgard/ppsspp-freetype.git + - type: git + dest: ext/rapidjson + commit: 73063f5002612c6bf64fe24f851cd5cc0d83eef9 + disable-submodules: true + url: https://github.com/Tencent/rapidjson.git + - type: git + dest: ext/zstd + commit: a488ba114ec17ea1054b9057c26a046fc122b3b6 + url: https://github.com/facebook/zstd.git + - type: git + dest: ffmpeg + commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 + url: https://github.com/hrydgard/ppsspp-ffmpeg.git + - type: git + dest: pspautotests + commit: 682a4303aba63a50c91ae0fa6928c9dac8ca9b92 + url: https://github.com/hrydgard/pspautotests.git + # PPSSPP Flathub Workaround - END # PPSSPP - END # External manifests end - - name: retrodeck buildsystem: simple build-commands: # Prep the ES-DE and RetroArch config files - I will have to SED/XMLSTARLET them soon - - rm -rf /app/share/emulationstation/resources/systems/unix/es_find_rules.xml - - cp es-configs/es_find_rules.xml /app/share/emulationstation/resources/systems/unix/ - - rm -rf /app/share/emulationstation/resources/systems/unix/es_systems.xml - - cp es-configs/es_systems.xml /app/share/emulationstation/resources/systems/unix/ + - rm -rf /app/share/emulationstation/resources/systems/unix/es_find_rules.xml + - cp es-configs/es_find_rules.xml /app/share/emulationstation/resources/systems/unix/ + - rm -rf /app/share/emulationstation/resources/systems/unix/es_systems.xml + - cp es-configs/es_systems.xml /app/share/emulationstation/resources/systems/unix/ # These must be put in home folder, managed by retrodeck.sh - - cp es-configs/es_settings.xml ${FLATPAK_DEST}/retrodeck/es_settings.xml + - cp es-configs/es_settings.xml ${FLATPAK_DEST}/retrodeck/es_settings.xml # Logo, res - - rm -f /app/share/emulationstation/resources/graphics/splash.svg - - cp res/splash.svg /app/share/emulationstation/resources/graphics/splash.svg - - cp res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg + - rm -f /app/share/emulationstation/resources/graphics/splash.svg + - cp res/splash.svg /app/share/emulationstation/resources/graphics/splash.svg + - cp res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg # Tools - - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ - - cp tools/* ${FLATPAK_DEST}/retrodeck/tools/ - - mv -f es-configs/tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/ - - - cp retrodeck.sh /app/bin/retrodeck.sh - - chmod +x /app/bin/retrodeck.sh - + - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ + - cp tools/* ${FLATPAK_DEST}/retrodeck/tools/ + - mv -f es-configs/tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/ + + - cp retrodeck.sh /app/bin/retrodeck.sh + - chmod +x /app/bin/retrodeck.sh + # Desktop entry - - cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop + - cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop # TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit) - # Configuring emulators: - - mkdir -p ${FLATPAK_DEST}/retrodeck/emu-configs/ - # RetroArch - - cp emu-configs/retroarch* ${FLATPAK_DEST}/retrodeck/emu-configs/ - # Dolphin - - cp emu-configs/Dolphin/* ${FLATPAK_DEST}/retrodeck/emu-configs/ - # Yuzu - - cp emu-configs/yuzu-qt-config.ini ${FLATPAK_DEST}/retrodeck/emu-configs/ - # Pcsx2 - - cp emu-configs/PCSX2_ui.ini ${FLATPAK_DEST}/retrodeck/emu-configs/ - - cp emu-configs/GS.ini ${FLATPAK_DEST}/retrodeck/emu-configs/ - - cp emu-configs/PCSX2_vm.ini ${FLATPAK_DEST}/retrodeck/emu-configs/ - # MelonDS - - cp emu-configs/melonDS.ini ${FLATPAK_DEST}/retrodeck/emu-configs/ - # CITRA - - cp emu-configs/citra-qt-config.ini ${FLATPAK_DEST}/retrodeck/emu-configs/ - # RPCS3 - - cp emu-configs/config.yml ${FLATPAK_DEST}/retrodeck/emu-configs/ + # Initializing default emulator configs + - cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/ # Overlays - - cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays + #- cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays Disabled in 0.4.2b as it will be introduced in 0.5.0b # Placing appdata - - mkdir -p ${FLATPAK_DEST}/share/appdata - - cp net.retrodeck.retrodeck.appdata.xml ${FLATPAK_DEST}/share/appdata + - mkdir -p ${FLATPAK_DEST}/share/appdata + - cp net.retrodeck.retrodeck.appdata.xml ${FLATPAK_DEST}/share/appdata sources: - type: git diff --git a/retrodeck.sh b/retrodeck.sh index bd22bd7b..c4e34e89 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -1,11 +1,17 @@ #!/bin/bash -lockfile="$HOME/retrodeck/.lock" # where the lockfile is located +lockfile="/var/config/retrodeck/.lock" # where the lockfile is located version="$(cat /app/retrodeck/version)" # version info taken from the version file rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodecck emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path +# We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions +if [ -f "$HOME/retrodeck/.lock" ] +then + mv "$HOME/retrodeck/.lock" $lockfile +fi + # Functions area dir_prep() { @@ -16,7 +22,7 @@ dir_prep() { real="$1" symlink="$2" - echo -e "\nDIR PREP: Moving $symlink in $real" #DEBUG + echo -e "\n[DIR PREP]\nMoving $symlink in $real" #DEBUG # if the dest dir exists we want to backup it if [ -d "$symlink" ]; @@ -46,38 +52,9 @@ dir_prep() { rm -rf "$symlink.old" fi - #DEBUG - previous_dir=$PWD - cd $real - cd .. - echo "We are in $PWD" #DEBUG - ls -ln - cd $previous_dir - #DEBUG - - echo $symlink is now $real + echo -e "$symlink is now $real\n" } -cfg_init() { - # Initializing retrodeck config file - #rdconf=/var/config/retrodeck/retrodeck.cfg - - # if I got a config file already I parse it - #if [] - - #else - # touch $rdconf - #fi - - #$roms_folder > /var/config/retrodeck/retrodeck.cfg - return -} - -# is_mounted() { -# # This script checks if the provided path in $1 is mounted -# mount | awk -v DIR="$1" '{if ($3 == DIR) { exit 0}} ENDFILE{exit -1}' -# } - tools_init() { rm -rfv /var/config/retrodeck/tools/ mkdir -pv /var/config/retrodeck/tools/ @@ -89,9 +66,14 @@ tools_init() { standalones_init() { # This script is configuring the standalone emulators with the default files present in emuconfigs folder + echo "----------------------" echo "Initializing standalone emulators" + echo "----------------------" # Yuzu + echo "----------------------" + echo "Initializing YUZU" + echo "----------------------" # removing dead symlinks as they were present in a past version if [ -d $rdhome/bios/switch ]; then find $rdhome/bios/switch -xtype l -exec rm {} \; @@ -102,34 +84,47 @@ standalones_init() { dir_prep "$rdhome/bios/switch/registered" "/var/data/yuzu/nand/system/Contents/registered" # configuring Yuzu mkdir -pv /var/config/yuzu/ - cp -fv $emuconfigs/yuzu-qt-config.ini /var/config/yuzu/qt-config.ini + cp -fvr $emuconfigs/yuzu/* /var/config/yuzu/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/yuzu/qt-config.ini dir_prep "$rdhome/screenshots" "/var/data/yuzu/screenshots" # Dolphin + echo "----------------------" + echo "Initializing DOLPHIN" + echo "----------------------" mkdir -pv /var/config/dolphin-emu/ - cp -fv $emuconfigs/Dolphin/* /var/config/dolphin-emu/ + cp -fvr "$emuconfigs/dolphin/"* /var/config/dolphin-emu/ dir_prep "$rdhome/saves" "/var/data/dolphin-emu/GBA/Saves" - dir_prep "$rdhome/saves" "/var/data/dolphin-emu/Wii" + dir_prep "$rdhome/saves" "/var/data/dolphin-emu/Wii" # pcsx2 + echo "----------------------" + echo "Initializing PCSX2" + echo "----------------------" mkdir -pv /var/config/PCSX2/inis/ - cp -fv $emuconfigs/PCSX2_ui.ini /var/config/PCSX2/inis/ + cp -fvr $emuconfigs/PCSX2_ui.ini /var/config/PCSX2/inis/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini - cp -fv $emuconfigs/GS.ini /var/config/PCSX2/inis/ - cp -fv $emuconfigs/PCSX2_vm.ini /var/config/PCSX2/inis/ + cp -fvr $emuconfigs/GS.ini /var/config/PCSX2/inis/ + cp -fvr $emuconfigs/PCSX2_vm.ini /var/config/PCSX2/inis/ dir_prep "$rdhome/states" "/var/config/PCSX2/sstates" dir_prep "$rdhome/screenshots" "/var/config/PCSX2/snaps" dir_prep "$rdhome/.logs" "/var/config/PCSX2/logs" + dir_prep "$rdhome/bios" "$rdhome/bios/pcsx2/bios" # MelonDS + echo "----------------------" + echo "Initializing MELONDS" + echo "----------------------" mkdir -pv /var/config/melonDS/ dir_prep "$rdhome/bios" "/var/config/melonDS/bios" - cp -fv $emuconfigs/melonDS.ini /var/config/melonDS/ + cp -fvr $emuconfigs/melonDS.ini /var/config/melonDS/ # Replace ~/retrodeck with $rdhome as ~ cannot be understood by MelonDS sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/melonDS/melonDS.ini # CITRA + echo "----------------------" + echo "Initializing CITRA" + echo "----------------------" mkdir -pv /var/config/citra-emu/ cp -fv $emuconfigs/citra-qt-config.ini /var/config/citra-emu/qt-config.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini @@ -138,8 +133,11 @@ standalones_init() { #sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini # RPCS3 + echo "----------------------" + echo "Initializing RPCS3" + echo "----------------------" mkdir -pv /var/config/rpcs3/ - cp -fv $emuconfigs/config.yml /var/config/rpcs3/ + cp -fvr $emuconfigs/config.yml /var/config/rpcs3/ # PICO-8 # Moved PICO-8 stuff in the finit as only it knows here roms folders is @@ -165,11 +163,26 @@ post_update() { # post update script echo "Executing post-update script" - # Doing the dir prep as we don know from which version we came - dir_prep "$rdhome/.downloaded_media" "/var/config/emulationstation/.emulationstation/downloaded_media" - dir_prep "$rdhome/.themes" "/var/config/emulationstation/.emulationstation/themes" + # Unhiding downloaded media from the previous versions + if [ -d "$rdhome/.downloaded_media" ] + then + mv -fv "$rdhome/.downloaded_media" "$rdhome/downloaded_media" + fi + + # Unhiding themes folder from the previous versions + if [ -d "$rdhome/.themes" ] + then + mv -fv "$rdhome/.themes" "$rdhome/themes" + fi + + # Doing the dir prep as we don't know from which version we came - Remove in a few versions + dir_prep "$rdhome/downloaded_media" "/var/config/emulationstation/.emulationstation/downloaded_media" + dir_prep "$rdhome/themes" "/var/config/emulationstation/.emulationstation/themes" mkdir -pv $rdhome/.logs #this was added later, maybe safe to remove in a few versions - cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml #this is resetting es_systems, now we need it but in the future I should think a better solution + + # Resetting es_systems, now we need it but in the future I should think a better solution, maybe with sed + cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml + ra_init standalones_init tools_init @@ -257,8 +270,8 @@ finit() { cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml # ES-DE preparing themes and scraped folders - dir_prep "$rdhome/.downloaded_media" "/var/config/emulationstation/.emulationstation/downloaded_media" - dir_prep "$rdhome/.themes" "/var/config/emulationstation/.emulationstation/themes" + dir_prep "$rdhome/downloaded_media" "/var/config/emulationstation/.emulationstation/downloaded_media" + dir_prep "$rdhome/themes" "/var/config/emulationstation/.emulationstation/themes" # PICO-8 dir_prep "$roms_folder/pico8" "$rdhome/bios/pico8/bbs/carts" #this is the folder where pico-8 is saving the carts diff --git a/tools/clean-miximages.sh b/tools/clean-miximages.sh deleted file mode 100644 index e11b17e6..00000000 --- a/tools/clean-miximages.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -zenity \ ---icon-name=net.retrodeck.retrodeck \ ---question \ ---no-wrap \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---title "RetroDECK" \ ---ok-label "Yes" \ ---cancel-label "No" \ ---text="This tool is will clean the MixImages in order to beautify the theme.\nDo you want to delete them?" - -if [ $? == 0 ] #yes - Internal -then - find ~/retrodeck/.downloaded_media -name miximages -type d -print0|xargs -0 rm -rfv -- -fi - -zenity \ ---icon-name=net.retrodeck.retrodeck \ ---info \ ---no-wrap \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---title "RetroDECK" \ ---text="Miximages successfully cleaned, please restart RetroDECK to reload the games list." \ No newline at end of file diff --git a/tools/configure-emulators.sh b/tools/configure-emulators.sh deleted file mode 100644 index a7a2d8d9..00000000 --- a/tools/configure-emulators.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -zenity --title "RetroDECK" --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --text="Doing some changes in the emulator's configuration may create serious issues,\nplease continue only if you know what you're doing.\n\nDo you want to continue?" -if [ $? == 1 ] #no -then - exit 0 -fi - -border="$(zenity --list \ ---title "RetroDECK" \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---text="Which emulator do you want to configure?" \ ---hide-header \ ---column=Border \ -"RetroArch" \ -"Citra" \ -"Dolphin" \ -"MelonDS" \ -"PCSX2" \ -"PPSSPP" \ -"RPCS3" \ -"Yuzu")" - -if [ $border == "RetroArch" ] -then - retroarch -elif [ $border == "Citra" ] -then - citra-qt -elif [ $border == "Dolphin" ] -then - dolphin-emu -elif [ $border == "MelonDS" ] -then - melonDS -elif [ $border == "PCSX2" ] -then - pcsx2 -elif [ $border == "PPSSPP" ] -then - PPSSPPSDL -elif [ $border == "RPCS3" ] -then - rpcs3 -elif [ $border == "Yuzu" ] -then - yuzu -fi \ No newline at end of file diff --git a/tools/move-roms.sh b/tools/move-roms.sh deleted file mode 100644 index a6bfafce..00000000 --- a/tools/move-roms.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -if [ -d ~/retrodeck/roms ] && [ -d /run/media/mmcblk0p1/retrodeck/roms ] -then # found both internal and sd folders - zenity --title "RetroDECK" --warning --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --text="I found a roms folder both in internal and SD Card,\nin order to make this tool useful you should remove one of the two or merge them." - exit 0 -fi - -if [ -d ~/retrodeck/roms ] && [ ! -d /run/media/mmcblk0p1/retrodeck/roms ] -then # found internal folder and not the external - roms_path=~/retrodeck - new_roms_path=/run/media/mmcblk0p1/retrodeck -fi - -if [ ! -d ~/retrodeck/roms ] && [ -d /run/media/mmcblk0p1/retrodeck/roms ] -then # found external folder and not the internal - roms_path=/run/media/mmcblk0p1/retrodeck - new_roms_path=~/retrodeck -fi - -zenity --title "RetroDECK" --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --text="Should I move the roms from\n\n$roms_path/roms\n\nto\n\n$new_roms_path/roms?" -if [ $? == 0 ] #yes -then - mkdir -p $new_roms_path - mv -f $roms_path/roms $new_roms_path/roms - rm -f /var/config/emulationstation/ROMs - ln -s $new_roms_path/roms /var/config/emulationstation/ROMs - rm -f $roms_path/roms -fi diff --git a/tools/overlays.sh b/tools/overlays.sh deleted file mode 100644 index d483a20e..00000000 --- a/tools/overlays.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -border="$(zenity --list \ ---title "RetroDECK" \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---text="Select the borders type" \ ---hide-header \ ---column=Border \ -"None" \ -"Light" \ -"Dark")" - -if [ $border == "None" ] -then - return -elif [ $border == "Light" ] -then - return -elif [ $border == "Dark" ] -then - return -fi - -shader="$(zenity --list \ ---title "RetroDECK" \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---text="Select the shader type" \ ---hide-header \ ---column=Border \ -"None" \ -"Retro")" - -if [ $shader == "None" ] -then - return -elif [ $shader == "Retro" ] -then - return -fi \ No newline at end of file