Posted Dec 1, 2009 0:16 UTC (Tue) by jspaleta (subscriber, #50639)
Parent article: Between Fedora 12 and 13
So... Dave was nice enough to layout what the priorities are for Red Hat staffed manhours when it comes to video driver development work. The real question is there a business interest that cares enough about 3-D support to staff manhours to work on the 3-D? Novell? Intel? ... dare I say it... Canonical? Other than Red Hat whose funding video driver work and are any of them actually prioritizing 3-D support at the top of their staffing?
Dave goes on to say that 3-D support is a good candidate for someone in the community to step up and contribute to improve.
Posted Dec 1, 2009 0:40 UTC (Tue) by foom (subscriber, #14868)
[Link]
> dare I say it... Canonical
Indeed, this does seem like something that ought to be right up near the top of their prioritized list
of things to fund work on, considering the Desktop focus.
Between Fedora 12 and 13
Posted Dec 1, 2009 1:01 UTC (Tue) by roblucid (subscriber, #48964)
[Link]
Novell's got commercial desktop, and has team doing ATI RadeonHD driver.
Intel use Linux internally for CAD, presumably they would tend to use lots of integrated graphics, but at least they have worked to update the video stack.
With X & KMS, plus improved graphics memory management technologies, it seems churlish to expect non-glitchy 3D in releases made less than 8 weeks after new kernel version.
If they bugs stay unfixed, in 3 or 4 months, then I'll really start to be concerned.
Reality is, most users go get the blobs from Nvidia & ATI/AMD with Nvidia rated as less trouble because it installs more reliably.
Between Fedora 12 and 13
Posted Dec 1, 2009 1:51 UTC (Tue) by drag (subscriber, #31333)
[Link]
Well... 3D graphics is important for a lot of reasons.
Think about the things you've been reading lately:
TTM (and Intel's GEM) --- Unified Memory Management system is required for
many basic features in OpenGL 2+ and other 3D related APIs. (Nvidia
proprietary drivers had this feature since day 1.)
KMS --- Required for unified memory management. Also this effectively
solves the problems Linux users experience when doing things like
presentations on projectors (given the previous inability to hotplug
monitors and such). Previously you'd have to do things like edit your
Xorg.conf and all that happy crap. Plus having it in the kernel makes it
useful for things other then just X, makes it faster, makes it more
reliable, and is much easier to deal with.
No-DDX --- Getting rid of Device Dependent X Drivers is necessary for very
good unified memory management. It'll make it easier to improve performance
for desktops that have a mixture of 2D and 3D elements (although in micro
benchmarks it probably won't look like a big difference). It makes it
possible to support multiple GUI logged in users in a meaningful way. It
will eliminate the requirement to run X as setuid root. It'll make getting
working 2D AND 3D drivers vastly easier. Etc. Etc.
Gallium --- Provides a unified driver framework on top of the unified
memory management framework. It'll allow Linux to have multiple effective
ways to
access the processing power of GPUs. Help make making drivers easier, help
making performance improvements easier, etc etc. Right now Linux only
really supports EXA and OpenGL in a useful manner.. with OpenGL only being
barely useful. (with Open Source drivers). If you want to have GLSL shaders
done right, Media encoding/decoding, raytracing acceleration, OpenCL, or
any other GPU-related technology working well Gallium will need to be
perfected. Of course this has to wait for all the other building blocks
above to get done and mature a bit first.
You have a couple major things happening:
Video cards no longer support 2D acceleration in any way shape or manner.
No 2D engines. On the newest ATI cards it's only done through firmware
emulation, and that will end pretty quickly in itself once ATI stops having
to give a shit about XP support.
All 'acceleration' will actually be done through the '3D pipelines' which
is slowly turning into little more then a pure software solution that is
optimized
to run your CPU and your GPU. The GPU being nothing more then dozens or
even hundreds of little 'micro processor cores' that are programmable in
how they are accessed and what they are used for.
And eventually the GPU will be integrated as a Core on your CPU to save
expense, improve performance, and should be available to all applications
through for doing all sorts of calculations beyond those designed just for
rendering something on your monitor.
----------------------------------
Basically the business model is:
"If you give a shit about anything remotely to do with Linux combined with
graphics in any way shape or manner, plus you care about Linux being able
to effectively use the multiprocessor machines of the future (GPGPU) then
you should really really really really really care about this sort of
thing. It is exceptionally critical and without this Linux will not be able
to do even relatively basic functions that users of other OSes will take
for granted".
Keep in mind that the technical equivalents of everything I described up
there have been present in Windows since Windows XP came out, more or less.
Some of it was not really native to Windows until Vista, but it's all been
in their drivers. (well none of the GP-GPU type stuff.)
So Novell, Redhat, Canonical, and anybody who hopes that Linux will be
competitive into the next decade should be willing to put money and
developer time behind this sort of thing.
Right now the champions of Linux graphics seem to be Redhat, Vmware, Intel,
and ATI since I think they are the ones putting the most money into it. But
I am not sure.. I am sure that somebody involved in X development would
have a much better idea.
Forgive me if I said something ignorant above, I could be quite mistaken
about specifics, but I should be generally right.
3D overload
Posted Dec 1, 2009 8:12 UTC (Tue) by eru (subscriber, #2753)
[Link]
I fear you are right about the future, but I find all this emphasis on 3D pretty annoying, a waste of resources. Who cares about 3D? Gamers and those working on CAD. For me and (gazing around) everyone in the big open-plan office around me, good 2D acceleration with maybe some live video support thrown in (for those internal corporate clips featuring flying logos and the talking head of some boss) is all that is required. Its just text and pictures. Stuff that graphics cards circa 1999 already did pretty well...
Compiz and similar? Seriously, what are they for? I tried, for all of 5 minutes, felt nauseated and went back to ye olde desktop.
3D overlord
Posted Dec 1, 2009 8:50 UTC (Tue) by kragil (guest, #34373)
[Link]
Well, Compiz is not the real goal. Having fast smooth non-flickering non-tearing graphics and tapping into the power of the GPU is.
The GPU is a powerful friend for doing a lot of things.
On Windows IE and Firefox will render their web pages with the GPU which provides a lot of acceleration.
I'm not 100% sure, but couldn't almost all of things in X be done by the GPU? (Drawing, hinting, font rendering etc.) Wouldn't that be something?
And I grow quite tired of the memory consumption whining. If done right only the memory on the graphics card will be used and not having 512 mb gfx memory laying around dormant is only a good thing in my book.(Win7 already does it that way .. Vista didn't.)
@drag: Thankfully Windows XP support will be with us for years and years to come. Hell, it is still being sold. So before 2015 we don't have to worry that much. Linux is lucky in that regard, but that is just for the fairly broken status quo.
3D overlord
Posted Dec 1, 2009 9:16 UTC (Tue) by eru (subscriber, #2753)
[Link]
And I grow quite tired of the memory consumption whining. [...]
Actually, when writing about resources, I wasn't whining about memory consumption (this time... normally I whine about it a lot). What I meant is the extensive need of bright mind time to debug 3D support and (even worse) reverse-engineer proprietary 3D hardware and drivers for things like Nouveau.
But I guess I just have to stop worrying and learn to love 3D cards.
3D overlord
Posted Dec 1, 2009 17:11 UTC (Tue) by drag (subscriber, #31333)
[Link]
Well don't worry to much about the concentration on '3D'. The GPU is really
just a bunch of tiny processor cores, really. We (in Linux) can't use them
for anything to substantial in distros because the proprietary software,
well, is proprietary, and
the open source stuff is not up to snuff yet. Think about it like a math
co-processor in a 286 machine.
The 'fixed function' "OpenGL Accelerator" or "DirectX Accelerator" style
graphics card which was designed to specifically acceleration one or two
APIs started dying off with the introduction of things like 'Geforce 256'.
Every since then they are growing more and more general purpose. The DDX
and Mesa DRI drivers were designed specifically for that sort of 'fixed
function' were you hand off certain OpenGL functions to hardware. This is
one of the reasons that hardware support is so slow coming and it's so
difficult to make them stable and useful.
The Geforce 256 was the first major step away from that sort of concept and
it was introduced around mid-1999, which goes to show you how far behind
Linux really is.
Nowadays they can be used for just about anything. Accelerating media
decoding/encoding, (certain types of) super-fast floating point
calculations for scientific calculations and stuff like that. Hell I expect
that they could possibly be used for some sort of crypto or random number
generation. The push for the '3D' desktop is partially just a vehicle for
change. To get users to actually start caring and heavily use 3D stuff;
especially open source drivers. The unified memory management and related
items (KMS/DRI2/etc) are a basic dependency for Linux to take advantage of
the power the GPU can unlock.
Besides all that, of course, it will help with security since we can
separate graphical users from root in a much more substantial way and it
will help making the desktop more attractive due to the increase in
performance, stability, and that sort of thing.
3D overload
Posted Dec 1, 2009 11:58 UTC (Tue) by tialaramex (subscriber, #21167)
[Link]
2D is just a special case of 3D with very boring matrices. The "2D acceleration" in older chips tended to mean acceleration of the Windows GDI functions, whereas at least "3D acceleration" is more generally applicable stuff.
AMD/ATI do make a chip with no 3D features, they sell it for inclusion in rack servers which they rightly theorise will be connected to an LCD panel for maybe 5 minutes if they're being installed by someone who is new to the business and doesn't have a reliable network based auto-installer yet. It has basically the same framebuffer setup and so on as their 3D chips, just no 3D. I would not be surprised to discover that this is actually just as expensive to make, and is done purely because 3D drivers are notoriously complicated, therefore unreliable and no-one wants their web server crashed with an Oops message saying the 3D rendering engine lost an interrupt. Not providing the hardware is a 100% effective way to prevent people installing unreliable 3D drivers on their server.
If you're able to convince business PC makers that these framebuffer-only chips are the Right Thing for corporate desktops, you may be onto something. But I suspect that with e.g. Excel and Powerpoint already taking advantage of the 3D acceleration, you won't get much traction.
3D overload
Posted Dec 3, 2009 20:38 UTC (Thu) by anton (subscriber, #25547)
[Link]
We have older servers with the ATI Rage XL, and middle-aged servers
with the ATO ES1000. I once ran X on the ES1000, and X recognized it
as a Radeon 7000 or somesuch. We have free accelerated 3D drivers for
the Radeon 7000. IIRC I even tried 3D, and it worked.
BTW, normally we run our servers in text mode, not for fear of
getting an oops from the 3D driver (if the X server crashes, we don't
care), but because we only need the console when we boot the thing,
and when it does not react to the network. And then we want to see
what the kernel said on the console, and X having blanked the screen
or displaying anything but the console is not very helpful.
3D overload
Posted Dec 5, 2009 1:29 UTC (Sat) by tialaramex (subscriber, #21167)
[Link]
I once ran X on the ES1000, and X recognized it as a Radeon 7000 or somesuch. We have free accelerated 3D drivers for the Radeon 7000. IIRC I even tried 3D, and it worked.
I guess everybody has their memory play tricks on them sometimes. The ES1000 has no 3D capability. If you don't believe me you might read ATI's specifications for it, or the source of the free driver you're talking about.
3D overload
Posted Dec 16, 2009 19:03 UTC (Wed) by daenzer (✭ supporter ✭, #7050)
[Link]
> The ES1000 has no 3D capability.
Actually, at least initially the 3D hardware was there, just not validated during production (probably that's cheaper than actually removing the hardware). So with luck it might work at least to some degree, but if it breaks you get to keep both pieces. The X.Org radeon driver currently disables all functionality using 3D hardware by default on these cards but it can be enabled via xorg.conf options for giggles (the extremely low video memory bandwidth probably precludes any non-trivial 3D usage anyway).
3D overload
Posted Dec 1, 2009 23:35 UTC (Tue) by bojan (subscriber, #14302)
[Link]
> but I find all this emphasis on 3D pretty annoying, a waste of resources
90% or more of silicon real estate of graphics chips these days is dedicated to 3D. Using that to display 2D is actually faster and works better than using the 2D hardware. This whole thing is not about 3D effects, 3D for CAD or anything like that. It is about using the hardware so that the regular desktop works smoothly.
For instance, I use compiz but I do not enable any of the fancy 3D effects (e.g. wobbly windows, workspaces on the cube), because they are annoying to me. However, windows move better around the screen with compiz (because it's using 3D hardware to draw them), zooming is better, small objects are displayed more precisely (just look at the workspace switcher), scrolling is faster, CPU utilisation is lower etc.
3D overload
Posted Dec 2, 2009 19:34 UTC (Wed) by drag (subscriber, #31333)
[Link]
From what I understand is that for video cards still containing 2D
acceleration those 2D acceleration processors are just little more then
copy-n-paste versions of the processors developed over a decade ago when
people still cared about 2D performance.
Once popular gaming switched gears from 2D side-scrollers to 3D shoot-em-ups
then all development regarding 2D processor cores halted completely for
mainstream systems. I figure all advancements in graphics and rendering
acceleration have occurred on the '3D' side of the hardware since around
1998 or so.
3D overload
Posted Dec 3, 2009 11:19 UTC (Thu) by nix (subscriber, #2304)
[Link]
There's another reason why graphics card vendors only pay attention to 3D performance... because even with old cards like the Radeon r100 series, 2D performance is limited by memory bandwidth these days, not by GPU speed. Screen updates are pretty much instantaneous as long as the CPU can get the data to the card fast enough. Graphics card vendors are paying attention to 3D because there's nothing left for them to do in the 2D arena.
3D overload
Posted Dec 6, 2009 1:23 UTC (Sun) by numasan (guest, #62353)
[Link]
"Who cares about 3D? "
Well, I and a whole industry do. I guess you don't watch "blockbuster" movies if you feel nauseated by Compiz, but +90% of all visual effects in big budget movies are created (not just rendered) on Linux, and great OpenGL acceleration is very much needed. Right now Nvidia is King with their proprietary driver, and will be for some time yet.
As others have stated 3D is not only for games and Compiz (which I don't use). Perhaps you could couple CAD and DCC together, but with a modern graphics card and Blender you have the tools to create without it being "exclusively highend-only". Unfortunately the open source stack is not yet capable or stable for this task. I personally hope that 3D will get a lot more attention, especially for serious work. What good is a "multi-teraFLOP" GPU when it can only drive wobbly windows?
About Fedora12, we are currently running F10 on our graphics workstations albeit very customized. I'm planning to evaluate F12 soonish but have thought about looking for another distro... F10 is working decently for us though.
Between Fedora 12 and 13
Posted Dec 1, 2009 8:29 UTC (Tue) by roblucid (subscriber, #48964)
[Link]
> Video cards no longer support 2D acceleration in any way shape or manner.
> No 2D engines. On the newest ATI cards it's only done through firmware
> emulation, and that will end pretty quickly in itself once ATI stops
> having to give a shit about XP support.
> All 'acceleration' will actually be done through the '3D pipelines' which
> is slowly turning into little more then a pure software solution that is
> optimized to run your CPU and your GPU. The GPU being nothing more then
> dozens or even hundreds of little 'micro processor cores' that are
> programmable in how they are accessed and what they are used for.
But Windows 7 has as a new feature, 2D acceleration for GDI graphics like XP. That'll have to be supported for a while you know. They have now implemented a new accelerated framework for drawing text, and plan to add support for accelerated text into IE9 to improve scrolling.
Why can't a generalised GPU accelerate 2D? In general lusers don't give a monkeys if it's done in pure hardware or hardware + software; it just needs to do the drawing primitives fast, and offload stuff from main memory. The 3D solutions today, basically are hardware + software in the cards so accelerating 2D ought to be very doable.
Between Fedora 12 and 13
Posted Dec 1, 2009 17:59 UTC (Tue) by drag (subscriber, #31333)
[Link]
Your right, of course.
Modern (or at least future) video cards accelerate 2D operations through the
3D pipelines. From the programmer's perspective they can still be
programming GDI or EXA or XRender, but from the driver's perspective you'll
still need to support 3D operations and have a unified memory management
scheme for all the different APIs you want to support.
What I was merely talking about is the 2D processor engines that you
traditionally targeted through 2D drivers like 'nv' or other X.org DDX stuff
is going away.
Between Fedora 12 and 13
Posted Dec 1, 2009 9:06 UTC (Tue) by luya (subscriber, #50741)
[Link]
"Video cards no longer support 2D acceleration in any way shape or manner. No 2D engines. On the newest ATI cards it's only done through firmware emulation, and that will end pretty quickly in itself once ATI stops having to give a shit about XP support. "
Depend which videocard because PowerVR series (found on majority of mobile device include Apple IPhone and Nokia N900) supports 2D acceleration due to its tile-based architecture.
Between Fedora 12 and 13
Posted Dec 1, 2009 13:18 UTC (Tue) by nix (subscriber, #2304)
[Link]
Um, just about every graphics card out there has some sort of tiling (it's useful for locality-of-reference because it means that things close in space are close in memory). That doesn't mean it necessarily supports any 2D acceleration to speak of.
Between Fedora 12 and 13
Posted Dec 3, 2009 9:09 UTC (Thu) by luya (subscriber, #50741)
[Link]
Except majority of modern videocards does not use deferred rendering method i.e only visible pixels are rendered, they use immediate mode rendering. That method reduces memory usage and can save power as well which explains why PowerVR chipset has become defacto in mobile world. Check out: http://www.imgtec.com/powervr/powervr-technology.asp
The videocard of old Dremcast uses same method being the predecessor of those chipsets.
Between Fedora 12 and 13
Posted Dec 1, 2009 18:15 UTC (Tue) by drag (subscriber, #31333)
[Link]
The stuff for embedded systems is going to be trailing PC-based systems by a
few years.
The PowerVR situation is one of the major things that sucks about Linux on
ARM. With Linux on x86 you can get open source 3D acceleration through Intel
and, in a way, through ATI pretty easily. But to do that on ARM still
requires very proprietary drivers, as far as I know.
Between Fedora 12 and 13
Posted Dec 3, 2009 9:16 UTC (Thu) by luya (subscriber, #50741)
[Link]
Maybe somebody should bring back the old Kyro (PowerVR Series 3) module that was removed from kernel 2.6.
Between Fedora 12 and 13
Posted Dec 4, 2009 17:35 UTC (Fri) by leoc (subscriber, #39773)
[Link]
I am no expert, but it seems to me that if/when the graphics functions do move into the CPU, it would by necessity have to be much more open than the situation we have now.
For example, how could ATI/AMD could keep its video technology a "secret" without hindering the CPU as a result? Would you have to load a "proprietary blob" to be able to run anything on it under Linux?
Between Fedora 12 and 13
Posted Dec 4, 2009 22:39 UTC (Fri) by nix (subscriber, #2304)
[Link]
Um, CPUs already contain secret proprietary magic uploadable binary blobs.
Neither AMD nor Intel publicise the format of their CPU microcode.
Between Fedora 12 and 13
Posted Dec 11, 2009 21:21 UTC (Fri) by leoc (subscriber, #39773)
[Link]
Yes, but once they are loaded you have access to the instruction set of the CPU, unlike say with NVIDIA video cards that hide everything behind the closed driver.
Between Fedora 12 and 13
Posted Dec 4, 2009 21:31 UTC (Fri) by Tet (subscriber, #5433)
[Link]
Dave was nice enough to layout what the priorities are for Red Hat staffed manhours when it comes to video driver development work
Yes. But that is also somewhat worrying, given that I reported a complete failure a month ago (as in X is completely unusable -- it crashes reliably at startup), and nothing's come of that yet. Can they really have that many other critical X bugs that they haven't been able to look at it in a month?
Between Fedora 12 and 13
Posted Dec 4, 2009 21:49 UTC (Fri) by jspaleta (subscriber, #50639)
[Link]
bug number?
-jef
Between Fedora 12 and 13
Posted Dec 9, 2009 18:28 UTC (Wed) by Tet (subscriber, #5433)
[Link]
Bug 533030
Between Fedora 12 and 13
Posted Dec 13, 2009 18:02 UTC (Sun) by AdamW (guest, #48457)
[Link]
"Can they really have that many other critical X bugs that they haven't been able to look at it in a month?"
Graphics development is hard. This is nothing specific to Fedora, all distros have this many graphics bugs, more or less.
Between Fedora 12 and 13
Posted Dec 13, 2009 18:03 UTC (Sun) by AdamW (guest, #48457)
[Link]
Oh, and we did 'take a look at it': Ben Skeggs is RH/Fedora's nouveau developer. If you can't get logs, there's nothing we can do to tell what's going wrong. You could boot to runlevel 3 and try startx manually.
Between Fedora 12 and 13
Posted Dec 13, 2009 18:00 UTC (Sun) by AdamW (guest, #48457)
[Link]
Jef: you'll note that 'enough 3D for actually-important things like composited window managers' is in the priority list. It's the highest priority besides 'getting the card working at all'. The future of GNOME is gnome-shell, so RH needs at least that much '3D' functionality to work on all major cards. That's the main reason we hired Ben Skeggs.