Forgot your password?
typodupeerror
The Gimp Graphics Open Source

GIMP Core Mostly Ported to GEGL 312

Posted by Unknown Lamer
from the high-bit-depth-goats dept.
A longstanding task for the GIMP has been porting the core graphics code from the ancient implementation (dating back to version 1.2) to GEGL. Progress has been hampered by the amount of code relying on details of the implementation of image data: tiles are directly accessed instead of linear buffers, and changing that detail would break the entire core and all plugins. A few weeks ago, two GIMP hackers got together to do some general hacking, and inadvertedly ported the core graphics code to GEGL. They work around the mismatch between GEGL buffers and GIMP tiles by implementing a storage backend for GEGL using the legacy GIMP tiles; to their surprise things Just Worked (tm), and their code branch will become the 2.9 development series once 2.8 is released. With this, 2.10 will finally feature higher bit depth images, additional color spaces (CMYK for one), and hardware accelerated image operations. There's still work to be done: to take advantage of the new features, plugins need to be ported to access GEGL buffers instead of GIMP tiles, but the conversion work is straightforward and current plugins will continue working as well as they do now in the meantime.
This discussion has been archived. No new comments can be posted.

GIMP Core Mostly Ported to GEGL

Comments Filter:
  • by icebike (68054) * on Tuesday April 17, 2012 @03:55PM (#39714943)

    A few weeks ago, two GIMP hackers got together to do some general hacking, and inadvertedly ported the core graphics code to GEGL.

    Is it just me, or does that not pretty much sum up GIMP development since day one?

    Now if these guys would just inadvertently fix the user interface, or perhaps trip and fall into a total redesign, or accidentally re-organize and re-name all the tools using bumbled into industry standard names, and serendipitously selected value scales, they might unintentionally come up with something that, purely as a side effect, resembled, ever so slightly, the principal of Least Astonishment [wikipedia.org].

    • by TheModelEskimo (968202) on Tuesday April 17, 2012 @03:57PM (#39714977)
      You have a pretty low UID; when's the last time you read up on GIMP development? 2002? I think most of the items you mentioned are being addressed right now in various ways.

      Probably not to your satisfaction, though.
      • by BagOBones (574735) on Tuesday April 17, 2012 @03:59PM (#39715015)

        Being address and have been address are sometimes very distant things.

        • by bolthole (122186)

          yeah.
          What I personally find really messed up, is that GEGL is homed under "gimp.org" and has been for a long time.. yet it is only now being merged into gimp core... and only "accidentally" ? !!

          GIMP: Needs Moar Planning

          • Oh, fuck!

            What happened?

            I think I just ported Gimp.

            So. THAT'S what you're calling it, these days.

            Well, it beats "Stinky Pink Twinkie Time".

            Are you SURE?

      • by Alan Shutko (5101)

        Well, it's nice that after 12 years, GEGL is finally making its way into everything. Progress has been a little slower than I'd have liked....

      • by hackula (2596247) on Tuesday April 17, 2012 @04:59PM (#39715783)
        I use GIMP all the time and love it, but the multi window interface still drives me insane. I have heard for ages they are working on single window tabbed version, but I will believe it when I see it.
        • > but I will believe it when I see it

          You sound like you've lost hope. I have just the tool [lmgtfy.com] for that.
        • by serviscope_minor (664417) on Tuesday April 17, 2012 @06:51PM (#39717321) Journal

          I use GIMP all the time and love it, but the multi window interface still drives me insane.

          The GIMP is designed to work well with quality window managers. I, for one am glad that they cater to people who understand that X11 provides the best GUI.

          • by countach (534280)

            X11 hardly provides a gui. It just provides core drawing routines.

          • by Machtyn (759119) on Tuesday April 17, 2012 @11:47PM (#39719353) Homepage Journal
            Agreed. When Microsoft can figure out an easy way to handle spanning single windows across multiple monitors, then I wouldn't mind a single application window space. But, for now, I am very pleased I can move my tools to one monitor (and any reference sources) while I work on my main image on another monitor.
          • I, for one am glad that they cater to people who understand that X11 provides the best GUI.

            It's all well and good, but how many graphics designers are among those people?

        • by Fri13 (963421) on Wednesday April 18, 2012 @02:36AM (#39720165)

          Single Window GUI (SDI) is terrible in photoshop.

          Have you ever heard about window managers? What manages windows (not Microsoft Windows) for you?

          Have you ever heard that you can attach multiple displays to your computer and that your working speed improves with it?
          I can not find the slashdot article about multi-screen efficiency but http://www.multiplemonitors.org/index.php/multiple-monitor-solution/multi-advantages [multiplemonitors.org] says it is 20-50% overall improvement and that is what I remember from slashdot discussion of different study as well.

          At that point, you want just to have MDI = every image as own window and tools in own window. Then you can use window manager to actually manage your windows so you quickly find what you need and you can see all of them at glance, get them in full screen and tools pop-up only when needed by pressing a TAB. You can organize images to second screen or make a duplicates of images and place them to side by side to compare when you want to have a new try of something fancy without undoing everything if it isn't successful.

          Since GIMP 2.3 development branch the UI has been very powerful and logical. Much better than in Adobe Photoshop what is illogical but works for those who have born with knowledge to use it. That is one reason why Adobe went and made a Adobe Lightroom for photographers because Adobe Photoshop was designed to totally different work than for photographers. And even Adobe has said that Photoshop UI is terrible and needs tweaking as now it is "one for all" what does not fit at all for everyone, but they need "one for one, everyone gets own". And now they are coming there with customization possibilities per user needs.
          http://blogs.adobe.com/jnack/2007/11/photoshop_as_seen_through_johnny_cash.html [adobe.com] http://slashdot.org/story/07/11/09/0226215/adobe-to-unclutter-photoshop-ui [slashdot.org]

          So go and get yourself a good window manager (like KWin) so you can get functions like http://www.youtube.com/watch?v=ktTNcj0fAM4 [youtube.com] and virtual desktops and so on.

    • by Jeng (926980)

      Luckily gimps tend to be accident prone.

    • by reub2000 (705806) on Tuesday April 17, 2012 @04:08PM (#39715137)

      The user interface wasn't the problem. It was fixed in 2.0. A lot of what was hampering the gimp was the lack of support for larger bit depths and support for non-destructive editing.

      • Re: (Score:2, Insightful)

        by TemporalBeing (803363)

        The user interface wasn't the problem. It was fixed in 2.0. A lot of what was hampering the gimp was the lack of support for larger bit depths and support for non-destructive editing.

        Just loaded GIMP 2.6 - and I'll tell ya' it's not fixed. it's still a hairy mess to figure out. Though has been reported they are working on a new interface (one more Photoshop like); but I don't know the status or what version it was to come out in.

        • Re: (Score:3, Insightful)

          by Anonymous Coward

          The original GIMP UI was a photoshop ripoff IIRC. "Too hard". The next UI was something windows-ish "too hard". Now idiots are trying to get gimp single windowed. (WTF? Lots of people have multi-monitor setups these days. And when was single window ever good since windows 3.1? )

          I have a feeling most people who can't use GIMP probably can't use Photoshop either. (I've used both, and many other bitmap/photo editors besides, and really don't get what all the hubbub is about. )

        • by treeves (963993)

          2.8.0 RC1 is out, but it doesn't look too different on a cursory inspection.

        • Re:Inadvertently... (Score:5, Informative)

          by Tapewolf (1639955) on Tuesday April 17, 2012 @05:48PM (#39716499)

          Just loaded GIMP 2.6 - and I'll tell ya' it's not fixed. it's still a hairy mess to figure out. Though has been reported they are working on a new interface (one more Photoshop like); but I don't know the status or what version it was to come out in.

          2.8 does the single-window interface thing. It looks like this:

          http://tapewolf.wildernessguardians.com/gimp28-screenshot.jpg [wildernessguardians.com]

          ...whether that's now a single window hairy mess is not something I can really comment on. Personally, I find Photoshop to be an unintuitive horror and gimp works just how I'd expect, but that's probably because I started out with Autodesk Animator and weird things like that. If I had started on Photoshop my opinion would probably be very different.

          • by KiloByte (825081)

            GIMP's interface is a nightmare iff your window manager doesn't support virtual desktops. With those, it's a single window interface that's the unintuitive horror.

      • by kikito (971480)

        No, it was and still is the interface.

    • When "accidents" like this can happen, that says very nice things about GEGL's architecture (and the accidental heroes, of course).

    • by rnturn (11092) on Tuesday April 17, 2012 @05:22PM (#39716125)

      ``...accidentally re-organize and re-name all the tools using bumbled into industry standard names...''

      Which I assume you mean ``do things exactly like Photoshop''. That's what most people critical of the GIMP mean when they want something changed. (And, frankly, it's getting more than a little old.)

      • Re: (Score:3, Insightful)

        by nyctopterus (717502)

        No, it really isn't. I want a piece of software with a simpler interface that Photoshop. Not much more complex and a hell of a lot more ugly. Do better than Photoshop, that's what the people want.

  • Now can we pleeeaaase have a new release? Gimp 2.8 is what, 2 years behind schedule?

  • hackery (Score:5, Insightful)

    by bolthole (122186) on Tuesday April 17, 2012 @04:02PM (#39715061) Journal

    My sentiments are somewhat similar to the poster above, although a bit less... aggravated.

    This sounds like a "cool hack". Which, .. ya know.. is "cool" an all... but usually not a good idea for a major piece of software such as GIMP.

    IFF what they're describing is some kind of transition phase, where it allows dual-mode backend sort of stuff, and a concrete plan of action to eventually port all existing (standard) plugins to the newer methods, and then DITCH the old way.... then great.

    But otherwise, having heavily layered interface/mechanics conversion code, is a Really Really bad idea. The bigger the software, the worse idea it is. It would be better to just toss it all out and start from scratch, if this is going to be an indefinitely lived hack.

    • Re:hackery (Score:5, Informative)

      by Korin43 (881732) on Tuesday April 17, 2012 @04:21PM (#39715271) Homepage

      GIMP 2.10’s core will be 100% ported to GEGL, and all of the legacy pixel fiddling API for plug-ins is going to be deprecated.

      I'd say read the article before assuming the authors of a major piece of software are idiots, but this is Slashdot..

      • I'd say read the article before assuming the authors of a major piece of software are idiots, but this is Slashdot..

        ... where a large portion of the commenters actually write software, so we know how it really works.

      • Time for 2.10 (Score:4, Insightful)

        by gr8_phk (621180) on Tuesday April 17, 2012 @06:13PM (#39716843)

        GIMP 2.10’s core will be 100% ported to GEGL, and all of the legacy pixel fiddling API for plug-ins is going to be deprecated.

        This should be the only objective for 2.10 other than bug-fixing the single window interface which debuts in 2.8. They should get feedback on the UI, tweak a few things (not rework them) go full GEGL and get 2.10 out the door ASAP. The 2.8 is going to get a lot of people to look at it again, but when the features of GEGL are found to be missing they'll walk away AGAIN and it will be some time before they check in again. So let's not advertise 2.8 so much, but hurry with 2.10 and then make a push for people to switch.

    • 16-bit? (Score:3, Insightful)

      by del_diablo (1747634)

      While we are first at it, how is the 32/24-bit support for the images? I mean.... for so long, the 16-bit limitation has been a serious disadvantage.
      Things GIMP needs to do:
      1. 32-bit support for images
      2. Buildt inn Normal Map plugin
      3. Buildt inn direct X image support, patents be damned
      4. Finally finish of the fight with the monster GEGL, how many years has it been? For a saga, a few months is ok, but not years.

      • Re:16-bit? (Score:4, Insightful)

        by Xtifr (1323) on Tuesday April 17, 2012 @05:15PM (#39716041) Homepage

        1. I'm not sure what you're saying. The 32/24 bpp support has been there since day one. The same maximum depth as my video card, and probably yours as well, It's only 16 bits per channel (128/96 bits per pixel) that isn't supported, and that's mainly an issue for those who work in the dying industry of paper-publishing, and those odd individuals who want to work on "raw" photographic images despite not being able to see the results of their manipulation.

        2. Why does a "plugin" need to be "buildt inn"? You're not making any sense here.

        3. Why on earth should a UNIX program depend on proprietary Microsoft technologies that aren't available on UNIX? If you want to make a Windows-only fork, feel free.

        4. That's what this article is about, dummy!

        • Re:16-bit? (Score:5, Insightful)

          by AmonTheMetalhead (1277044) on Tuesday April 17, 2012 @05:34PM (#39716299)
          As a photographer I disagree with your statement. The advantage of working with raw picture files is that you have much more data available then you have after a lossy compression has been applied to your image. Shooting in RAW allows you to do all sorts of neat tricks that with a standard jpg are extremely difficult if not impossible.

          Believe me, you do notice the difference between a processed jpg & a processed raw file.
        • Re:16-bit? (Score:4, Informative)

          by Trogre (513942) on Tuesday April 17, 2012 @06:43PM (#39717235) Homepage

          1. I'm not sure what you're saying. The 32/24 bpp support has been there since day one. The same maximum depth as my video card, and probably yours as well, It's only 16 bits per channel (128/96 bits per pixel) that isn't supported,

          Correct, although I think you mean 64/48 bits per pixel, not 128/96.


          and that's mainly an issue for those who work in the dying industry of paper-publishing, and those odd individuals who want to work on "raw" photographic images despite not being able to see the results of their manipulation.

          No, that is wrong. While most pictures are saved in 24 or 32 bit formats, once loaded in a graphics program any workflow involving colour or level manipulation at 8-bits per channel (a paltry 256 shades of gray) very quickly shows up artifacts, compounding with every operation. This is a very real problem and it has been solved for pretty much every other photo editing program out there (including Krita and the GIMP fork CinePaint).

          • Re:16-bit? (Score:4, Interesting)

            by spitzak (4019) on Wednesday April 18, 2012 @12:43AM (#39719639) Homepage

            It has not been solved. 16-bit integers are not the answer because you lose resolution when you multiply brightness levels. 16-bit integers are actually a huge impediment to doing things correctly but they were forced on us by people who did not know better, and for machines that were not as fast as current ones they did offer a bit of benefit.

            The correct method is to use *floats*, and ideally a linear colorspace. There is even a 16-bit float so it takes no more memory than 16-bit integers. When you multiply a float by 2 you still have the same number of levels between the darkest and brightest visible colors.

            I have no idea what GEGL does but I suspect it gets it wrong still...

            • by Xtifr (1323)

              First bullet point on the front page of www.gegl.org:

              "Floating point handling and processing and output of larger 8bit, 16bit integer and 32bit floating point per component buffers larger than RAM."

            • by vurian (645456)
              It has been solved. Krita supports 8, 16 bit integer -- but also 16 and 32 bit floating point per channel. And heck, if you have a high-end graphics card and a high-end monitor that support more than 8 bits per channel output -- and those do exist -- then Krita supports that, too.
        • by SEE (7681)

          that's mainly an issue for those who work in the dying industry of paper-publishing

          Printing and publishing are not the same industry. The people printing labels, packaging, billboards, and junk mail are not particularly threatened by ebooks and digital editions of periodicals; even if the entire publishing industry goes entirely nonphysical they'll still be around. And they'll still need high-bits-per-channel CMYK for best results.

  • by jd (1658) <imipak&yahoo,com> on Tuesday April 17, 2012 @04:04PM (#39715085) Homepage Journal

    Those who deliberately engineer masterpieces, those who "inadvertently" engineer masterpieces and those who write the (cough) software that causes the other two groups to act.

    In this case, these accidental geniuses are responsible for work that mainstream GIMP developers had long claimed was impossible. From the looks of it, six impossible things were achieved, so said developers should round things off with a meal at Milliways.

    • Those who deliberately engineer masterpieces, those who "inadvertently" engineer masterpieces and those who write the (cough) software that causes the other two groups to act.

      In this case, these accidental geniuses are responsible for work that mainstream GIMP developers had long claimed was impossible. From the looks of it, six impossible things were achieved, so said developers should round things off with a meal at Milliways.

      Clearly they will when they attempt to add Photoshop plugin compatibility to GIMP inadvertently create the world's first time machine.

  • by TheModelEskimo (968202) on Tuesday April 17, 2012 @04:10PM (#39715149)
    "How do I draw a circle? I CAN'T DRAW A CIRCLE WITH IT YET AFTER LIKE 30 YEARS" --lowuserid1997

    "Does it still suck at CMYK...because where I work we are focusing *so hard* on CMYK right now, it'd be ridiculous for GIMP not to support that" --a_complete_liar

    "I noticed that the interface is still a series of 'windows'...my granddaughter's IPAD allows her to paint the entire mona lisa with her pinky finger, never even showing a single window. WHAT HAPPENED TO OPEN SOURCE???" --300baud

    "Anybody know of an alternative to GIMP that lets you publish to ebook formats like Kindle? I need to be able to import a 1200 page scientific text, and I want to have drop shadows on the letters and a parchment background. Also something that exports to iBooks would be great but I can't pay any money for this, and I don't want to have to work for an hour to make it all just work." --cluelessphd
    • by jellomizer (103300) on Tuesday April 17, 2012 @04:20PM (#39715255)

      The problem is not Features, but finding them.

      This is what I often do in photo shop.

      Take Basic Shape, Rotate it, Apply Color, Apply a Texture, Bevel, and Apply Shadow, Create a new layer and repeat.
      I can do this stuff easier in HTML5 then in GIMP.

      It isn't that this cannot be done in GIMP but it doesn't make it easy to do so.

      • Yup, I don't get it, for example, why rotating a photo to get the horizon straight is not just a matter of drawing a straight line over horizon, and have GIMP figure out how to rotate the photo to get it straight. Instead one has to tweak in a preview window. I use the top of another window (from a different program) to check if it's straight... Yes, I guess there are better ways to do this, using a grid in Gimp itself, but this is easier and faster to me....

        I use Gimp mostly for: cropping a photo (4:3 sele

        • Yup, I don't get it, for example, why rotating a photo to get the horizon straight is not just a matter of drawing a straight line over horizon, and have GIMP figure out how to rotate the photo to get it straight.

          Here's how to correct a horizon in GIMP 2.6.11:

          1. Select the rotate tool.
          2. In tool options, choose Preview: Grid. This makes GIMP draw straight lines that you'll line up with the horizon.
          3. In tool options, choose Direction: Corrective. This gets GIMP to figure out how to rotate the photo to straighten things parallel to the grid.
          4. On the image, turn the grid until parallel with the horizon.
          5. Once the grid is aligned, press Enter.
  • by wjcofkc (964165)
    Pardon me while I go all giggly school girl. I've been waiting for this since the 90's: OMG! LIKE FINALLY!
  • by ibsteve2u (1184603) on Tuesday April 17, 2012 @04:23PM (#39715297)

    A few weeks ago, two GIMP hackers got together to do some general hacking, and inadvertedly ported the core graphics code to GEGL.

    You're a "hacker" if you start playing with something in an effort to make it better and you not only succeed in a reasonable amount of time but do it for free. But if you have three meetings per week, the project drags on and on and on, the bill escalates ever closer to the stratosphere, and the project never does work?

    Then you are a professional consultant.

  • by Tumbleweed (3706) * on Tuesday April 17, 2012 @04:36PM (#39715429)

    "Oops! Oh, it worked?" ...

    "Crap. WHY does it work? It totally shouldn't work!" ...

    *shrug* "Ship it."

  • You just know some pretty crazy things are going to happen when you pair-program with a name like that.

  • What does "mostly" mean?

    Most programmers I know think it's "mostly" done when they've written enough code to get through a few seconds of testing. They don't think about all the little quirks, hidden features, bugs, and refinements that took a long time to discover and implement the first time around. Rewriting code often looks like an attractive option (clean code, new technology) until you get half way into it (you know, that "mostly done" point) and discover why the old code was so messy...it had to do

  • by Zaiff Urgulbunger (591514) on Tuesday April 17, 2012 @05:44PM (#39716435)
    I know slashdot now uses PNGs for the icons to fit with the theme... but I *really* miss the old Gimp icon with the animated eyes. Can't an exception be made?
  • For folks waiting for specific features, I understand your frustration with GIMPs development pace. Open Source projects often stutter and stumble, sometimes they even seem to disappear; so let's not forget the bottom line: A lot of people have been able to do things with images they could never have afforded to do if it were not for the GIMP. Viva la GNU Image Manipulation Program! (catchy :)
  • Long Time GIMP User (Score:5, Interesting)

    by Anonymous Coward on Tuesday April 17, 2012 @06:24PM (#39717009)

    I'm a digital artist and iOS programmer and I haven't had Photoshop installed in 10 years. I've developed 3 design-heavy iOS apps and shown artwork in museums in New York made with GIMP.

    Recently I got fed up with the long absence of GIMP updates and decided to finally switch to Photoshop. I was sure it was going to be a lot better if I just got over the hump and learned it. After converting my latest iOS project to Photoshop and learning how to do the basic operations I needed to get around, I found that many of the basic tasks I do regularly are a bit more cumbersome to do in Photoshop. I went onto forums and found other people on Adobe's forums trying to figure out the same thing, and then coming to an inpass. I even discussed my issues with long time Photoshop users. Photoshop is definitely easier and has more features, but is inflexible compared to GIMP in some ways, like with keyboard shortcuts.

    I eventually went back to GIMP. For what I'm doing it just makes more sense. Everything in GIMP is hard to do and the interface is weird, but if it fits your needs and you spend the time to learn the interface, it's great. It's always been more stable than Photoshop for me, and it's free.

    Really excited there's a new version on the way.

  • by e**(i pi)-1 (462311) on Tuesday April 17, 2012 @07:55PM (#39717861) Homepage Journal
    it has to be said once: there is no faster and better program for unix and gimp developers are my heroes. I I use it since gimp 1.0 and could not be happier. Sure, one has to get used to it, but things are done with the gimp before photoshop even starts up. I even prefer it on my macs, where photoshop is installed.

"Never give in. Never give in. Never. Never. Never." -- Winston Churchill

Working...