Magic Lantern 2025: Midsummer Edition

Started by names_are_hard, June 21, 2025, 12:57:15 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

names_are_hard

It's been a long journey, but official Magic Lantern builds return, for all cameras.
https://www.magiclantern.fm/downloads.html

What does this mean for you?
There will be regular releases, for all cams.
Releases will be tested.
Official releases will be on the main website, never in forum threads.
Reported bugs will be fixed.
New cams will be supported.  Over time, the range of supported cameras will grow.



Summary:
Around 2020, our old lead dev, a1ex, after years of hard work, left the project.  The documentation was fragmentary.  Nobody understood the build system.  A very small number of volunteers kept things alive, but nothing worked well.  Nobody had deep knowledge of Magic Lantern code.

Those that remained had to learn how everything worked, then fix it.  Then add support for new cams without breaking the old ones.

We have an updated website.  We have a new repo.  We have new supported models.  We have a new build system.  We have cleaner, faster, smaller code.

Introducing the new Magic Lantern Core Team:
- g3gg0
- kitor
- names_are_hard
- WalterSchulz

I declare myself, names_are_hard, to be the new lead dev.  At times, the only dev!

We're using Git now.  We build on modern OSes with modern tooling.  We compile clean, no warnings.  This was a lot of work, and invisible to users, but very useful for devs.  It's easier than ever to join as a dev.

If you would like to improve ML, or make your cam work - ask us how.  We can teach you, and we need devs.  The main thing you need is knowledge of C, which is a small language that has good tutorials.


Cam support:
The old supported cams continue to work well.  The new cams at this time have fewer features, but they support two more recent generations of Digic; 6 and 7.  Thus they represent a great deal of work; these were new hardware platforms and old ML code was not designed to support this variation in hardware.  Many fundamental changes in how the code supports different generations were made, all while carefully not breaking support for old cams.

Newly supported cameras:
- 200D (Kiss X9, Rebel SL2)
- 6D2 (6D Mark II)
- 750D (Rebel T6i, Kiss X8i)
- 7D2 (7D Mark II)
(cam specific discussion can happen in these threads)

QuoteUpdate:

From comments to our announcement we found some people confused by new dev builds for old cameras and available features. Dev builds combine what previously was included in Nightly builds, crop_rec_4k, lua_fix and some other branches.

At this moment they don't include the enhancements you may know from e.g. Reddeercity or Bilal's builds.

More detail is given in the separate threads, but generally the new cams have utility features such as:
- intervalometer
- custom crop marks
- shutter count
- 30 min LV powersave disable (good for HDMI out webcam mode)

200D has working raw video, with DPAF, and Dual ISO.  The raw video output is a bit quirky, but useful results can be obtained with patience.  Masc has added support in mlvapp.

At ISO 100, the 200D has two stops more dynamic range than EOS M.  It has more DR than EOS M at every ISO.  It has more DR than 5D3 at ISO 100 and 200!

Now that we have a solid framework to build on, extending these cams with more features will be easier, and extending to Digic 8 and above becomes possible.  Porting working features from 200D to similar cams is quite practical.

Bonus new feature: we now know how to extend maximum recording time for MOV / MP4.  This is enabled on 200D.  Porting to other cams is not hard (with the exception of Digic 6).  Thanks to Space928 for finding a timer constant that allowed defining higher (or lower!) limits.


Features that almost made it:
Trap focus on 7D2.  Lots of fiddly GUI stuff made this take too long.  When finished, porting to others cam should be easy.

Raw video on 6D2 and 7D2.  200D was easier for technical reasons.  7D2 will likely be difficult.  6D2 is somewhere in the middle.  The fundamental problem is a lack of understanding of EDMAC.  Improvements here may be slow, but are likely to enable other, new features, perhaps including on older cams.


Credits:
Repo resurrector: names_are_hard
Build system moderniser: names_are_hard
Graphics subsystem groovifier: kitor
Firmware fettler: Indy (arm.indy)

Chief Digic 6 and 7 hacker: names_are_hard
Chief Digic 8 and X hacker: kitor
Chief camera tester: WalterSchulz

Website resurrector: kitor
Backend wranglers: kitor, g3gg0
Social media monster: kitor

Grinchmeister General: WalterSchulz

Special mention early bird devs: Turtius, Coon
CHDK ambassadors: reyalp, srsa
Primary PTP pilot: petabyte
Spiritual maintainers: theBilalFakhouri, Danne

Gone but never forgotten: a1ex
OG: Trammel Hudson

Unsung heroes: the many other people who contributed their time and knowledge towards the goal of this project.  If you'd like, comment below and tell people what you did!  My apologies for not naming everyone, but it's a long list :)

petabyte


onlykhaz

 :o  :o  :o  What amazing news!!! Good for the new cameras to come.  ;D

Just to clarify, what does this mean for the old Eos M?, A more stable build with new functionalities? or maybe something else?

names_are_hard

This release has no new code specifically for EOS M, or any camera outside of the 4 listed above.  However it does contain many bugfixes that will apply to all cams.  Whether that matters to you depends on whether you were hitting any of those bugs.

It's easy to swap builds to test.  Probably M will not benefit much at this time; in the medium term I expect the good features from Bilal and Danne builds to be integrated, so that we can get back to having one build that is the best choice for everyone.

Jonneh

Fantastic!

At least in the cams I know and love, the 5D3 and 100D, after the amazing basic capabilities were worked out during the previous decade, ML has received some major usability boosts in the last couple of years thanks to theBilalFakhouri and a.sintes, building on Danne's superb builds. I'm sure the same is true for other cams. As you say though, Names, builds have become less unified and harder to track and understand, so a single build combining the best features of the various forks sounds great. Well done on streamlining things behind the scenes---I'm not much of a dev in general, but I can imagine the difference this must make.

Then on the software side ilia and masc's (hope I'm getting the credits right here) mlvapp is better than ever and the new Kinochrome tool from doktorkrek gives real-time playback of mlvs.

And added to all this, the market seems to have settled on 2-4K-ish as the sweetspot for video and hasn't budged much on this judgement for years, the 'look' of older sensors has stood the test of time and is still very much valued, and many ML features still haven't found their way into many new cameras. So ML is in a great place!

Massive thanks to all those shouted out and any that have been missed---you peeps are absolute wizards.
5D3 / 100D

htitman

Howard Titman
7D2

whitelight

A huge thank you to the amazing development team!

I just want to say how exciting it is to see ML still growing and reaching new cameras. I can only imagine how much effort went into it.

GullRaDriel

Amazing news !
Good work everyone, very nice to see the project making a come back :-)

Audionut

Congratulations everyone.

What a pleasant surprise to see this progress.

yourboylloyd

This is incredible! Great work

Also incredible to see that you were able to wake Audionut lol
Join the ML discord! https://discord.gg/H7h6rfq

Ozlefty

Awesome news, thank you from a 6D II user.


reddeercity

Looking like some updates, good for the d6 and up but I see no love for D4 ,
Where did all the Experimental builds go to on the download page ? crop_rec,10bit mlv_rec, etc. ..
All I see is basic vanilla builds , functional at best (sorry done mean to upset anyone)
it like that whole download page gone. Or is it that you don't what to update/support D4 Camera anymore ? just check the latest 5D2 download "magiclantern.2025-06-20.5D2.212" , not many thing work well,(wondering if any one did test before the build was posted?)
anyways mlv_lite dosen't work very good (In fact it never did work good on D4 camera e.g. 5D2,50D is was for lossless and being D4 don't have lossless it really hurt 5D2)
Crop_Rec that in the builds dose not work at all , Liveview freezes on any Aspect Ratio above 16x9(e.g. 5x3,4x3 etc. ...) (why is that? it never did before i cuold do 1880x1248 @ 24fps without Liveview freezeing etc. ...

Just take this with a grain of salt , I my not understand what going on here with the fourm being everything has changed and no one actually work here on the forum anymore they just post announcements or some comments here & there , that is really unfortunate because I learn a lot when dev post data,results etc. ..... but now it dark here until there's some announcements on developments , but no real information in how all this was found , that would help other I would think (it would help me more understand the thought processes on the development path)

I do offer my gratitude to all past & present developer , with them I would never had got this far, hope to see more discussion on code, routines & reverse engineering on the fourm
Happy Summer  :D
 

PaulHarwood856

Quote from: Jonneh on June 22, 2025, 12:11:32 AMFantastic!

At least in the cams I know and love, the 5D3 and 100D, after the amazing basic capabilities were worked out during the previous decade, ML has received some major usability boosts in the last couple of years thanks to theBilalFakhouri and a.sintes, building on Danne's superb builds. As you say though, builds have become less unified and harder to track and understand, so a single build combining the best features of the various forks sounds great. Well done on streamlining things behind the scenes---I'm not much of a dev in general, but I can imagine the difference this must make.

Then on the software side ilia and masc's (hope I'm getting the credits right here) mlvapp is better than ever and the new Kinochrome tool from doktorkrek gives real-time playback of mlvs.

