Galaxy-Flasher, the ultimate graphical tool for Samsung devices

.

the version 0.5.1 tried to follow the familliar windows Odin3 ergonomy
.


.

Background

After witnessing a new Linux user, who had just switched over from Windows, struggle with using Odin4’s CLI, @ethical_haquer decided to make a GUI for Thor: Thor GUI. With the release of v0.5.0, Thor GUI was renamed Galaxy Flasher, and it now supports Thor and Odin4.
.

XDA Forum :
https://xdaforums.com/t/linux-galaxy-flasher-a-gui-for-samsung-flash-tools.4636402

sources :

installation as a Flatpak :

Galaxy-Flasher Documentation

.

After three months of development, v0.6.0 is finally here!

Galaxy-Flasher Releases

.
Just like v0.5.0, this is basically a complete re-write of the app.
The main thing that changed is how the UI (User Interface) looks. In fact, v0.6.0-alpha is the very first release of Galaxy Flasher (and Thor GUI) where the UI has changed from having a layout like Odin (as in Windows Odin 3). Instead, Galaxy Flasher now has a page-based interface. Also, you may notice that the terminal (Log Tab) is no longer the focus of the interface.

Be sure to check out the updated documentation, whether this is your first time using Galaxy Flasher, or if you have used GF before.
A lot has changed:

  • Switched to a new page-based UI.
  • Dropped support for PyThor. (for now)
  • Switched to plug-in based flash-tools. Now, the main file is free of flash-tool specific code (mostly). Instead, it loads flash-tool plugins. (This will be helpful when add Heimdall support down the road.)
  • Updated to GNOME 47.
  • Added support for small screens, like Linux phones. In fact, GF is fully usable on pmOS (post market OS), tested on the dev device.
  • Added a “build-flatpak.sh” script to make it slightly easier to install Galaxy Flasher. ( plan to make it easier in the future)
  • Galaxy Flasher has an icon now! in Inkscape. It’s not perfect though, and will probably be tweaked in the future.
  • Improved logging.
  • and more…

Fixed the following issues:

  • #16 Vte-related issue.
  • #22 Galaxy Flasher only runs if the system language is English.
  • #23 Vte-related issue.

Keep in mind that there is no log-output in the app now. Currently, If GF doesn’t get expected output, the app may just lock up. In that case, run GF from the terminal to get the log output for opening an issue.

What’s changed in v0.6.0-alpha compared from v0.5.1.

Thanks for your patience waiting for this release!

Galaxy-Flasher Releases

Disclaimer (v0.6.0-alpha)

Currently, Galaxy Flasher is in an Alpha stage. There are known (and unknown) bugs. A list of missing features and know bugs in the latest release can be found below.

Known Bugs

  • The docs need to be updated to tell users that they need to edit the udev rules before using GF, see here.
  • You have to restart Galaxy Flasher after changing a flash-tool executable for it to apply, see here.
  • build-python.sh is broken, don’t use it.
7 Likes

The developper, @ethical_haquer, is very active and kindly reactive,

For now, (end 2024) installation on linux is a bit tricky, even well descripted,
But a future “Flatpak Paquage” is planned…

.

Galaxy-Flasher is a GUI that can yet manage various CLI
(currently Thor, Odin4linux and PyThor (in development))

for the moment, it only works on machine running Linux,
but in a near future it could work on other platforms…
the dev said :

Yeah, Heimdall is not user-friendly at all, sadly.
I will add support for Heimdall in a future release of Galaxy Flasher. Probably not in the next release (v0.5.2), but hopefully in v0.5.3. Then I’ll just have to make some instructions on how to run Galaxy Flasher on macOS.

.

How you can help

Here are some ways you can help to improve/finish Galaxy-Flasher :

  • Galaxy-Flasher needs a logo! If you would be interested in making one, please open a new issue.
  • Find and report bugs. If you find an issue that isn’t listed as a known bug, and isn’t listed here, please let me know!
  • Help translate Galaxy Flasher into your language. Refer to this readme for more info. NOTE: Currently, the en.json file is in dire need of updating after the re-write, so please don’t add other translations until it is updated. Thanks!
  • Improve the code. Pull requests are always welcome!
  • Suggest an improvement by opening up a feature request!

.

if you need guidance,

(for example for now, system language have to be english, or you must open up “galaxy-flasher.py” and change the line “locale_file = f”{swd}/locales/{lang}.json"" to “locale_file = f”{swd}/locales/en.json"". Then re-run “build.sh”.)

feel free to ask me (@piero), or here in this thread

Installation - Galaxy Flasher documentation



Installation - Galaxy Flasher documentation

Hello,

I’ve just manage to make it run on my laptop !
Looks cool

First question : in the documentaiton, I read You will have to restart Galaxy Flasher after changing this setting for it to apply.
My understanding is that this apply to the Flash Tool selection.

But closing the app and starting it again, I still have to select the flash tool.

But for the other options, my choices are kept in memory. So maybe the documentation should read :

You will have to restart Galaxy Flasher after changing these setting for them to apply.

