Forgot your password?
typodupeerror
Enlightenment GUI

Rasterman's New Toy: EVAS 198

Posted by CmdrTaco
from the i-can-do-hardware-acceleration-with-my-brain dept.
renai42 writes: "Rasterman gave a very interesting speech about his new EVAS canvas software at Linux.conf.au this week. This LinuxToday.com.au article gives a fair idea of the gist of the speech. EVAS is interesting stuff for the Linux community - a hardware accelerated X desktop with anti-aliased fonts and alpha blending." They've been claiming that the next Enlightenment will be the fastest WM around thanks mostly to EVAS.

Totally Offtopic Side Note 1: I find it amusing that LinuxToday.com.au snatched my X icon: I always thought it was probably the crappiest Slashdot icon, and I never dreamed anyone would want to take it. My policy on Slashdot Icons has always been steal whatever ones you like, but credit us when you use 'em, and its not a big deal, but its just funny to see who takes what.)

Totally offtopic sidenote 2: while we're talking about toys, check out Jubei, my MAME front end I've been poking on in my enormous amounts of free time.

This discussion has been archived. No new comments can be posted.

Rasterman's New Toy: EVAS

Comments Filter:
  • Finally, just what I need. An HW accelerated desktop. Does this mean I don't need to compile 3 seperate packages just to play a game?
  • Enlightenment was my reason for switching to GNOME. It was shiny, beautiful, but slow.

    Later i met saw(fish/mill) and forgot about my experience with enlightenment.

    If ever enlightenment gets faster i will happily switch back! (By the way i have to check it again now my machine has 192M ram as it had 64M before)...

    Thanx rasterman keep good work!

  • by ajs (35943) <<moc.sja> <ta> <sja>> on Sunday January 21, 2001 @08:14AM (#492260) Homepage Journal
    So, the idea is that Enlightenment will be fast because the tons of junk that it does will be hardware-accelerated? Wouldn't it be logical, then to assume that all of the other window managers out there that are faster than Enlightenment (Sawfish, fvwm{,2}, twm, etc, etc,) will be even faster than Enlightenment given the same hardware acceleration?

    Sawfish seems to me to be about 2-10 times faster (purely subjective) than Enlightenment. Can that gap be bridged by hardware? Of course, but it still doesn't make E efficient.
  • How does this relate to Keith Packard's new X Render extension, which so recently gave Qt/KDE antialiased fonts ?
  • One thing people forget when comparing the speed of a windows GUI and Linux WM's is hardware acceleration. Even back in the day of Windows 3.x, hardware manufactures (like Orchid, remember those cards?) built hardware accelerators for windows.

    This being said, I think that XFree86 has some (minor?) performance issues when compared to Windows, but if use of hardware acceleration is introduced, at least we can compare the speed on an equal playing field.
  • by rngadam (304)
    Great idea! Should make portability easier! Too bad we're still far from 1.0. Meanwhile, I'll use GLUI [unc.edu]... (Wonder why that one didn't catch on?)
  • Just wondering, you linux guys using a GUI... you don't have that yet in any packages? each and every time I used linux I only used it as a shell. I'm wondering, I thought when you had drivers that worked for X, the hardware features would work as well (3d, antialiasing, etc) no?

  • by Kyobu (12511) on Sunday January 21, 2001 @08:21AM (#492265) Homepage
    Maybe their next version will be better than 0.16 in this regard, but aside from speed, one of the things I really don't like about E is its desire to controll all aspects of my life. For instance, its background selector is very ungainly, but it wants to use it instead of using the perfectly-good Gnome Control Center. And so on. I see no need to replace Gnome, when it's pretty good already and E is mostly reproducing its capabilities, but prettier.
  • Am I the only person who, on seeing the subject line:
    Rasterman's New Toy: EVAS

    Thought that Rasterman had gone out and picked up some of those oh-so-cool Evangelion figures?

  • You didn't read the speach, did you? Nor, apparently, did you even read the full Slashdot intro that was given... If you had, you would have realized that this is simply a desktop for X, not a whole new windowing system.

    Ranessin
  • This is great news for the entire community. When I first used Enlightenment [enlightenment.org] a good while ago, I was extremely impressed by it's configurability and the sheer volume of themes [themes.org] available for it, but my one complaint was its "sluggishness" as compared to AfterStep [afterstep.org] or WindowMaker [windowmaker.org].

    I'm glad to hear that the project is still alive and doing so well and that this issue is being resolved. He's always been very passionate about E and no matter what window manager you use, you have to appreciate this kind of enthusiasm he has for his project. It's this kind of attitude that helps to continually drive the whole Linux community forward.

  • My friend and I were discussing how it wouldn't be long before Linux hacks got Jealous (with a capital 'J') of MacOS X's slick, pretty, OpenGL-accellerated interface. Well, here we are. This is the beginning foundation for much more powerful, fast, and flexable GUI's under X.

    And of course, other than just for the sake of shear beauty, using 3D accellerators to draw interfaces makes perfect sense. Most companies that make accellerated cards put a LOT more effort and design consideration into the accellerators, but not so much into the 2D accelleration. As a result, 3D graphics are rendered more quickly on just about all cards. Let's use that power for more than just games! :-)

  • I wouldn't be surprised if the crud, caused by the PC arch insistance to separate text mode from gfx mode - go Amiga!, which X has were removed, E could fly, though it would be further outrun by blackbox, uwm, and others.

    I've experienced various ranges of performance between E and Sawfish. I've had E beat Sawfish at theme changes and window operations sometimes.

    What I can't stand is the Gnome Background Config.

    Why is everyone so bloody afraid of heirarchial structures? I love being able to install a symlink to wherever Propaganda.debs choose to install themselves and have it all be reflected in a menu without a lot of fuss. Face it traditional config GUIs make you do more work.
  • Indeed.

    What I'm really looking forward though is the font anti-aliasing. It's almost embarrassing to show screenshots of KDE and Gnome desktops with all the jagged fonts all over the place.

  • Hmmph.

    Actually, really, I suppose it's not much to do with X Render anyway, and is more like the GLUI tollkit mentioned in this comment [slashdot.org]. (GL is actually rather good for pixely 2D stuff).

    Then again, maybe I'm letting him off easy 'cause he's an ex-Amiga hacker like myself (only he's better, of course.)...

    His archival screenshots ( 1 [rasterman.com] 2 [rasterman.com] ) of his amiga desktop from back in the day (early '90s)really illustrate how far behind Unix was on the GUI side
    of things when the Amiga was at its peak - I had a similar looking desktop, and, boy, twm was a big step backwards...
  • EVAS and Jubei? Is this '*nix apps named after anime characters' day? ;)

    Annnnyways...I had been wondering when someone was gonna use OpenGL
    acceleration to render stuff in X... The idea has popped up in more than one
    cofeeshop discussion between me and my friends, but no one
    ever had the mad X hacking skillz to do it.
    Way to go Raster!

    --K
  • Uh, unless I'm mistaken, OS X doesn't use OpenGL acceleration for its interface. I know it supports OpenGL for 3D apps, and it probably uses 2D acceleration when rendering the UI.
  • No, it appears he only uses OpenGL for this, which could mean there might be some very nasty slowdowns for games running on an E desktop, depending on how the glx for the card is programmed. And frankly, it doesn't really interest me. I use Linux and X on my laptop extensively, and conventionally 'anti-aliased' text just looks like blurred text on the LCD display. The X render extension on the other hand, supports subpixel rendering, which should increase the horizontal resolution (by a factor of three) that characters are rendered on that screen.
  • Some people around here probably don't remember Enlightment as I remember. Enlightment was the ONLY decent-looking window manager for Linux back when Gnome and KDE didn't exist. I remember looking at screenshots of E running.. Enlightement was probably THE reason I started using Linux.

    It wasn't a perfect window manager (and nobody claimed it was since it's still labeled as devel) but it kicked ass back in the early Windows 95 days.. I was so happy when I compiled Enlightement and could take a break for the bleak FVWM.
  • ...until you check the system requirements: The Lance of Longinus, an affectless fourteen-year-old albino Japanese clone girl, and Your Dead Mother. C'mon, how many people have actually have that kind of setup?
    --
    "HORSE."
  • That's not true. Quake 3, Oni and all other 3D applications use accelerated OpenGL (well, except BattleZone :).
    And windows can't move this way when not 2D accelerated. Just try out XFree on MacOS X, which does not support it.

    The catch is: it only works with ATI's cards.

  • No, now you need three separate packages to just run your desktop environment. A step forward? :-)
  • by Anonymous Coward
    No, actually it will be faster because of a lot of stuff. Binary config files and imlib2 among others. From what i've heard E itselfe - E the windowmanager - is not going to use hw accelerated eccept for the part that handles the root window (the desktop background etc) But evas is very fast even without hw accel. That's why E will continue to rule as it always has.

    -- BitDancer
  • Step back for a second and think through the possibilities:

    1) Write a library of good-looking, wickedly fast GUI widgets using the EVAS API (rip some code from Gtk to get this going quickly)

    2) Invent a high-level network protocol for creating, manipulating, and responding to events on these widgets. Heck, write one on top of CORBA if you must. Now client applications will connect directly to Enlightenment and build GUI interfaces using its facilities.

    3) Give Enlightenment direct access to input devices through a library like SDL [libsdl.org]

    4) Finally, RM -RF THAT CRUFTY PIECE OF JUNK CALLED X11!

    Please, Rasterman, realize that this technology won't just enable window managers to have fast eye-candy. It could form the basis for a completely independent, hardware-accelerated display server (not even OSX's Quartz is hardware-accelerated yet)! By managing and rendering widgets at the server, you will blow Windows, OSX, etc out of the water performance-wise, and keep X11-style network transparency!

  • I think the problem is that X drawing primatives are too small to be accelerated efficiently by cards designed for the Win32 GDI and Apple QuickDraw.

    It seems that he is bypassing the X drawing layer somehow ("Raster showed us comparisons between X-accelerated displays and EVAS accelerated displays"). How that works with other X apps and the normal X feature set would be interesting.
    --
  • Heh. I wouldn't want to be near the thing when it goes berzerk; rending and eating all other nodes on the LAN. ;)
  • Or conversely, why does gnome replicate E's capabilities.

    Personally I don't like/use gnome and so I like having a graphical way to change my background.

    (Well actually, I like bonobo and gnome apps. I just don't like the huge tool bar and the way gnome thinks it is a window manager when it's not)

  • Uhm. He just said "MacOS X doesn't support GL acceleration" and you replied with "Yes Quake3 does!".
    Notice the difference?

    --
  • by Mike Hicks (244) <hick0088@tc.umn.edu> on Sunday January 21, 2001 @09:18AM (#492286) Homepage Journal
    I see that this is available at Sourceforge [sourceforge.net].. I downloaded the RPMs, and I noticed that they wanted libGLcore.so.1, which appears to be an X module for the NVidia X servers. The stock XFree86 4.0.x servers come with a similar file libGLcore.a .

    Anyway, I'm just wondering -- does this mean that this EVAS stuff only works with NVidia cards? Is there any chance I'll get it to work with my G400?
    --
  • True....about 6 months ago I reached the point of saturation with E (read - didn't want to buy new video card just to be able manipulate windows fast enough), so I went back to the bare bones FVWM.
    After the initial shock (no docking bars, cartoon icons and Hollywood style special effects), I actually started enjoying its....minimalism....:)
    As for speed - it probably improved at least 10-fold, which comes as no surprise, considering just how basic FVWM is.
  • Nice to see portable, machine independent interfaces (X) replaced with non-portable, machine-dependent ones (svgalib, EVAS).
    Not.

    One more proof that Linux != Unix.

    - Hubert (Unix lover)
  • For instance, its background selector...

    This is one area of Window Managers in general that has annoyed me for quite some time. That is the doubling up of features. In regards to setting a background though, Gnome has the ability to completely disable its control over setting the background. Therefor whatever else you are doing to set a background will always work... E on the otherhand only allows you to turn off having a background... so if you then set a background through Gnome and then bring up a transparent terminal, the terminal will just show a blank root window as opposed to the background that you set through Gnome. At least that has been my experience.
  • No, I'm afraid to say that you're not the only person who thought that. ^_^
  • I really do like Enlightenment. What I usually do under X is start about 5 xterms and a browser (rather than doing the GUI thing - incidentally, that's how I use WinNT too), I do appreciate a bit of eye-candy.

    The themes that come with Debian are pleasing to the eye, and the WM seems easy to use. However, I do miss the right-mouse-button Lower feature (to send a window to the back) which FVWM supports.

    But at least Windows users don't accuse my desktop of being "dull" any more

    To broaden the appeal of Linux, it needs more work on this sort of thing. However, I think Linux is an awful long way from being a "consumer level" OS like Windows. Having just upgraded my system with the latest Debian, the installation leaves a lot to be desired when compared with Windows. Fortunately, I almost know what I'm doing when it comes to Linux (having first started with Linux when it was kernel 0.12!), so it wasn't a big deal for me to install Deb, but I can't imagine most of my friends (who are not in software development) installing it without my (or some other Linux aware person's) help.

  • I don't know if you need NVidia hardware, but reaster is a big fan of Geforce.

    --
  • I think you might mean windows 2000 instead of OSX.

    a google search of OSX and opengl [google.com] doesn't produce anything interesting. And Apple is fairly good about issueing press releases if they do something new. I've heard that the new interface for apple is pretty and that it's slick but I haven't heard too much about it being fast.

    Anyways, your logic is a little bit screwy about using 3d acceleration to speed up 2d. Because if you could do that then 3d acceleration would be called 3d and 2d acceleration. Perhaps you are associating OpenGL with 3d only instead of 2d? But OpenGL can be used to accelerate 2d also if you add the following line (and one or two others) to your code.

    gluOrtho2D(0, EzWinWidth , 0, EzWinHieght);

  • You got it. If Berlin does nothing more than force X to innovate and figure out ways to get this functionality into the existing infrastructure, then more power to it. That along makes Berlin Not A Failure.

    I think Berlin would have a serious chance if it was able to run X apps. Given that it currently can't, adoption is just not going to be widespread.

  • Err, actually you've got it backwards. E predated Gnome, and in most instances where they overlap, it is Gnome that duplicated a feature that was in E ( or any other WM).

    With the advent of destop managers, of which there are two main competitors(KDE, Gnome), it's up to the WM developers to decide to go back and remove the "overlapping" functionality. Or detect if a desktop manager is running and disable that functionality.

    For a lot of people that's a hard pill to swallow, especially given that you don't know for certain your users are going to be running ANY desktop software. The path of least resistance is just leave the code be.
  • Yay, next great thing is happening... wait it is not, rasterman somehow forgot about whole network transparency with X... Your applications ran on the other host will not bring up the EVAS on yourscreen. Rasterman beangered GNOME development team with his hacky programming that only he can understand, and now he is at it again. Why wouldn't he just work with framebuffer? The direction X programming on Linux going, is to ditch XLib altogether, because it is slowing whole eyecandy enabling process for rasterman-likes, so they just communicate directly with GLlib, which in turn calls extended XServer directly without marshalizing calls into datastream... how sad.
  • by Anonymous Coward
    I'm running KDE right now with antialiased fonts. The latest XFree with the Render extension makes this possible.
  • by heikkih (100839) on Sunday January 21, 2001 @09:41AM (#492298) Homepage
    ... and then I suggest all debian/E-users head over to ljlane's debian repository [debian.org] to check out the stuff :)
    Figure out there how to get it apt-able.

    heikkih
    -------
  • Keep in mind that Enlightenment is not really intended to be used with gnome anymore. It still works fine with gnome, of course and this compatability will remain. DR17, the next version is a complete rewrite. Not only will it be extremely faster, but it will include it's own file manager, EFM. It is quite amazing and certainly looks much better than all of the windows explorer ripoffs of other desktop environments. Also, we have a new binary config file format which will speed up the window manager startup considerably. There are tons of other features but the most important is of course this hardware accelerated eye candy.

    --
    David
  • That's obvious!

    <p>Although nowadays it's popular to hate Enlightenment, bash it's speed and fanciness, Enlightenment for me was more like a proof of concept, an attempt to achieve what's not directly achievable by X11. It was also a major eye candy in Linux advocasy demos (well, till MacOS X arrived, with the "swallowing taskbar" :).

    <p>I'm talking about the rippling desktop, zooming workspaces, transparent terminals (eTerm). All of that stuff was done by hacks around X, without any dedicated effects API from X -- and they managed to do it.

    <p>Now, OpenGL can offer those effects with real hardware acceleration - scaling, alpha blending, just the stuff all those effects need.
  • Really?

    Do you have to re-compile KDE?

  • I certainly haven't leveled a profiler on the X code, but I'm still pretty certain that the reason for it being so slow is that it is designed to run over a network. . . the client/server architecture is very versatile, but it does creat another abstraction layer.
  • I run E on a P233 w/ 96Megs ram, a reasonably busy theme, and a $20 video card and have never had speed issues. I've tried other WMs and haven't noticed anything drawing or responding faster. What's the speed problems I'm always hearing talk of?
    --
  • by Anonymous Coward
    Sure You can run it on your G400. Just check out the E-develop mailing list archives [geocrawler.com] Lots of people have the same problem and some of them even found the solution :) I personally don't have G400, so I don't have any experience in this field, however be prepared for recompiling the kernel and possibly X. In general EVAS stuff works on any hardware accelerated card supported by X, but it so happens that NVidia X drivers are WAY better(faster) than any other type.
  • Well, some of us don't want to actually see the windows and widgets being drawn on the screen. We want them to appear at once.
  • You can use the GNU tools to make a .so from the .a
  • by Anonymous Coward
    I am not so sure about that: a .so by definition is compiled with -fPIC (position independent code) while a .a doesn't have that requirement...
  • Give it up, Moe's better at this, and he's a cartoon.... Listen to me, you; when I catch you, I'm gonna pull out your eyes with a corkscrew and stick 'em down your pants, so you can watch me kick the crap outta you, then I'm going to shove a sausage down your throat and stick starving dogs in your butt! okay? Oh yea, then I'm gonna use your tongue to paint my boat. http://www.snpp.com/guides/moe_calls.html
  • As far as WM's go, IceWM and BlackBox all the way! I currently run IceWM, and it's awesome.. very beautiful, fast and effecient in every way, BlackBox is the same, although you may have to get used to it's "no bitmap" policy.

    as far as terminals go, it's Rxvt all the way, there's no other terminal that comes up as fast. I will trade that kind of speed for the obvious slowdown of using a hacked transparent terminal which ugly-ly blinks white everytime you click on it.

    But on another, slightly off-topic note.. everyone here is talking about 3D hardware acceleration. What ever happened to 2D hardware acceleration and how to it's not supported in X or seemingly trying to be supported?
  • Evas is more than just a toy, and it's also goes beyond hardware acceleration. It's rendering backends allow for the ability to transparently shift between OpenGL, Imlib2 and plain X rendering - this provides great scalbility. It also means that those machines that can only do software opengl rendering dont get bogged down by Mesa - but use Imlib2 (which is alot faster) - or for those machines that wish to use just X's rendering can use that. It basically means that people like myself that has a graphics card with blisteringly good perfomance can use it - rather than it sit there wasted. Even people with G400's have had great performance (even more so since raster re-wrote the GL engine). And no. This doesn't mean E will have transparent menus as they are still a PITA to have properly.
    ---
    boris at darkrock dot co dot uk
  • by Anonymous Coward
    EVAS is built on OpenGL, which (on Linux at least) requires X. The only things EVAS accelerates that X doesn't is Alpha blending. As long as your widgets don't use Alpha blending, they won't be any faster. And if your widgets use Alpha blending extensively, your desktop is going to be pretty damn hard to use (but nice eyecandy, no doubt).

    integrating RENDER and XAA (XFree86 Acceleration Architecture) is a much better solution, and the one that will catch on. EVAS can simply be retargetted to RENDER.

    Of course, you're probably just another person who can't read top who thinks his X server is sucking up 30 megs (hint: its not). I wish there was some good reference on modern COW shared mapping paged VMs.
  • by Hrunting (2191) on Sunday January 21, 2001 @10:24AM (#492312) Homepage
    A lot of people out there (me included) run Linux on much older computers (in my case a p120). WMs like WindowMaker and BlackBox run perfectly acceptable on these systems. Will hardware accelerating Enlightenment perhaps give a ray of hope to those of us with slower cards, or will even not pushing all that graphics work into the video card not help us?

    As a sidenote, what kind of graphics cards are we looking at here? Anything that has an accelerated X server (like, say, an old Mach64) or are we only talking high-end cards?
  • by Surak (18578) <surak@ma i l b l ocks.com> on Sunday January 21, 2001 @10:27AM (#492316) Homepage Journal
    So, the idea is that Enlightenment will be fast because the tons of junk that it does will be hardware-accelerated?

    It seems like they are saying that Enlightenment will be faster because it will specifically coded for the accelerated X server.

    I still kinda doubt it. Just because something's hardware accelerated, it doesn't mean that it will be fastest necessarily. Enlightment just has too much JUNK in it...it tries to do EVERYTHING...its a victim of rampant featuritis, or at least freeping creaturism.

  • I'm on the design mailing list and they have talked occasionally of doing XLib on Berlin - and they realise that it's a major step in people's adoption of Berlin [berlin-consortium.org]. It will be done, but there's more important things right now.

    -- Eat your greens or I'll hit you!

  • You should take a look at Sawfish [sourceforge.net]. It is just as themeable as E, you can script stuff for it in Lisp, and it has a very slick, well written feel to it (in contrast to E which feels like it has been thrown together at a demo hacking convention).

    --

  • Oh, yay, and I suppose there's a nice, included PDF viewer that uses Display PDF to view PDF files, then. What happens when you open a corrupt PDF file?
  • Let's see if I have this straight:

    EVAS is an API or library that allows for the WM, in this case E, to utilize hardware accelerated OpenGL hardware, not just the standard 2d raster stuff found on most video cards, right?

    Does this mean E will only work on NVIDIA and 3dfx hardware, under Linux? I've heard other people mention this too.

    Is this canvas software, EVAs, akin to Apple's DisplayPDF layer? Will it eventually mature into a display layer that sits between the hardware and the WM? I'm curious if Apple was an inspiration, or not.

    Or is it literally just a wrapper around OpenGL? Instead of calling a 2d api, it just remaps to an equiv 3d function call to get the alpha blending and scaling?

    If this is literally in it's infancy, maybe a long term design plan to create a Quartz type API would be nice.

    Geek dating! [bunnyhop.com]
  • Nice troll. No, you can blame the closed-source hardware development model.

  • So, basically what you are saying is, re-invent X, but do it in a way that is incompatible with most of the existing X apps out there... all so you can get rid of X?? Hmm.. something doesn't make much sense here...
  • No one is saying that Enlightenment *is* the fastest window manager out there. It isn't. It's fast enough for many people, though, considering it's large feature set.

    What Raster is saying is that actual tests of the *next* version of Enlightenment (using EVAS) show it to currently be the fastest window manager out there. I havn't tried that yet, but it sounds as though his claims are not without some evidence.

    --Ben

  • In modern versions of (stable) GNOME the toolbar is ultra-configurable. It can be a tiny 12 pixels if you so desire.
    • How long before this is in GNOME as well? Methinks personally that it will be there sooner or later. The "competition" between the desktop environments has until now shown that a Very Good Idea is soon to be adopted by all the players. (So s/"competition"/innovation/ here!)
    • How exactly can OpenGL do stuff like this? I know that OpenGL is now added to Xfree 4 hardware-accelerated whenever possible, and otherwise software-wise, so I understand people will start to use the OpenGL API just because they know it is always as fast as possible. But I thought OpenGL was about 3D? (OpenGL is still a bare terrain for me.)
    • So why are normal X extentions not hardware accellerated? That's what X is supposed to do: work with your video card, right? I mean, why can't this be done through Xrender or whatever deals with antialias etc.?

    Thanks.

    It's... It's...
  • Having just upgraded my system with the latest Debian, the installation leaves a lot to be desired when compared with Windows

    if you are looking at an installer targeted for the average windows user you should probably consider mandrake.

    the installer isn't really that important on the "consumer level". most "consumers" dont install operating systems. the operating system comes preinstalled.

    use LaTeX? want an online reference manager that
  • by SCHecklerX (229973) <thecaptain@captaincodo.net> on Sunday January 21, 2001 @01:00PM (#492365) Homepage
    Exactly.

    What I think is humorous is Raster's minimum requirements for EFM. PII-300, 96Mb of Ram, accelerated X server...For a FILE MANAGER???

    of course, Konqueror and GMC are just as bloated, and none of them are very functional when it comes to OO behavior (just because it's Drag Drop, doesn't mean it's good...I wanna be able to move something a link points to and have the link KNOW about it, dammit!!! ... think WPS).

    Here's one that's fast and nice though, even if not perfect, it's the best Filemanager for X at the moment IMHO:

    http://rox.sourceforge.net

  • I always enjoy coding with Rasterman's libraries. They are not done the Proper Way(tm) - they are better.

    Everyone has been told massive amounts of global variables are poor style. Everyone except Rasterman. Current color? Current drawing surface? Font to use? Dithering? All globals. It makes his code clear and efficient, and just as important, it eliminates all of those normally unused paramaters from functions that make code ugly and interfaces difficult to remember.

    So what if a lot would have to change to make his code thread safe. He prefers to use one thread for graphics stuff anyway, and he doesn't make sacrifices people who don't.

    What I am trying to say, is that we have general coding rules. Like no globals, because stuff like thread safety is lost and have different people design different parts becomes error prone. But he knows he doesn't care about thread safety, and he is the only person writing the library, so he violates the general rule. And his libraries are better for it. Evas is no exception.

    -Ben
  • ...and yes, it is that cool. I checked out the cvs version about three weeks ago, looked at the demo application and was very impressed.

    EVAS has three modes for rendering: Hardware Accellerated using OpenGL, Software only using various X windows extensions to speed things up, and X lib only for compatiblility with the lowest common denominator.

    I'm away from my linux box right now, so the next paragraph is from memory, and by now raster might have added more features and speed.

    The EVAS demo I looked at showed off all the features of evas like anitaliased text, alpha blending, image scaling, and so forth. When in Hardware mode, I was able to get around 80 FPS on my system with a Pentium 2 350 and a tnt 2 ultra (by todays standards, this is not an impressive system), in software mode the speed dropped to arounf 20 fps (comparable to the other canvases ive seen), xlib mode was slower, and the image quality was horrible, but the point of xlib mode is not for speed or quality but compatiblity.

    Raster's plan is to use EVAS to accelerate E 17 and EFM (Enlightenment's intergrated file manager). With hardware acelleration, E 17 shoud slimply rock.

    What I would like to see now, is for evas to be incorporated into other canvases, like the gnome canvas, whatever kde's canvas is, and java 2d. That would rock even more.
    --
  • You also have to keep in mind the E 0.17 is bein rewritten completly from scratch. Right now the code is about 7000 lines long total compared to E 0.16's 73000. They are completly different animals. So no it isn't logical to assume at this point that all the other managers can be speeded up, sice we still don't know what the final results are even going to be similar to.
    treke
  • Yes, there is an included PDF viewer, although it appears to only support a subset of PDF (some files just appear as a bunch of boxes). As for corrupt PDFs, feel free to send me one and I'll let you know what happens. :-)
  • by drig (5119) on Sunday January 21, 2001 @02:23PM (#492373) Homepage Journal
    X uses the same hardware acceleration that windows does. For instance, most modern video cards can draw basic primitives (like squares, lines, etc), and copy portions of the screen in hardware. X will use all of this. It's called the X11 Acceleration Architecture (XAA). /var/log/xdm.errors should show if you have XAA installed and working. Raster's software will use acceleration no one else does. For instance, using 3D acceleration to do pixmap resizing and alpha blending. Basically, rasterman is finding areas that could be used to speed up enlightenment that other people havne't thought of yet.
  • I think it is integrated with X. Rasterman is using the X interfaces. GLX for image scaling and alpha blending. XRender for antialiased fonts. It's just that no other WM is doing all this (KDE is using the XRender fonts).
  • by Richy_T (111409) on Sunday January 21, 2001 @02:53PM (#492380) Homepage
    go Amiga!

    I think it's already gone ;)

    Rich

  • As far as WM's go, IceWM and BlackBox all the way! I currently run IceWM, and it's awesome.. very beautiful, fast and effecient in every way, BlackBox is the same, although you may have to get used to it's "no bitmap" policy.

    According to http://www.us.rasterman.com/news.html [rasterman.com], ``I've been working on Enlightenment 0.17 too - and well- optimizing it too. I'm pretty sure its currently the fastest window manager out there - admittedly not 100% complete - just check it out of CVS. I've been doing performance comparisons with blackbox, fvwm, twm, windowmaker, sawfish, mwm and fvwm2 - and enlightenment 0.17 sofar equals or beats them in every speed test i throw at it.'' I find this quite interesting.

    But on another, slightly off-topic note.. everyone here is talking about 3D hardware acceleration. What ever happened to 2D hardware acceleration and how to it's not supported in X or seemingly trying to be supported?

    Almost nobody here is talking about 3D hardware acceleration. Thiss is all about 2D. Contrary to popular belief OpenGL does 2D as well as 3D.

    --Ben

  • This is so freaking cool! This is just the type of thing that Linux needs to become better than Windows in every possible way. EVAS is A) Fast. We (I anyway) all love speed, don't we? B) Has anti-aliased text! I haven't gotten Render to work yet (as I don't have a Matrox card) but I *DO* have an NVIDIA card, and from my POV, going through OpenGL is a much better way to integrate Render's features without yet another driver API. C) Alpha blending? Compositing functions? Am I dreaming? I hope not! I think that if the XFree guys keep hacking away at X (another couple of releases with jump as a big as 4.0, and X might get halfway to mediocre) and NVIDIA keeps churning out new Detonator releases, and the LibArt guys find a way to integrate with EVAS (yea, I know it's asking a lot, but everything is there, and it is wholly in the realm of possibility) then Quartz may not be the sexiest windowing environment around anymore. If EVAS takes off, I might even load Linux back on my system, and that is quite high praise indeed. PS> I know I'm dilusional and self-important, live with it ;)
  • give a ray of hope to those of us with slower cards
    >>>>>>>
    I don't think that any cards from the P120 era even *have* OpenGL HW acceleration, much less a good implementation of it. So no, I suggest you splurge and spend the $35 (on pricewatch) that a NVIDIA RivaTNT2 M64 costs. You'll be happier, trust me.
  • actually rather good for pixely 2D stuff).
    >>>
    Actually, for most implementations, the OpenGL 2D path sucks monkey balls. It is only good when you treat the desktop as a 3D space with a fixed viewpoint. That means instead of using blits and stuff, you texture map windows onto quads and draw them. Of course, I don't know how Raster pulled it off, since OpenGL currently doesn't support hardware rendering to a pixmap, but hey, he's a smart guy.
  • Last time I looked (5 minutes ago) Berlin seems to be tied to Linux via the GGI. That is a problem if you don't run Linux.

    From what info I see on here, EVAS isn't, as long as you have the needed X extensions.
  • OS X uses OpenGL, but not to accelerate Quartz. What it does is allow GL in Quartz views. Quartz itself, is software rendered PDF. (Now if they *did* hardware render it, I'd have an excuse to buy a G4...)
  • Having just upgraded my system with the latest Debian, the installation leaves a lot to be desired when compared with Windows

    I installed Beta 2 of Progeny [progeny.com] today. It's a Debian-based dist written by Debian developers, and it has a whizzy graphical install. I'd have no qualms about giving it to someone who's never installed Linux before.
  • How long before this is in GNOME as well? Methinks personally that it will be there sooner or later. The "competition" between the desktop environments has until now shown that a Very Good Idea is soon to be adopted by all the players. (So s/"competition"/innovation/ here!)
    >>>>>>>
    However, they also have a case of "not invented here" syndrome, so most likely, GNOME EVAS will not be compatible with KDE EVAS, will not be compatible with E EVAS.

    How exactly can OpenGL do stuff like this? I know that OpenGL is now added to Xfree 4 hardware-accelerated whenever possible, and otherwise software-wise, so I understand people will start to use the OpenGL API just because they know it is always as fast as possible. But I thought OpenGL was about 3D? (OpenGL is still a bare terrain for me.)
    >>>
    OpenGL doesn't really do 3D, it draws triangles in 3D space. All you have to do is fix your viewpoint directly above the scene, and make sure that everything you render is the same distance from the observer. For example, to blit a pixmap to part of a window, you create a texture out of the pixmap, and draw it on whatever part of the desktop you want. You get the hardware scaling effects by making the quad (quadralateral) you are using bigger or smaller, and OpenGL will not only resize the pic, but if you have filtering enabled, will smooth it out. You can do anti-aliasing creating a texture with the text and the correct alpha values, and alpha blending (again, accelerated by OpenGL) the texture onto the screen. OpenGL is actually quite nifty for 2D when used in this way. I wrote a little demo game once using GL. It was a 2D side scroller, but using OpenGL you can add stuff like rotation, scaling, light effects, cool fire effects, etc, that are usually hard (and slow) to do without GL.

    So why are normal X extentions not hardware accellerated?
    >>>>>
    For most cards, the 2D path (used by X) doesn't mesh well with the 3D (OpenGL) path.

    That's what X is supposed to do: work with your video card, right? I mean, why can't this be done through Xrender or whatever deals with antialias etc.?
    >>>>>>>>>>
    I suppose it could by done through X render, but I think that the XRender guys saw it fit to write their own driver API, maybe for good reasons (or maybe not ;)
  • Except make it not slow, bloated, and hard to program! You compatibility freaks should really realize when you just have to give it up and move on with new (and hopefully better) technology!
  • Yo, why was this modd'ed down? X11 is a crufty piece of junk! And even if the moderator doesn't agree with that statement, there is evidence supporting it, and the rest of the post is quite insightful. (namely the bits related to using SDL and keeping network transparency.) Where are my mod-points when I need them?
  • Or the Be icon. Be Inc changed their icon well over a year ago, and their OS's logo twice in that time...

    And that WINE icon is just evil...

  • He won't be able to run it, simply from the standpoint that the M64 AFAIK is AGP-only, and I doubt that a P120 has an AGP slot. Dude (p120 guy), just be happy with fvwm2 or blackbox or windowmaker or whatever works, because the amount of time and effort and potentially money you'll spend on that machine to get E/Gnome+Whatever/KDE running smoothly is prohibitive (I ran E pretty well on a p233mmx with 64meg of ram and an ATI Xpert 98 card, that's probably the minimum; now I run it on a p2-450 with 128 and a Riva TNT, and it flys (no Gnome)).

    If you are interested in getting a used PC, check out used-pcs.com [used-pcs.com](a local shop I've heard good things about; they have tons of Dells and whatnot. A system that meets the "minimum" for E I mentioned above looks like it would cost about $200-250 from them). Of course eBay is an option etc. etc. My point being is that if you really want to run this stuff just spend ~$300 or so on a used system, and make the old machine a server or something. :-) Good luck! (note also that you don't need Gnome at all if you're running E 0.16.x, so you can save memory and CPU by just running E.)


    --
    Fuck Censorship.
  • by Error27 (100234) <error27&gmail,com> on Sunday January 21, 2001 @08:41PM (#492415) Homepage Journal
    You must have misread the article.

    It's not talking about a specific X server, it's talking about a different canvas library that uses OpenGL graphics acceleration.

    >>Enlightment just has too much JUNK in it...it tries to do EVERYTHING...its a victim of rampant featuritis, or at least freeping creaturism.

    I believe that the new version of enlightenment is a complete rewrite. Have you looked at the new source code?

    Or on the other hand, your coment about "it tries to do EVERYTHING" may not have to do with code at all but is based on a misconception that adding features is the same thing as adding complexity to the code. This doesn't have to be true with a flexible design.

    It is wrong/imposible to describe a program as "a victim of rampant featuritis" without looking at the code. Users don't look at software and say, "This software is too powerfull and flexible for me" (They may say that the interface is overwhelming or unintuitive, but that's not the same thing as featuritis).

    Thus a program may indeed "do EVERYTHING" without having featuritis if the code is clean.

  • A company called Skinux is developing an eponymously named GUI for Linux that features anti-aliased fonts, alpha compositing, arbitrary transforms, etc. There's a
    screenshot [skinux.com] up, and you can browse their site [skinux.com] for more info.



    - - - - -
  • This is most exciting because we can use it to develop a really super kick-ass XDM replacement, or so I hope. The easiest way to get the largest group of people able to develop new login screens for it would probably to combine XDM-EVAS (for lack of a better name) with the flash player. Then you could develop flash movies with special properties which would handle gathering login name and password. Just be careful about bounds checking, eh? :)

  • New amiga product out every year since 1990. Each one less and less based on what amiga was about. It may have the name but is "a language independent Virtual Machine, with rich multimedia APIs, and is also the fastest JVM on earth" really an amiga which I remember as a wedge shaped personal computer with a built in keyboard and ahead-of-its-time games and applications? It's not really much different than what Amstrad did with the Sincalir name after they bought it off Clive Sinclair. No way would he have produced the mediocre piece of PC crap which bore the name.

    Rich

  • > Err, actually you've got it backwards. E predated Gnome, and in most instances where they overlap, it

    > is Gnome that duplicated a feature that was in E ( or any other WM).

    Chronicologically you are correct, but in the order of installation it doesn't happen that way. If Gnome or KDE is installed, then the Window Manager that works with them duplicating, or worse, overriding, their features it unpleasant. I understand that it's extra work to remove the stuff that was a lot of work to put in, but that doesn't change the fact that the stuff makes it less useful as a window manager.


    Caution: Now approaching the (technological) singularity.
  • Perhaps you forget, but Rasterman actually gets paid to develop Enlightenment. If I was his boss I would have told him long ago to get something finished or get out.

    And where the hell do you get the idea that people are only allowed to complain about things if they themselves are actively working on something like that? I paid for a boxed RedHat. If you pay for a car, do you feel that you're only allowed to whinge if the doors fall if if you yourself build cars? If you pay taxes to the government so that they can build roads, and the roads are full of potholes, do you only have the right to complain about it if you yourself help build roads? If you pay taxes to the government for decent schooling for you children, are you only allowed to complain if their schooling sucks if you yourself are helping to build schools? Don't be ridiculous. Get real. I don't have to write wm's to have a right to call other wm's as I see them.

  • Actually it can be thread safe. There are things called "per thread globals". It is unfortunate that C compilers do not support these in a clean way so that the implementation can be messy and require a function call instead of just a static variable.

    A lot of serialized interfaces become much easier to program if a global state is preserved. It can also be much faster in many cases as no checks are needed to see what is different between the new and previous arugments.

    I also think this is vital to get the drawing code away from the toolkits. OpenGL has this and we people writing Qt, GTK, Windows MFC, and other programs can cut & paste there OpenGL code between them!

    Xlib and Win32 GDI do not do this, and nobody bothers bothers emulating one of these on the other, despite the portability advantages. This is because the application has to retrieve the static information (the "gc") from the toolkit library, binding your code to the toolkit, and making portability between the toolkits impossible.

  • A) I'm not a newbie. All my xinitrc's for the last several years have included a script to renice X to -20.

    B) Yes it IS particularly bloated. While BeOS and QNX get away with full featured DEs for less than a meg, X at a minimum has a around 10-15 megs of binaries. Given the fact that QNX's Photon (in conjunction with QNET) does even more than X (full network transparency, window manager, FontFusion AA font renderer, OpenGL integration, etc, X compatibility) and takes up at most a few megs (with all the features, the most bloated being X compatibility) X has to be classified as criminally bloated.

    C) Why doesn't anybody use xlib then? xlib reminds me a lot of GDI (which makes sense, the GDI is influenced by X), and given the fact that Win32 is overall one of the crappiest API's I've ever had the pain to program, that's not saying much.
  • Thanks to the wonders of OSS, you could probably just reuse XAA and the existing drivers! As I remember, the acceleration API is quite general. And all those people making two redundant desktop environments might be more useful creating a replacement for X. Of course, given the fact that the OSS community has infinate programms (according to popular logic) manpower shouldn't even be an issue.
  • PRICE FOR ONLINE ORDERS ONLY
    - Nvidia Riva TNT2 vanta 16MB sdram
    PCI - Retail Box
    Nvidia Riva TNT2 vanta 16MB sdram PCI
    $ 48
    >>>>>>>>>>>>>>>>
    Partially correct. There is a PCI version, it is just a little more expensive. Still, $48 is chump change considering how much better having good OpenGl compatibility feels.
  • and how can you blame closed-source? So far it seems like all the great graphical systems are closed source software - it seems to be coming from compaies either trying to stay competitive (DirectX) or trying to get a foothold (Be, NeXTstep, etc)
  • OK, you'll never see this, but ya daffy bastard, y a got it all wrong. The original post dealt with the poor quality of hardware support for X--"blame it on the open source development model" and the thing is, not all the specs are available for all the gfx hardware out there. Yep, those mean ol' companies don't open their specs, don't support XFree, and would be more than happy to let you think "Gee, Windows is a helluva lot better since my gfx card works so much better under it than under Linux."
  • In OpenGL? Most stuff doesn't even access data at the pixel level, just the normalized coordinate level You draw a triangle and it's

    glBegin(GL_TRIANGLES);
    glVertex2f(2.0,3.0);
    glVertex2f(2,2,3,5);
    glVertex2f(2.9,3.9);
    ...etc...
    glEnd();

    In that bit of code, you could have drawn a 500 pixel triangle with only a few lines.
  • Why is everyone so bloody afraid of heirarchial structures? I love being able to install a symlink to wherever Propaganda.debs choose to install themselves and have it all be reflected in a menu without a lot of fuss. Face it traditional config GUIs make you do more work
    >>>>>>>>>>>>>>>
    A) Not everyone want's to fuss and figure out exactly *where* those symlinks go. With a GUI, you don't need to read any docs. With the CLI (for want of a better term to reference "your way") you do. Also, free yourself from the notion that the software developer has *any* control over what goes on your system. " wherever Propaganda.debs choose to install themselves" is just wrong, autocratic, and MS-like. YOU should chose where your software goes, not the Debian guys, and not the package maintainer! Stand up for your rights and be counted, or be downtrodden like the rest of the software-industry-oppressed lusers!

"Don't discount flying pigs before you have good air defense." -- jvh@clinet.FI

Working...