And added to all this, the market seems to have settled on 2-4K-ish as the sweetspot for video and hasn't budged much on this judgement for years, the 'look' of older sensors has stood the test of time and is still very much valued, and many ML features still haven't found their way into many new cameras. So ML is in a great place!

Massive thanks to all those shouted out and any that have been missed---you peeps are absolute wizards.

Hello Jonneh,

"the new Kinochrome tool from doktorkrek"
 
Is this tool integrated in MLV App? Or do I need to download this separately? And does this work for PC and Mac?

Thank you for sharing.

- Paul

Jonneh

Quote from: PaulHarwood856 on June 22, 2025, 10:48:46 AMIs this tool integrated in MLV App? Or do I need to download this separately? And does this work for PC and Mac?

Hi Paul. It's a standalone player/editor for Win/Mac/Linux. See this thread: https://www.magiclantern.fm/forum/index.php?topic=27289.0
5D3 / 100D

SebastianC

This is great news!! I am really like ML tool and canon raw colour!! C++ is too hard for me, I just use ML , but can not help develop ML. Still glad, you make my day!               

Mod intervention: Full quote removed. Please honor forum rules and netiquette. Quote as necessary and in a sensible way!

kitor

Quote from: reddeercity on June 22, 2025, 08:26:56 AMLooking like some updates, good for the d6 and up but I see no love for D4 ,
Where did all the Experimental builds go to on the download page ? crop_rec,10bit mlv_rec, etc. ..
All I see is basic vanilla builds , functional at best (sorry done mean to upset anyone)
it like that whole download page gone. Or is it that you don't what to update/support D4 Camera anymore ? just check the latest 5D2 download "magiclantern.2025-06-20.5D2.212" , not many thing work well,(wondering if any one did test before the build was posted?)

Hey,
truth is between me, Names and Walter there's not a lot of Digic 4/5 cameras we can run any tests on. And the entire old "qemu testing framework" is gone - those tests relied on a very specific ROM dumps we don't have access too. Unless I will find them somewhere in server files as I'm still digging through those.

If you see any bugs, please report them. There was a lot done in the ML source code internals, if there's a regression we will try to fix it. Of course that needs a bug report and someone to test if the fixed code works :)

With Walter we decided the only "old relevant" builds to keep for now were Lua fix and latest nightly. New builds merge multiple branches (nightly, crop_rec_4k, lua_fix, probably more - Names will remember).

Too many Canon cameras.
If you have a dead R or RP mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

SebastianC

"Oops, I didn't realize the citation guidelines—sorry for the trouble!"

names_are_hard

Quote from: reddeercity on June 22, 2025, 08:26:56 AMLooking like some updates, good for the d6 and up but I see no love for D4 ,
Where did all the Experimental builds go to on the download page ? crop_rec,10bit mlv_rec, etc. ..
All I see is basic vanilla builds , functional at best (sorry done mean to upset anyone)

D4 got lots of bug fixes :)

This is a change in how the repo is organised.  Long lived branches make development difficult, especially merges.  Keeping track of what code is good, and under what conditions it works, becomes very hard.  The old repo had a lot of branches and I never knew which I should be using.

It is policy that there are no long lived branches now.  This doesn't mean the cool features that were in branches before are dead.  It means I want to keep them, by taking that code into the main branch.  We make everything work well on all cams.  Then nobody has to look for branches, it's all in one place.

Crop_rec, for example, is already in the main branch.  This includes 10 bit raw.  While this release adds support for new cams, the idea is that it will support old cams just as well as before, all in one branch.

The official repo is now a merged code base containing many old branches: lua_fix, crop_rec_4k_mlv_snd, qemu, unified, 70D code (I forget the branch name), and others.  Merging in more branches is planned.

If you have code that you feel should be in the official repo - let me know where it lives, so I can look at it :)

Quoteanyways mlv_lite dosen't work very good (In fact it never did work good on D4 camera e.g. 5D2,50D is was for lossless and being D4 don't have lossless it really hurt 5D2)

We did test things, but we didn't test all features in detail on all cams.  Changes to older cams were deliberately kept as small as possible (there were many bug fixes that needed changes on all cams).  We tested the older cams less because of this.

If things are worse for the cams you work on, I personally apologise.  Please help me make it better.  If you find reproducible problems, I will work to fix bugs.  The official repo should build easily, if you want to add extra logging, etc.

I want the official repo to work as well as possible on all cams.  It should be where people go first, so it should have the best build for all cams.  If people do cool things outside our repo, that's fine, and we should do the work to take that code when it makes things better.  (Even better is if people help us by making the code easy to merge, etc)

Quoteno one actually work here on the forum anymore they just post announcements or some comments here & there

I like forums, and still post my major findings here.  But forums are a bad place for quick discussion, and a bad place for technical discussion.  It is rare for anyone to respond to my dev posts.  Does happen sometimes!  E.g.:
https://www.magiclantern.fm/forum/index.php?topic=26814.0
https://www.magiclantern.fm/forum/index.php?topic=19737.msg246523#msg246523
https://www.magiclantern.fm/forum/index.php?topic=13746.msg245612#msg245612

Quotebut no real information in how all this was found
My commits are public and I try to leave good comments, so the source code + commits documents the reason for changes:
https://github.com/reticulatedpines/magiclantern_simplified/commits

There is also the dev guide, which is incomplete but is where I try to collect all good information into one place.  Finding things spread across wiki, IRC, google groups and forum was never easy!
https://github.com/reticulatedpines/magiclantern_simplified/blob/dev/developer_guide/02_00_hardware.md

And if you have any questions about what I've found, or how I've found it - ask, and I will answer!

Just because quick discussion is much easier in a chat app, I do recommend you join Discord: https://discord.gg/vJCWmmRJhb
It works in a browser, you should just need to click that link.  It would be great to have more devs involved!

JimD

Hi
Long time user first time poster.
Just want to express my thanks and appreciation for keeping this project alive

see also

https://discuss.pixls.us/t/magic-lantern-is-back-ready-to-kick-ass-and-chew-bubblegum/50805

Stuntman69

Thank you thank you thank you!

Please consider the SIGMA FP! I believe there is incredible potential in that tiny camera! <3

SIGMA FP

SIGMA FP

SIGMA FP

kitor

Magic Lantern is based on top of Canon firmware and hardware, thus it is impossible to port it as is to other cameras.
Too many Canon cameras.
If you have a dead R or RP mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

Slade

Awesome news, hope to see some love for the EF-M cameras. Would love to have ML on my M6 Mark II. Willing to help out and work on a build, haven't done C but willing to learn.

names_are_hard

Great to hear, C is not hard to learn, it's a small language.  You could have a port some time next year if you start now :)  We can give you good advice.

vastunghia

"Mortem fefellit, lucernam magicam resuscitavit"

To me, this is one of the most surprising pieces of news of 2025 — and it's not like 2025 is lacking news :o

Your perseverance is unbelievable.

Kudos to names and the whole team!

Which is the correct place to discuss new nightly builds for existing cams -- such as 5D3?
5D3 for video
70D for photo

iaburn

From a developer's point of view view, and looking into the future for better support on newer cameras, all these improvements are amazing :)

It might be confusing for new users though, as there are official EOS M versions now, that are newer but lacking the latest improvements that makes the EOS M stand above the rest in real world usability.

Only on "the" Facebook channel or looking on the forum, people can get the best version for this old cam, which feels strange.
I get that it would be too hard to get all the improvements on the main branch in a way that are not messing with the "one code base for all" strategy, I'm just thinking at loud