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

Newegg Daily Deals

Reply
 
Thread Tools
Old 06-17-07, 01:55 PM   #1
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Advice to driver programming 100.14.09

Hi there,

I am using following:
2.6.21.3
Gigabyte 8600 GT / dual DVI but run on CRT-0 and CRT-1
Driver 100.14.09

I have problem with XVideo tearing, but only for second output. I have following theory because I could not get the chance to read the source code of NVIDIA driver and help you to fix it:

----------------
- 2nd output waits for its vertical retrace to end
- 2nd output got to know its vertical retrace is ended, but...

- 1st output also want to output one video frame, so it lock the same card for exclusive operation, waits for its vertical retrace to end, so it ended, so one frame of 1920x1080 4:2:0 YUV get delivered and get displayed, and unlock the card

- 2nd output get to access the card, so it also get to deliver one frame of 1920x1080 4:2:0 YUV, but unfortunely the vertical retrace already started, so tearing happen as part of old frame and part of new frame get displayed out from RAMDAC
-----------------

Each frame takes 3.2 MB , for 25 fps it would take atleast 100MB per output, so there will be a total 200MB/sec flooding over PCI-Express signal path, and it has to be realtime, eg. 50fps, but it can't be done perfectly atleast for 2nd output.

It seems like 1st output has higher priority than 2nd output, so 1st output always blocked 2nd output for any operations, sadly, this means 2nd output always has tearing video under the pleasure of 1st output.

To be exact, in my theory, one cycle of XvShmPutImage + CompletionEvent doesn't guaranteed a frame to get output to monitor. That frame is queued in the buffer of the driver and it just find some opportunity to get it over PCI Express bus, get it over to the card memory buffer, and get it over to the GPU, get it over YUV->RGB texture conversion, get it over to RAMDAC, and get it over during vertical blanking period, .......

To be exact, in my theory, even glSwapBuffer can't guaranteed you that it will swap the buffer exactly during vertical blank.

I have walk through the list of graphics card that you have to support and I understand it is a hard job to do driver programming. You might break certain features at some time, or it is just the fact that, every new hardware has its own demand for doing the same thing, even to output the YUV video, and you guys just could not have enough hands to fulfill each single demands done by those hardware engineers.

This is OK, I understand what's going on, as I am a software engineer myself, I have to fights with weird SATA chip, weird audio chip, and even weird Intel chipset that only support 1x on a 16x PCI-E lane, that Multi**eo.

Things just happen, but I can help you to fix them. But on a second thought, if you open the driver souce code itself, you might as well have to open the spec for NVIDIA graphics chip, which is certainly no good for your company.

Can we get some NDA done ? I help you , you help me.

Best Regards.
loopi is offline   Reply With Quote
Old 06-17-07, 03:56 PM   #2
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: Advice to driver programming 100.14.09

You can only sync to VBLANK on a single display device. You can control which via nvidia-settings.
netllama is offline   Reply With Quote
Old 06-18-07, 01:36 AM   #3
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Re: Advice to driver programming 100.14.09

No, last time I use 7800GT + 1.0-8762 it can sync to individual vertical retrace on both outputs.

This time 8600GT + 100.14.09 changes something? I don't understand.

Is it a hardware changes, or a software changes?
loopi is offline   Reply With Quote
Old 06-18-07, 02:55 AM   #4
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Re: Advice to driver programming 100.14.09

I am running this 8600GT on 16x bus, yet it still have video tearing for 2nd output, if they have to play video together on individual screen, not Twinview.

Is it because even though the bus may run at 16X, but the card isn't ? Is there anyway to know if this difference exists ?
loopi is offline   Reply With Quote
Old 06-18-07, 03:56 AM   #5
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Re: Advice to driver programming 100.14.09

So if 8600GT can only do one vertical sync at a time, despite it having 2 DVI outputs, which series do you recommend?

Quadro?
loopi is offline   Reply With Quote
Old 06-18-07, 09:29 AM   #6
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: Advice to driver programming 100.14.09

This has nothing to do with the graphics card, and the behavior was not any different in older drivers.

If you'd like further assistance, please generate and attach an nvidia-bug-report.log.
netllama is offline   Reply With Quote
Old 06-19-07, 11:05 PM   #7
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Re: Advice to driver programming 100.14.09

Dear netllama,

Thanks, please get attachment.

You are my friend

Best Regards.
Attached Files
File Type: bz2 loopi-jun20-nvidia-bug-report.log.bz2 (39.1 KB, 90 views)
loopi is offline   Reply With Quote
Old 06-25-07, 02:59 AM   #8
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Re: Advice to driver programming 100.14.09

Hi netllama,

I have tried 100.14.11 but still got video tearing on 2nd output of Gigabyte 8600GT when 1st output is also playing video.

Thanks.
loopi is offline   Reply With Quote

Old 06-25-07, 09:38 AM   #9
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: Advice to driver programming 100.14.09

Right, and that is expected, and is not a bug. As I stated earlier, you can only sync to VBLANK on a single display device. You can control which via nvidia-settings.
netllama is offline   Reply With Quote
Old 06-25-07, 01:35 PM   #10
neosmatrix
Registered User
 
Join Date: Sep 2004
Posts: 60
Default Re: Advice to driver programming 100.14.09

That's why i use 2 seperate X-Servers with my 8500GT. I would love to have twinview without any tearing
neosmatrix is offline   Reply With Quote
Old 06-26-07, 05:48 AM   #11
loopi
Registered User
 
Join Date: Feb 2005
Posts: 14
Default Re: Advice to driver programming 100.14.09

Hi netllama,

Previously I own a 8600GT and it is only supported by 100.14.11 , but not 1.0-8762, so I could not distinguish if the card hardware or the driver software has problems on xvideo vertical sync. The problem is, for a card having dual DVI-I outputs, while the first output is perfect, it always has xvideo tearing on 2nd output.

Today, I have bought a new card, which is supported by old and new version of the drivers, and I observed that, the same card exhibits different results with different driver:

Card: Leadtek NVIDIA Quadro FX 560 PCI Express, dual DVI-I outputs
-----------
Driver version: 1.0-8762
XVideo Result: Both VGA outputs are perfect, no tearing
-----------
Driver version: 100.14.11
XVideo Result: CRT-0 is perfect, CRT-1 has tearing
-----------

Hence, in old driver I am able to sync XVideo output to individual monitor automatically for each of the dual outputs, but in new driver I could only sync to one monitor at any time, and that results in tearing all the time for 2nd outputs, and I can't do anything special to rectify it.

Therefore, vital changes has happened in the software driver, which should not have.

Why would this happen?


Best Regards.
loopi is offline   Reply With Quote
Old 06-26-07, 09:59 AM   #12
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: Advice to driver programming 100.14.09

Please detail how or where you're setting sync to vblank.
netllama 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
Video: Programming Heterogeneous Many-cores Using Directives News Archived News Items 0 05-23-12 08:00 AM
Redhat 8.0 NVIDIA works - INSTRUCTIONS STEEL1 NVIDIA Linux 267 04-15-03 06:48 PM
Getting the proprietary nvidia driver to run with Debian 3.0 r0 (woody) Katchina404 NVIDIA Linux 9 01-12-03 08:49 AM
failing to initialize NV driver PsyShook NVIDIA Linux 10 09-19-02 12:41 PM
Nvidia Driver causes crash on Standby/Suspend dasher NVIDIA Linux 5 09-16-02 05:57 PM

All times are GMT -5. The time now is 09:11 AM.


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