Slashdot Mirror


GIMP Core Mostly Ported to GEGL

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.

21 of 312 comments (clear)

  1. Inadvertently... by icebike · · Score: 5, Funny

    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.

    --
    Sig Battery depleted. Reverting to safe mode.
    1. Re:Inadvertently... by BagOBones · · Score: 4, Insightful

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

      --
      EA David Gardner -"... but the consumers have proven that actually what they want is fun."
    2. Re:Inadvertently... by reub2000 · · Score: 4, Insightful

      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.

    3. Re:Inadvertently... by Anonymous Coward · · Score: 4, Interesting

      Let's check the history. A couple college students write a FOSS image manipulation program for their master's degree work. They graduate and -- what do you know -- Microsoft pays them to not work on GIMP anymore.

    4. Re:Inadvertently... by hackula · · Score: 4, Insightful

      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.

    5. Re:Inadvertently... by rnturn · · Score: 4, Insightful

      ``...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.)

      --
      CUR ALLOC 20195.....5804M
    6. Re:Inadvertently... by Patch86 · · Score: 4, Interesting

      There should never be a huge feature gap between stable and dev versions of software, really. I always grab stable versions because I don't want my programmes crapping out on me when I'm trying to do something important.If the stable version is 2 years old while features are being added to the dev version every day, then something's gone wrong.

      Call it a need for a more "agile" development approach. They should be picking a feature, building it, trying it out in dev, then rolling it into stable where they can move it to regular support. Rinse, repeat.

      Happens in all my favourite FOSS projects, though. Games are especially bad at it, where a million great new feature are always nearly-ready, but never quite seem to be polished enough for show time.

    7. Re:Inadvertently... by Tapewolf · · Score: 4, Informative

      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

      ...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.

    8. Re:Inadvertently... by serviscope_minor · · Score: 4, Insightful

      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.

      --
      SJW n. One who posts facts.
    9. Re:Inadvertently... by Fri13 · · Score: 4, Insightful

      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 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 http://slashdot.org/story/07/11/09/0226215/adobe-to-unclutter-photoshop-ui

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

  2. hackery by bolthole · · Score: 4, Insightful

    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.

    1. Re:hackery by Korin43 · · Score: 4, Informative

      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..

  3. There are three types of software engineer by jd · · Score: 4, Funny

    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.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  4. Typical GIMP questions from /.ers by TheModelEskimo · · Score: 5, Funny

    "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

  5. Re:Version math by robmv · · Score: 4, Informative

    Versions are not decimal numbers!!!!! what number is 2.8.4?

  6. that "Eureka" moment in every program's dev cycle by Tumbleweed · · Score: 5, Funny

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

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

    *shrug* "Ship it."

  7. Re:Version math by sudonymous · · Score: 4, Funny

    I'd love to see the brainfuck that ensues when you're tasked with figuring out whether 192.168.0.1 comes before or after 192.168.0.10.

    I'm hoping for something on a similar level to that video that went viral of the blonde trying to figure out miles per hour.

  8. To fix horizons, use Rotate with Corrective + Grid by tepples · · Score: 5, Informative

    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.
  9. Re:Great! by Dishevel · · Score: 4, Informative
    --
    Why is it so hard to only have politicians for a few years, then have them go away?
  10. Re:16-bit? by AmonTheMetalhead · · Score: 5, Insightful

    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.

  11. Long Time GIMP User by Anonymous Coward · · Score: 5, Interesting

    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.