Enormous Video Acceleration while reducing system demand

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
gcmartin

Enormous Video Acceleration while reducing system demand

#1 Post by gcmartin »

When it was identified that Puppy was not taking advantage of the ability to have your Puppy share files in the same way that Apple and Microsoft natively did, this community stepped forward, identified the problem, and address it by implementing features in Linux designed to use the PC proper. This community exploited technology that had been present for Linux for over 2 decades. We now have several PUPs which provide OOTB sharing ability.

When it was identified that Puppy was not taking advantage of all the RAM in the PC’s hardware, this community stepped forward, identified the problem, and address it by implementing features in Linux designed to use the PC proper. This community exploited technology that had been present in hardware since 1995.

Now, I have just discovered that we “MAY

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#2 Post by starhawk »

OK, can you say that again, this time in Plain English?

What specific technology are you referring to?

Without more information, it just sounds like pie-in-the-sky to me.

User avatar
puppyluvr
Posts: 3470
Joined: Sun 06 Jan 2008, 23:14
Location: Chickasha Oklahoma
Contact:

#3 Post by puppyluvr »

:D Hello,
NVidia has their drivers available as a linux ".run" file executable from the CLI.
It gives the card amazing performance. It builds the driver on/for your exact system.
Is this the kind of thing you mean to look at?
Or do you think we need an "ndiswrapper" for video and audio cards?
Are drivers written in assembly, or C or what?

Puppy likes Intel.. Contrary to some commentary on the forum, I have always been able to get, for example, GL working on them.. even on i810, but poorly.
The NVidia box was another story..
Till I found the .run for it on their website.
Ohh Myyy the framerates it gets!!!
Linux does fine with my Intel vid and audio cards.
But if I could get a better framerate.. 8)
Or less resource drag... :x
Close the Windows, and open your eyes, to a whole new world
I am Lead Dog of the
Puppy Linux Users Group on Facebook
Join us!

Puppy since 2.15CE...

gcmartin

#4 Post by gcmartin »

My apologies for not giving pointers available for this video technology. I was excited after seeing a presentation on this with on-screen differences in it use in a Linux system.

Here's the technology Those distro developers who have an eye for user responsiveness will undrstand how this improves PUPPY Linux.

Hope this helps

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#5 Post by 8-bit »

Depending on the video card and if it has a co-processor, and extra dedicated ram as well as buffering capabilities, I have had a card of that type actually slow down in performance if I used a video buffer that was in addition to the card's buffer.
Ideally, a co-processor on the card that is speedy enough to not have to buffer input and the source speedy enough to supply input without any buffering would be what one is looking for.
Else, why would gamers be looking for exotic video cards with really good throughput.

gcmartin

#6 Post by gcmartin »

Total Agreement!

But, what I seem to remember is that this Linux technology isn't being taken advantage of .... even when the manufacturers make it available via the Motherboards.

That is the reason while I'm appealing to the community for Puppy evaluation.

I saw marked improvement in that demo and I saw a :"significant" CPU decrease. He used 2 identical laptops and just to show there was no differences, at a request, he switched the OSes on the laptop and repeated to show that it was the code that made the difference in such marked improvements.

We owe it to ourselves to see what the vendors (Intel, AMD, nVidia, etc) have already stated about this technology. And, further, we must understand how to insert it in what is done via the community.

We just need to find a way to take advantage where appropriate. Especially if the benefits are this drastic. (Seems that several non-Puppy distro have already taken steps)

Here to help

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#7 Post by p310don »

Gcmartin,

Are you talking about utilising something along the lines of VDPAU from Nvidia, with built in graphics?

VDPAU works well, in Puppy, to do basically what you are talking about, making the GPU do the grunt work for all things video related and freeing up the CPU to do the regular CPU type stuff. I have this working on two PCs, one with a video card, separate to the motherboard, and one with a SoC type arrangement provided by the Nvidia Ion.

I haven't used the equivalent of it in Windows, however, I believe the windows variant to be better, in that the GPU can also be utilised for video encoding and transcoding, which vdpau doesn't support.

For Puppy to use this technology with other video acceleration brands, it'd probably be necessary for the other manufacturers to make their GPUs compatible.

From Wikipedia:
Intel and ATI currently[when?] offer no support for VDPAU. Nvidia hopes these GPU designers will support the open source VDPAU library and provide drivers with VDPAU acceleration by mentioning example names of hardware specific drivers for Intel and ATI: libvdpau_intel.so and libvdpau_ati.so.[9] Intel has stated they are considering VDPAU support.[10]

gcmartin

#8 Post by gcmartin »

p310don wrote:Gcmartin,