Then my build isn’t capable of flashing anything, nor recognizing a device… we will see this tomorow !

I achieve to flash the SM-T8413 with e/OS 1.16 r from ronZ \o/
but with the traditional method, I couldn’t get Galaxy-Flasher working.

Thats right ! Thanks for pointing this, Before i understand this, i had just read :

  • Setting options through the Options Tab is buggy.

Then i found that i have to rerun the app.

.

It works for me flashing stock SamsungOS then TWRP on a Galaxy s4mini using Galaxy-Flasher 0.5.1 (with Odin4).
you must have Odin4 installed, and point to its path in the Settings Tab

In the Settings Tab, there are links to install Odin4.

ha, i missed that, thank you for feedback !

You are welcome camarade…
because of the recent rewriting of the apps, and its opening to various protocols, there are still some imperfections, and the documentation is work in progress too.
That’s why i propose support here, also because i like this project and the dev attitude…

To @all, do not hesitate to ask here first for usage, and on XDA, Codeberg, or GitHub for improving the app.

is sudo apt install odin enough ?

1 Like

i think aswer is no. as i believe the leaked Odin4linux is Samsung proprietary, so if i am right, it cannot be included in linux distribution repo…

I don’t have access to a computer this week-end to verify in Galaxy-Flasher,
the link in the setting tab should point to download
https://xdaforums.com/t/official-samsung-odin-v4-1-2-1-dc05e3ea-for-linux.4453423/
Also, you can read this page for instructions
Official Odin Tool for Linux: Download, Install, and Flash Firmware

But in our case, i think download Odin4 and extract it into the Galaxy-Flasher folder, then point to its path in the setting tab should be suffisant.

I have not yet tested it myself, but Thor is clearly open source.

1 Like

Hello,

I managed to make it work with Odin4 and put the Galaxy Tab S2 9.7 Wi-Fi (2016) - “gts210vewifi” to e/OS 2.2 R thank to @ronnz98 build !

It was 2 week ago, could have report here though …

Today, I’m trying to run it again, I get this error :

$ python3 galaxy-flasher.py
Traceback (most recent call last):
  File "/home/didou/Bureau/Samsung/galaxy-flasher/galaxy-flasher-v0.5.1-alpha-linux/galaxy-flasher.py", line 33, in <module>
    gi.require_version("Vte", "3.91")
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129, in require_version
    raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace Vte not available for version 3.91

I’ll try to update my distro …

After multiple ./build.sh attempts (as documented in post # 2),
I have encountered success using :

$ flatpak run com.ethicalhaquer.galaxyflasher

.

Installation (and usage) as a .py file is announced as currently not complete (due to the recent rewrite)

Installation - Galaxy Flasher documentation

I’ve tried the flatpack method without succes, that’s why i’ve been doing it the pithon way.

it worked last time, but not now …

after a bit more digging, it appears that i successfully made the flatpack, I even have a icon in my app panel !

but the sofware, I can’t make it work …

I’ve been using the heimdall method, thougt.

I now have a samsung S7 herolte on e/OS 2.4.1 official <3

1 Like

If you follow these steps, and then run “./build.sh”, it should work.

https://xdaforums.com/t/linux-galaxy-flasher-a-gui-for-samsung-flash-tools.4636402/

1 Like

it worked !
:white_check_mark:

1 Like

Hello @piero!
I really appreciate you making these kind of tutorials and helping out new users, thanks.
I just wanted to let you know, Galaxy Flasher v0.6.0 has been released!
There are a few known bugs, which will be fixed in the next release, so just be aware of that. If you find a new bug, please let me know!

Also, do you want me to mention this thread on Codeberg/GitHub/XDA, as somewhere for users to ask questions? Let me know what you think. Thanks again!

5 Likes

Hello there !

Thanks and congrats for the new release !

I’ve managed to build it as a flatpack. I’ve set the flash tool and restart the app, so I can access to the download page, but I am stuck on :

IMPORTANT : You must set up your system to detect your device on LINUX host.
create this file

my prompt send back :

etc/udev/rules.d$ sudo echo "SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"" > 51-android.rules
bash: 51-android.rules: Permission non accordée

EDIT : I’ve tryed sudo gedit to create the file and it worked. I start over my machine and let you know how it goes.

SECOND EDIT : the file is there, with it’s line, but GF still can’t find my device.
I should try the unload a module cdc_acm before downloading [...] for older kernels

THIRD EDIT : damned, i’ve got this :

sudo rmmod cdc_acm
[sudo] Mot de passe de didou : 
rmmod: ERROR: Module cdc_acm is not currently loaded

Galaxy Flasher - A GUI for Samsung Flash Tools - postmarketOS Wiki

2 Likes

Just to clarify, you mean Galaxy Flasher says “No Samsung devices were found!”, right?
You’re probably on a new enough kernel to not need to do anything about cdc_acm, especially if it’s not even on your system.
What flash-tool (Odin4 or Thor) are you using with Galaxy Flasher?

odin4 is the flasher tool i use (sorry for the strange sentence stence, but my answer must be 20 characters long)