Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 05-24-06, 03:54 AM   #1
meskalamdug
Registered User
 
Join Date: Apr 2006
Posts: 103
Default Nvidia 8762-same problem for tv apps!

As 8756 we have the same problems,tv apps(kdetv,xawtv) won't works correctly
black screen,or bad colors
meskalamdug is offline   Reply With Quote
Old 05-24-06, 04:36 AM   #2
meskalamdug
Registered User
 
Join Date: Apr 2006
Posts: 103
Default Re: Nvidia 8762-same problem for tv apps!

I found a "solution"

xawtv -noxv -nodga -gl

With this work,but cpu is high(5%) and is not good as xv
meskalamdug is offline   Reply With Quote
Old 05-28-06, 08:51 AM   #3
bwkaz
Registered User
 
Join Date: Sep 2002
Posts: 2,262
Default Re: Nvidia 8762-same problem for tv apps!

Yeah, that just means that xawtv uses OpenGL instead of XVideo to do its output. It's still not using direct card-to-card communication from the TV card to the video card's framebuffer, so it's still going to take CPU to shuffle the data around, and therefore it's still going to prevent full power-saving mode, and it's also still going to cause "hitches" in the video playback when other programs use a lot of CPU at one time.

(And note that the entry in Xorg.0.log is still the same regarding memPhysBase=0x0. I still don't know whether that has anything to do with the problem or not, though. Also note that the linux-bugs address has been, er, less than helpful. I don't even know whether they got my email -- I've gotten no response whatsoever. Now maybe it was "hectic" (or something) getting the 8762 driver out, so I'm going to try again; we'll see.)
__________________
Registered Linux User #219692
bwkaz is offline   Reply With Quote
Old 05-28-06, 11:58 AM   #4
pgs
Registered User
 
Join Date: Apr 2006
Posts: 73
Default Re: Nvidia 8762-same problem for tv apps!

Yeah, the GL interface works, somehow, but, CPU load apart, in my system,
it cannot do fullscreen properly (xawtv), otherwise I would have already
used it in that way.
Interesting enough, mplayer can do fullscreen with GL, so, maybe this is a
xawtv problem, nevertheless it would be not too bad to a fix fo the overlay.

About MemPhyBase (or whatever it is called) I still do believe 0 is not correct.
pgs is offline   Reply With Quote
Old 05-28-06, 07:48 PM   #5
bwkaz
Registered User
 
Join Date: Sep 2002
Posts: 2,262
Default Re: Nvidia 8762-same problem for tv apps!

Received a response from linux-bugs a few hours ago. (Good grief, they work on Sundays! Now that's dedication! Or a crappy job to make you do it, one or the other. ) Here's the relevant part of it:

Quote:
I did look at this issue and memPhysBase=0x0 will indeed prevent xf86-video-v4l from working correctly. I'm looking into a solution...
and from there it went on into stuff that isn't relevant for this. So they're at least aware of the problem, and trying to fix it. It sounds like it should be as simple as reverting whatever change made the memPhysBase member of the X server structure get set to NULL, but I don't know much about what else is dependent on that pointer being set that way. So we'll find out what happens.

About the only recourse in the meantime is to use 8178 (the last driver that had DGA support), assuming that version doesn't cause you other problems, and assuming your hardware is old enough for that version to support it. (Mine is.)
__________________
Registered Linux User #219692
bwkaz is offline   Reply With Quote
Old 07-25-06, 02:57 PM   #6
pgs
Registered User
 
Join Date: Apr 2006
Posts: 73
Default Re: Nvidia 8762-same problem for tv apps!

Ping...!

Any news on this side?
I mean, can anyone from nVidia confirm the problem will be
solved for the next driver release?

The issue is that, being Xorg 7.x hot topic for distribution and being
the next driver supporting it (confirmed, I guess), it would be quite
a disappointment not having the v4l issue resolved, since this will
prevent driver upgrade _and_ Xorg upgrade (and maybe something else).

Thanks,

pgs
pgs is offline   Reply With Quote
Old 08-27-06, 09:20 AM   #7
meskalamdug
Registered User
 
Join Date: Apr 2006
Posts: 103
Default Re: Nvidia 8762-same problem for tv apps!

I have a new..a bad new,8774 relased and bug
is not solved.
meskalamdug is offline   Reply With Quote
Old 08-27-06, 12:39 PM   #8
meskalamdug
Registered User
 
Join Date: Apr 2006
Posts: 103
Default Re: Nvidia 8762-same problem for tv apps!

Whoops.
Is not a bug!
Nvidia has removed DGA
from their drivers
Now the question is:is possible to enable DGA
out of nvidia drivers??
Kdetv don't work without dga
and xawtv can work but eat cpu!
(((
meskalamdug is offline   Reply With Quote

Old 08-27-06, 01:05 PM   #9
Thunderbird
 
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
Default Re: Nvidia 8762-same problem for tv apps!

There's no way that you can get DGA back. First of all Xorg has deprecated DGA because it has lots of disadvantages of which security is the main one. Various Xorg drivers have already dropped support. This is one of the reasons Nvidia dropped it aswell second the way modern Geforce cards work, it isn't easy to provide DGA anymore.

I don't have experience with watching tv on a computer but I believe most tv applications have added alternative backends using OpenGL which should work fine.
Thunderbird is offline   Reply With Quote
Old 08-27-06, 01:32 PM   #10
meskalamdug
Registered User
 
Join Date: Apr 2006
Posts: 103
Default Re: Nvidia 8762-same problem for tv apps!

Quote:
Originally Posted by Thunderbird
There's no way that you can get DGA back. First of all Xorg has deprecated DGA because it has lots of disadvantages of which security is the main one. Various Xorg drivers have already dropped support. This is one of the reasons Nvidia dropped it aswell second the way modern Geforce cards work, it isn't easy to provide DGA anymore.

I don't have experience with watching tv on a computer but I believe most tv applications have added alternative backends using OpenGL which should work fine.
Yes opengl works fine..but eat too much cpu
with xawtv.
Kdetv dont' support opengl
meskalamdug is offline   Reply With Quote
Old 08-27-06, 01:59 PM   #11
bwkaz
Registered User
 
Join Date: Sep 2002
Posts: 2,262
Default Re: Nvidia 8762-same problem for tv apps!

Yeah, I was hoping this line in the "release highlights":

Quote:
Added support for XVideo with the Composite X extension when using X.Org 7.1.
meant that the bug was fixed, but it isn't. The driver is still setting memPhysBase to zero (or not setting it at all). (Of course that particular bug isn't exactly what that line in the release highlights said it fixed, either, but it was kinda related, so I was still hoping.)

Anyway, I think it's about time I share my extremely broken, kludgy workaround for this. I went in and patched my X server's V4L driver to fill in the memPhysBase if the video driver didn't do it. Now obviously the value that it fills in will be different for everyone (and it changes with each different video card or each change in motherboard also, I've found out). But you can figure out what it needs to be on your particular system, and you can patch your V4L driver to put that value in if needed. This patch will NOT be valid once you change any of your hardware, and certainly not if you change video cards or motherboards. Even if you change out another PCI device, your BIOS may reassign physical-memory addresses among devices, which would invalidate the change. And even if you don't change any hardware, but you tell your BIOS to forget its configuration information, it will reassign it the next time it boots, and this value may change.

And I should state here that this post comes with ABSOLUTELY NO WARRANTY -- you may be able to permanently screw up your hardware by putting the wrong value in the wrong place in here. It is also possible (and probably much more likely) that you will screw up your X server's installation by fat-fingering something or using the wrong X configuration when recompiling the V4L driver. This is COMPLETELY UNSUPPORTED BY EVERYONE, including me (I haven't the time to try to fix issues that come up with the method -- it works for me, but I can't say it'll work for anyone else).

But, if you realize all that and want to get overlays working anyway, in a completely unsupported environment, you can do the following. First, prerequisites: You should know your way around /sys, and/or you should know how your hardware is logically laid out (in terms of how the buses, devices, etc. are connected). You need to be able to do hex math. You need to know how much video RAM your card has, and just what this value in hex looks like. You need to be familiar with your X server's build process (i.e., you probably have to have built an X server from source before), because I'm not going to explain that whole monstrosity of a process here.

Now, the first bit is all read-only, so you should be able to do this no matter what. Figure out where in /sys your video card's kobject is sitting. lspci | grep VGA | cut -d' ' -f1 should tell you the PCI bus:device.function code of each VGA device (it may give you two of them if you also have onboard video enabled -- make sure you choose the one that corresponds to your actual nvidia card). My system gives 03:00.0 (my motherboard has both AGP and PCIe buses on it, and this card is still AGP, so it's on bus 3.)

Take that bus ID value, and stick a 0000: in front of it. (So my card's ID is "0000:03:00.0".) Then, go to /sys/bus/pci/devices/<that value> (so "/sys/bus/pci/devices/0000:03:00.0" on my system), and cat the "vendor" file in that directory -- make sure it says 0x10de. (That's nvidia's vendor ID.) Also make sure the "device" file matches your video card's PCI device ID. Then, cat the "resource" file. This will give you all the physical-memory resources claimed by this particular device, one per line.

(Oh -- if your card is PCIe, then you may have to look in the /sys/bus/pci_express directory instead, I'm not sure.)

The layout of this file is fairly simple. The first field is the starting address of the physical memory resource used, and the second field is the ending address. The last field is a set of flags (IIRC, these flags have to do with cacheability, etc., but I don't remember for sure).

You need to find the line whose size (the difference between the first and second fields, plus one) is equal to the amount of video RAM you have. If more than one such line exists, then I have no idea how to choose between them; my card only allocates one line to its video RAM. This is the end of the read-only stuff; after this step, you will be making changes to your system. Stop here if you don't understand the rest of the process.

Otherwise, grab the source for the V4L driver (inside Xorg, that file is xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c), and look in the place where it reports the memPhysBase value from whatever structure. Add a check right before that, so that if the memPhysBase value is zero, the V4L driver will set it to the first field in the resource file on the appropriate line that you found in the last step. (This is the physical address of the start of the video RAM.) Note that this value may have to be only 32 bits wide, not 64, so if your motherboard assigned an address above 4G, you may not be able to do this. (I'm not sure if that can happen yet, though; I think it depends on the capabilities reported by both your video card and its driver.)

Recompile the V4L driver (...or the whole X server, as that will create the right file), make a backup copy of your /usr/X11R6/lib/modules/drivers/linux/v4l_drv.o file (...or wherever your X server installed itself; that may not be /usr/X11R6 anymore), and copy the newly-recompiled v4l_drv.o back out into that directory. Yes, rebuilding just the V4L driver is complicated, and yes, you'll need the site.def file from your current X server (a source installation of Xorg puts this file at /usr/X11R6/lib/X11/config/site.def, but I have no idea if a distro X server would have that or not).

This process is difficult, and really quite complicated. If you don't have an excellent grasp on what exactly might go wrong, DO NOT follow these instructions! I will not be checking back in this thread for quite some time, so I will not see any requests for help -- you are ON YOUR OWN.

But, if you can get it to work, overlays will come back.
__________________
Registered Linux User #219692
bwkaz is offline   Reply With Quote
Old 08-27-06, 02:09 PM   #12
meskalamdug
Registered User
 
Join Date: Apr 2006
Posts: 103
Default Re: Nvidia 8762-same problem for tv apps!

Quote:
Originally Posted by bwkaz
Yeah, I was hoping this line in the "release highlights":

meant that the bug was fixed, but it isn't. The driver is still setting memPhysBase to zero (or not setting it at all). (Of course that particular bug isn't exactly what that line in the release highlights said it fixed, either, but it was kinda related, so I was still hoping.)

Anyway, I think it's about time I share my extremely broken, kludgy workaround for this. I went in and patched my X server's V4L driver to fill in the memPhysBase if the video driver didn't do it. Now obviously the value that it fills in will be different for everyone (and it changes with each different video card or each change in motherboard also, I've found out). But you can figure out what it needs to be on your particular system, and you can patch your V4L driver to put that value in if needed. This patch will NOT be valid once you change any of your hardware, and certainly not if you change video cards or motherboards. Even if you change out another PCI device, your BIOS may reassign physical-memory addresses among devices, which would invalidate the change. And even if you don't change any hardware, but you tell your BIOS to forget its configuration information, it will reassign it the next time it boots, and this value may change.

And I should state here that this post comes with ABSOLUTELY NO WARRANTY -- you may be able to permanently screw up your hardware by putting the wrong value in the wrong place in here. It is also possible (and probably much more likely) that you will screw up your X server's installation by fat-fingering something or using the wrong X configuration when recompiling the V4L driver. This is COMPLETELY UNSUPPORTED BY EVERYONE, including me (I haven't the time to try to fix issues that come up with the method -- it works for me, but I can't say it'll work for anyone else).

But, if you realize all that and want to get overlays working anyway, in a completely unsupported environment, you can do the following. First, prerequisites: You should know your way around /sys, and/or you should know how your hardware is logically laid out (in terms of how the buses, devices, etc. are connected). You need to be able to do hex math. You need to know how much video RAM your card has, and just what this value in hex looks like. You need to be familiar with your X server's build process (i.e., you probably have to have built an X server from source before), because I'm not going to explain that whole monstrosity of a process here.

Now, the first bit is all read-only, so you should be able to do this no matter what. Figure out where in /sys your video card's kobject is sitting. lspci | grep VGA | cut -d' ' -f1 should tell you the PCI bus:device.function code of each VGA device (it may give you two of them if you also have onboard video enabled -- make sure you choose the one that corresponds to your actual nvidia card). My system gives 03:00.0 (my motherboard has both AGP and PCIe buses on it, and this card is still AGP, so it's on bus 3.)

Take that bus ID value, and stick a 0000: in front of it. (So my card's ID is "0000:03:00.0".) Then, go to /sys/bus/pci/devices/<that value> (so "/sys/bus/pci/devices/0000:03:00.0" on my system), and cat the "vendor" file in that directory -- make sure it says 0x10de. (That's nvidia's vendor ID.) Also make sure the "device" file matches your video card's PCI device ID. Then, cat the "resource" file. This will give you all the physical-memory resources claimed by this particular device, one per line.

(Oh -- if your card is PCIe, then you may have to look in the /sys/bus/pci_express directory instead, I'm not sure.)

The layout of this file is fairly simple. The first field is the starting address of the physical memory resource used, and the second field is the ending address. The last field is a set of flags (IIRC, these flags have to do with cacheability, etc., but I don't remember for sure).

You need to find the line whose size (the difference between the first and second fields, plus one) is equal to the amount of video RAM you have. If more than one such line exists, then I have no idea how to choose between them; my card only allocates one line to its video RAM. This is the end of the read-only stuff; after this step, you will be making changes to your system. Stop here if you don't understand the rest of the process.

Otherwise, grab the source for the V4L driver (inside Xorg, that file is xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c), and look in the place where it reports the memPhysBase value from whatever structure. Add a check right before that, so that if the memPhysBase value is zero, the V4L driver will set it to the first field in the resource file on the appropriate line that you found in the last step. (This is the physical address of the start of the video RAM.) Note that this value may have to be only 32 bits wide, not 64, so if your motherboard assigned an address above 4G, you may not be able to do this. (I'm not sure if that can happen yet, though; I think it depends on the capabilities reported by both your video card and its driver.)

Recompile the V4L driver (...or the whole X server, as that will create the right file), make a backup copy of your /usr/X11R6/lib/modules/drivers/linux/v4l_drv.o file (...or wherever your X server installed itself; that may not be /usr/X11R6 anymore), and copy the newly-recompiled v4l_drv.o back out into that directory. Yes, rebuilding just the V4L driver is complicated, and yes, you'll need the site.def file from your current X server (a source installation of Xorg puts this file at /usr/X11R6/lib/X11/config/site.def, but I have no idea if a distro X server would have that or not).

This process is difficult, and really quite complicated. If you don't have an excellent grasp on what exactly might go wrong, DO NOT follow these instructions! I will not be checking back in this thread for quite some time, so I will not see any requests for help -- you are ON YOUR OWN.

But, if you can get it to work, overlays will come back.
Thanks
But is too dangerous
meskalamdug is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
NVIDIA 302.17 - missing apps: nvidia-settings, nvidia-installer, nvidia-xconfig zbiggy NVIDIA Linux 6 06-20-12 05:54 PM
Problem connecting Pioneer VSX-S300 to Nvidia Ion - flat panel scaling solves it? wild_oscar NVIDIA Linux 3 06-17-12 08:18 AM
Rumor regarding lack of 680 availability ViN86 Rumor Mill 6 05-09-12 05:48 PM
Nvidia Go on laptop, black border within XFree86 problem raxip NVIDIA Linux 3 07-31-02 11:58 AM

All times are GMT -5. The time now is 08:43 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.