LWN.net Logo

Linux Mint introduces Cinnamon

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 2:06 UTC (Wed) by dskoll (subscriber, #1630)
In reply to: Linux Mint introduces Cinnamon by drag
Parent article: Linux Mint introduces Cinnamon

So you see no significance in the fact that GNOME 3 is the first desktop environment which distros have altered significantly from upstream? I find it quite significant.

All the other things you mentioned are neither here nor there, because to my knowledge, distros don't extensively change them from upstream.


(Log in to post comments)

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 2:37 UTC (Wed) by Kit (guest, #55925) [Link]

If I'm not mistaken, GNOME 3 is the first desktop environment (for Linux) to _require_ full graphics acceleration (unless I'm confusing it with Unity...). This puts it in the position of baring the brunt of the blame for the craptastic nature of Linux graphics, sort of like how before it people were blaming PulseAudio for what was really the fault of buggy ALSA drivers.

I think the main difference in this case is that fixing the graphics issue is a lot harder... people had already been working on it for /years/, while the ALSA situation were bugs that were infrequently exposed with existing apps. Plus, graphics drivers being a rather black magic.

(again, assuming I'm not confusing GNOME 3 with Unity... which would be rather embarrassing right about now)

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 13:35 UTC (Wed) by bats999 (subscriber, #70285) [Link]

I personally have a different opinion re the state of Linux graphics. GNOME3? Meh...but IMHO the nouveau project's work is amazing. It makes me realize how far things have come. That being said, my hardware is a generation or two old - the "sweet spot" for free software.

As far as ALSA/Pulse, I only have one word...ice1712. Can't we all just get along?

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 21:06 UTC (Wed) by sciurus (subscriber, #58832) [Link]

You're not confused. Unity has a 2D-mode that's almost identical to its hardware-accelerated mode. It runs well on my netbook using an atom processor and the psb-gfx driver.

GNOME 3's fallback mode is a stripped down GNOME 2 style desktop. There are plans [0] to make GNOME Shell run on hardware without 3D acceleration, but that will require a fast processor.

[0] http://fedoraproject.org/wiki/Features/Gnome_shell_softwa...

Linux Mint introduces Cinnamon

Posted Jan 6, 2012 10:20 UTC (Fri) by michaeljt (subscriber, #39183) [Link]

> You're not confused. Unity has a 2D-mode that's almost identical to its hardware-accelerated mode. It runs well on my netbook using an atom processor and the psb-gfx driver.

> GNOME 3's fallback mode is a stripped down GNOME 2 style desktop. There are plans [0] to make GNOME Shell run on hardware without 3D acceleration, but that will require a fast processor.

> [0] http://fedoraproject.org/wiki/Features/Gnome_shell_softwa...

I can't help thinking I must be missing something obvious, but 99% of the time it looks to me as though GNOME Shell's rendering ends up drawing everything on screen exactly the way it would look if it were rendered in 2D (the other 1% being the time it is doing its fancy zoom effects, which still end up being just 2D zooms). So I wonder why a software renderer can't spot that and just optimise the 3D projection to simple 2D blits.

Linux Mint introduces Cinnamon

Posted Jan 6, 2012 17:39 UTC (Fri) by raven667 (subscriber, #5198) [Link]

I think this represents a common misunderstanding, that 2D and 3D exist and are two different things, or that 3D is complicated and slow and 2D simple and fast. What you have is a generic co-processor that can accelerate all sorts of image processing useful for 2D as well as vector processing which is useful for 3D graphics. The GPU has its own memory which can be filled with cached pixmaps, can run its own programs to manipulate and composite those pixmaps and generally accelerate graphics. When a dedicated GPU is not available, the engineering effort has been to write a target for x86 so that CPU can be treated as just another brand of GPU. The CPU doesn't have the vast number of cores and optimized hardware for handling pixmap operations so some of the effects, which are computationally cheap on a regular GPU, can be turned off when running on the CPU. When running on the CPU it'll be using the same kind of algorithms and data structures that a "simple 2D" implementation would.

Linux Mint introduces Cinnamon

Posted Jan 7, 2012 21:55 UTC (Sat) by michaeljt (subscriber, #39183) [Link]

> I think this represents a common misunderstanding, that 2D and 3D exist and are two different things, or that 3D is complicated and slow and 2D simple and fast [...]

Is it really a misunderstanding on my part to think that a simple one-to-one blit (likely accelerated at that!) is significantly faster than a perspective transformation of the same image done on the CPU without any help from a GPU?

Heh...

Posted Jan 7, 2012 22:56 UTC (Sat) by khim (subscriber, #9252) [Link]

Is it really a misunderstanding on my part to think that a simple one-to-one blit (likely accelerated at that!) is significantly faster than a perspective transformation of the same image done on the CPU without any help from a GPU?

Hmm... Yup, that's your misunderstanding.

The Times They Are a-Changin'. Accelerated 2D no longer exist. Contemporary GPUs no longer have it. Either you have accelerated 2D and accelerated 3D or you have nothing accelerated at all.

And if don't have a GPU then we still have a CPU which can theoretically execute about 64 billion simple operations per second (working on @4GHz and using SSE2, of course). It can transfer only 25 million bytes from memory at the same second. That's three orders of magnitude difference. More then enough to make sure perspective transformation is limited by DRAM speed, not by CPU speed (the same as with one-to-one blit). I assume here both "a simple one-to-one blit" and "perspective transformation" are written optimally: it easy to make both of them exhaustingly slow, of course...

Heh...

Posted Jan 8, 2012 16:04 UTC (Sun) by michaeljt (subscriber, #39183) [Link]

> The Times They Are a-Changin'. Accelerated 2D no longer exist. Contemporary GPUs no longer have it. Either you have accelerated 2D and accelerated 3D or you have nothing accelerated at all.

I was under the impression though that even if the same underlying hardware is used free drivers are more likely to manage the first well than the second.

> And if don't have a GPU then we still have a CPU which can theoretically execute about 64 billion simple operations per second (working on @4GHz and using SSE2, of course). It can transfer only 25 million bytes from memory at the same second. That's three orders of magnitude difference.

Thank you, point taken.

Heh...

Posted Jan 9, 2012 13:06 UTC (Mon) by etienne (subscriber, #25256) [Link]

> transfer only 25 million bytes from memory at the same second.

Wiki PCIe 2.0 bandwidth: per-lane throughput rises from 250 MB/s to 500 MB/s
With an 8 line PCIe card we have 4Gbytes/s.
3000x2000 display in 32bpp: 22 Mbytes.
Maximum refresh rate (with all pixel changed at each refresh): 186 Hz
Unless I cannot calculate on Monday morning...

Yup. My mistake.

Posted Jan 9, 2012 13:14 UTC (Mon) by khim (subscriber, #9252) [Link]

Oops. I've actually looked on real tests but they were messed up (they had title "Memory Bandwidth, MB/s" and under that numbers between 20 and 25... now they are fixed and title says "Memory Bandwidth, MB/s" which of course makes a hell of difference).

Yes, your calculation looks correct - this means that in the absence of GPU acceleration perspective effect should be coded very carefully to saturate PCIe.

Oops...

Posted Jan 9, 2012 16:01 UTC (Mon) by khim (subscriber, #9252) [Link]

Sorry for repeating the typo :-( "Memory Bandwidth, MB/s" was replaced with "Memory Bandwidth, GB/s"...

Numbers are still between 20 and 25. For LGA 2011 CPUs it's between 40 and 45, but only if there are at least 6-8 threads working in parallel. For a single thread it's the same 20-25 GB/s.

Oops...

Posted Jan 9, 2012 17:20 UTC (Mon) by etienne (subscriber, #25256) [Link]

25 Gbits/s / 8 = 3 Gbytes/s
screen definition of 1600x1200 in 32 bits = 7.3 Mbytes
Maximum "total update" frequency: 3000 / 7 = 428 times/seconds.

That is obviously when you saturate the PCIe link, which may not be possible on PC.
It will be extremely sensitive to the amount of CPU cache you have and how you use it, less so on which assembly instruction you use.
PCIe is using posted write for even large write buffers, but it may be tricky in configuration.

Heh...

Posted Jan 9, 2012 16:22 UTC (Mon) by dgm (subscriber, #49227) [Link]

> Accelerated 2D no longer exist.

It does in all my machines, thank you. It's not the GPU, but the APIs and driver support for those APIs what define what is accelerated or not.

And, by the way, there are many old GPU out there that do not fit your probable definition of "contemporary". Most are more than powerful enough for the mundane task of zooming and moving windows all day long without breaking a sweat, but are ignored because they do not support OpenGL 1.4 or newer (this definition fits ALL of my FOUR machines, for instance, none of wich is going to be replaced any time soon).

Well...

Posted Jan 9, 2012 17:51 UTC (Mon) by khim (subscriber, #9252) [Link]

And, by the way, there are many old GPU out there that do not fit your probable definition of "contemporary".

If they are old then they are probably not a contemporary. Most PCs are replaced in 4-5 years thus anything older can be safely ignored when you develop new program. With smartphones and tables replacement time is even shorter.

It's not the GPU, but the APIs and driver support for those APIs what define what is accelerated or not.

If your driver translates accelerated 2D to accelerated 3D and there are no "pure 2D hardware" then it's just unnecessary abstraction layer and you'll be better of you'll rip it out.

Most are more than powerful enough for the mundane task of zooming and moving windows all day long without breaking a sweat, but are ignored because they do not support OpenGL 1.4 or newer (this definition fits ALL of my FOUR machines, for instance, none of wich is going to be replaced any time soon).

Well, it's nice to play with a piece of computer history, but if you are developing something then you should draw a line somewhere. OpenGL 2.0 is pretty good place to draw the line IMNSHO (I'm kinda surprised GNOME Shell have chosen OpenGL 1.4) because OpenGL ES 2.0 (which is what you get on all contemporary embedded platforms) actually removed fixed-function pipeline - thus you either need to write two sets of code (one for OpenGL 1.4+ and one form OpenGL 2.0+/OpenGL ES 2.0+) or you drop support for all the obsoleted systems. ATI added support for OpenGL 2.0 in 2002, NVidia in 2004 thus it's already old enough to not be a problem in practice unless Intel GPU is used and even Intel supports OpenGL 2.1+ now...

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 6:20 UTC (Wed) by drag (subscriber, #31333) [Link]

> So you see no significance in the fact that GNOME 3 is the first desktop environment which distros have altered significantly from upstream? I find it quite significant.

Well distributions have always modified their DE environments. There is only a small handful of systems that ever offered a 'Vanilla' gnome offering. Swapping out window managers, for example, is extremely common. Using compiz, trying to strip out PA, throwing docks in it, etc.

Unity efforts itself existed long before Gnome-shell came out.

Mate is just another in a long line of Gnome fork attempts. Anybody remember GoneME? Mate will stick around longer then the othes, this time, because people value backwards compatibility.

Cinnemon is the only fork of Gnome-Shell to make it Gnome-2-like that I know of.

As far as Gnome 2, itself, I could not stand using it until 2.8 or so. People pissed and moaned about Gnome 1.x and sawfish being gone (which I thought was just a blighted environment from day one) for years and years.

So I don't know what significance I need to read into it beyond the fact that people's attitudes and reaction to change hasn't changed over the past 20 years so. Human nature being what it always has been.

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 13:33 UTC (Wed) by dskoll (subscriber, #1630) [Link]

So I don't know what significance I need to read into it beyond the fact that people's attitudes and reaction to change hasn't changed over the past 20 years so. Human nature being what it always has been.

You've got it. Human nature is very hard to change and those social experiments that attempt to deny human nature (things like "Communism", "No sex before marriage", "War on drugs" and "GNOME 3") are doomed to fail.

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 17:32 UTC (Wed) by bronson (subscriber, #4806) [Link]

> (things like "Communism", "No sex before marriage", "War on drugs" and "GNOME 3")

OK, that was hilarious. If you'd explicitly named a religion you could have guaranteed 100 replies. :)

Linux Mint introduces Cinnamon

Posted Jan 4, 2012 9:09 UTC (Wed) by renox (subscriber, #23785) [Link]

> So you see no significance in the fact that GNOME 3 is the first desktop environment which distros have altered significantly from upstream?

Depends on what you consider "significantly altered": some distributions have disabled by default nepomuk-things in their release of KDE4, considering probably that KDE developers have enabled it by default before it was ready for end users, given that nepomukeries have a prominent places in KDE4 announces I consider this a significant alteration YMMV.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds