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.

39 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 TheModelEskimo · · Score: 3, Insightful

      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.

    2. 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."
    3. 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.

    4. Re:Inadvertently... by slater.jay · · Score: 3, Insightful

      But three things a man wishes to do but once in his lifetime come as naturally as the morning sun. This is the tao of GIMP.

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

    6. Re:Inadvertently... by Vegemeister · · Score: 3, Informative

      2.6 is the stable version. All the development happens in 2.7. The value sliders have been greatly improved, and they've got single-window mode (still kinda buggy though).

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

    8. Re:Inadvertently... by X0563511 · · Score: 3, Insightful

      What the hell is that supposed to mean?

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    9. 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
    10. 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.

    11. Re:Inadvertently... by Anonymous Coward · · Score: 3, Insightful

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

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

    13. Re:Inadvertently... by ScislaC · · Score: 3, Insightful

      This is a problem that we have in Inkscape as well. I would say that in general, people are excited and motivated to add new functionality. The problem is that it's not nearly as satisfying when it comes to refining and bug fixing for most devs when it's all volunteer work.

    14. Re:Inadvertently... by Tapewolf · · Score: 3, Informative

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

      Windows -> Single Window Mode

    15. Re:Inadvertently... by JanneM · · Score: 3, Informative

      It would've been nice if there was an option in that dialog to "use these values as default".

      There is, for all tools at once. In the settings you can ask to save all current settings as default. You can set up all the tools you use the way you want them, then go to settings and save it all as your normal set-up.

      --
      Trust the Computer. The Computer is your friend.
    16. 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.
    17. Re:Inadvertently... by Machtyn · · Score: 3, Insightful

      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.

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

    1. Re:Typical GIMP questions from /.ers by jellomizer · · Score: 3, Insightful

      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.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  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:Wow! by tepples · · Score: 3, Informative

    Pixelmator

    Price to anyone who owns something other than a Mac: $630.

  10. 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?
  11. Re:16-bit? by Xtifr · · Score: 3, Insightful

    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!

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

  13. /. no longer has an animated gif for Gimp?!! by Zaiff+Urgulbunger · · Score: 3, Interesting

    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?

  14. Re:While we're all accidental... by mark-t · · Score: 3, Insightful

    Most people who are educated enough to read and write also have enough experience with their language to cope with the existence of homonyms, and not be compelled to associate a term only to one particular thing when the context is obviously referring to something else that only happens to share the same spelling.

  15. Time for 2.10 by gr8_phk · · Score: 3, Insightful

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

  17. Re:16-bit? by Trogre · · Score: 3, Informative

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

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  18. Re:16-bit? by spitzak · · Score: 3, Interesting

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

  19. Re:CMYK by spitzak · · Score: 3, Informative

    Use of CMYK inks does not mean that RGB images cannot be printed. I think you will find that a vast amount of those images you are thinking about were never anything other than RGB before they were converted by a printer driver to CMYK.

    CMYK is vaguely useful for exact control of a known output device. It is useless if you plan to print on more than one type of printer, or if your printer does not accept raw control of the CMYK guns (most every non-professional device will not print raw CMYK, doing things like turning on the black 100% will turn the others off). Modern software has floating point so mismatched gamuts are no longer a problem.