Are you talking about utilising something along the lines of VDPAU from Nvidia, with built in graphics ...
Yeah. And I assume that if you had seen some information somewhere, the performance benefit is what attracted you to investigate, test, and use

The demo I mentioned provided clear evidence of utilizing Video Acceleration features of the Graphic Adapter. The VA-API was hi-lighted as the LInux means of taking advantage of this. The presenter used 2 identical laptops to show side-by-side differences in performance and monitor tools info on the behavior of the system(s). I dont remember the distro mentioned, but, to me, it did not matter as it was NOT Puppy. The PCs use HDD installed system, whereas, my use of Puppy is RAM based from CD boots.

The VA-API implemented system was on laptop with Intel graphic on the Motherboard (circa 2010) to demo behavior improvements.

In Puppy, we would have to understand how to implement this to be vendor neural (if its at all possible). And should there be no way to implement vendor neural, then we would have to understand how to bring in the vendor driver(s) that would provide similar benefit of this feature of video driver adaptations.

This type of addressing of graphics reaches far beyond traditional desktops as we have been using since Windows hit the scene. The need has increased as we have provide more and more ways for Puppy to be a legitimate player on our LAN for all sorts of reason. Further the root user nature of Puppy feeds our understanding that there is someone at the PC console who would want to be using the multimedia aspects, while the system may be doing many other things for the LAN (i.e. media serving, file-folder serving, netboot serving, print serving, etc.) which is not necessary visible to the console user.

This discovery (ur, "understanding") intends to bring awareness to improving Linux and its performance for a desktop experience without the "taxing" we currently may have in our desktop use.

The demo demonstrates that using this technology has merit. The RAM impact, when questioned was about a 10% increase (which is nothing when we think of active Linux in Puppy today less than 200MB on a GB PC). While the CPU reduction is 1000s% differences (60-80% down to 1%); this is enormous. (I only say this because many really don't understand the difference between size and CPU performance. Size is and never was a measure of CPU performance.)

Questions
  • What would/should be done now that we are aware of this technology?
  • Has anyone (else) also noticed that this type technology is available?
  • Can the community provide a means for feedback, such as what @P310don and @8-bit are trying to show us, here?
Ideas/thoughts/experiences...anyone

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#9 Post by technosaurus »

10% increase in ram usage on a 4Gb RAM machine would max out a 256Mb puppy box - you have to compare apples to apples and last time I checked nvidia doesn't have a comparable apple (no open source driver that even _could_ be integrated with technologies like openCL) all you get is a questionable binary blob that may/may not work with no means of fixing it if it breaks ... so if you want to complain about nvidia performance, this is the wrong place... you basically have 2 options:
1. lobby nvidia to open their driver source ... yeah right - not really an option.
2. support the developers that are busting their humps to reverse engineer the hardware so that they _can_ write open drivers

BTW system demand doesn't actually get reduced, it just re-appropriates different resources that aren't measured so the ram difference would be nil or negative if you have a card that uses shared system RAM... GPUs aren't always more efficient/effective unless you are running some kind of map stitching software that does a lot of gpu-type operations.

These self sponsored promos are almost always just propaganda. Of course they don't show how it doubles application start times, triples boot times or decreases responsiveness or whatever (not that it necessarily does any of those). That would be like Volvo showing how a guy can't pick up the pretty girl, but then survives a crash with a now obliterated sports car that she _did_ go with... camera pans out on her beautiful dead corpse as guy leans appreciatively against the buckled hood with the volvo insignia gleaming at the camera... fade to black and the Volvo motto from the movie Crazy People - "They're boxy, but they're good." ( actually that would be more Volkswagen's style ) Now imagine the same commercial from the sports car guys... You'd probably not show the last part and the Volvo guys would probably not show the first part. Very few companies are confident enough in their product to compare _all_ of the features. Open source is different in that we often give a "pre-alpha" status to stuff that would typically ship in commercial settings partly because all possible flaws are visible to all in the source code.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#10 Post by p310don »

BTW system demand doesn't actually get reduced
Well, CPU demand gets reduced, as it offloads onto the GPU.
...GPUs aren't always more efficient/effective...
VDPAU only works with the right codecs. I have a few different installs, and one in particular won't play a 320x240 WMV using VDPAU. VDPAU offloads everything to the GPU, which can't understand the codec properly, but the CPU is more than adequate to do the job. So its not a great solution, in that context.

For gcmartin's comments, to be vendor neutral would be virtually impossible, especially from a puppy perspective. There are only a handful of GPU manufacturers in the desktop arena, ATI, Nvidia, Intel and S3. Only two support VDPAU, Intel has made some progress with VAAPI and ATI has XvBA which seems pretty limited, but I haven't used it. So four different manufacturers and 3 different approaches to acceleration. It'd be impossible to have 3 approaches, made into one, suitable for everybody.

This idea reminds me somewhat of previous discussions we've been involved with the PAE. Whilst there are advantages in the right circumstances, for a lot of people with older hardware, it just isn't relevant. PAE has proven that a lot of the time, having it on old hardware doesn't make any real difference. Trying to run VDPAU on an older card that doesn't support it, means video won't play. Simple.

I think, to make something like this feasible would take a script / questionnaire type scenario. Like in Quickpet, figure out which graphics card is in the machine, download the appropriate driver, and then ask if you want to turn on GPU hardware acceleration.

Of course, if you have puppy on a CD or Flash drive for portability, this is all a PITA when changing PCs.

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#11 Post by starhawk »

gcmartin, can I make a simple suggestion?

Someone on here came up with a really nice idea, that had great potential: an operating system that was capable of migrating to nearly any hardware capable of running an OS.

Perhaps instead of trying to drum up excitement for these bits of 'progress' that are two steps forward and two (or three) back again, you could take a look at that concept and maybe even make it work.

It occurs to me that one could likely borrow some ideas from Android to make the self-port-to-anything concept work.

Here is the thread on this (it's a little old) --> http://murga-linux.com/puppy/viewtopic.php?t=77503

Don't get me wrong, it's still pie-in-the-sky, but it's also a real Win-killer if it's done and done right (PR is tricky stuff).

gcmartin

We are sharing technology concerns necessary tak'n advantage

#12 Post by gcmartin »

You have clearly expressed the kinds of considerations necessary for a simple approach to selection of a drivers with.without "Acceleration".

Now, whether this community can benefit, usefully, by this, might spark a step in boosting video responsiveness on those PUPs which can take advantage of this on the Video peripherals present in their PCs.

As had been the case in ALL OSes, many are capable of taking advantage of improvements while many others cannot.

The combination of what we derive from this thread (which started with an observation at a Linux Seminar), may indeed assist us in Puppyland.

Video Acceleration via Open-sourced VA-API may provide a useful boosting which might be overlooked otherwise, at least for those cards which have GPUs.

Here to help

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#13 Post by sunburnt »

I think technosaurus may very well have a correct analysis of this.
Quite often when great improvements are touted, they`re really hype.

As Linus Torvalds pointed out: For Linux the choice is clear... Buy ATI.
He didn`t give nVidia the big finger for nothing, they`re full of crap.!!!

Even on my son`s new quad core Phenom with Win.8,
an nVidia 460GTX just would not work.
Installed an ATI 7770, and happy boy!

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#14 Post by starhawk »

gcmartin, did you see my comment above yours? I don't believe it was addressed.

gcmartin

#15 Post by gcmartin »

Yes, @StarHawk, I did review your reference. I am in agreement with ideas that are held there. And many forum members are aware of the maturity that PUPPY has been making especially over the past couple years. We now have distro produced which mimic LAN capabiltiies ONLY found in Microsoft, Apple, and other top 10 LInuxes. We now have greater and smarter hardware detections. We now have boot to desktop technologies which makes Puppy tremendously simple for any startup use. Just to name a few. We now have technologies to allow PUPs to be a PXE server so that any other LAN PC can boot without the need for any user to install anything. We now have ...

In the desktop arena, we still have improvements which need be made with some of these, but the commmunity is addressing it when talents/resources can be devoted to such.

This thread was started because I became aware of a technology that I not sure that our community, largely, was aware of. It intends to get those who truly understand Puppy's video to be aware of a open-source LInux technology that, if employed rightly, could have a tremendous impact in freely CPU for other tasks while providing great multimedia experiences.

I and many others are aware of the impact that a multimedia experience impacts other desktop processing. I saw a "very real" experience that showed, with data, that deployment of VA-API does make a dramatic difference to the user experience.

If there is merit
in this for this community, we have the intelligence and the creativity to bring its use into our fold for community and distro developers, alike.

Here to help

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#16 Post by p310don »

Just to add some data....

I have a new camera that takes 1920 x 1080i AVCHD video. (very nice)

In Saluki 021 using Umplayer to play the video I get

Without VDPAU 54% CPU usage, with laggy, but watchable video

With VDPAU 13% CPU usage, with fast, but horribly interlaced video

Using the command line

Code: Select all

mplayer something something something that I can't remember
to get VDPAU working, it played BEAUTIFULLY, fast, crisp image, with 10% CPU usage.

Post Reply