LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   [Nvidia] problem with 50 & 60Hz on HDMI in Linux (http://www.linuxquestions.org/questions/linux-hardware-18/%5Bnvidia%5D-problem-with-50-and-60hz-on-hdmi-in-linux-937437/)

ekj 03-31-2012 01:18 PM

[Nvidia] problem with 50 & 60Hz on HDMI in Linux
 
I have a dual boot setup with Windows and Linux installed. In Windows I can set the refresh rate for the TV (connected with HDMI) to any of 24, 50 or 60Hz, they all work. In Linux, I still have all three choices, but only 24Hz works. For both 50 & 60Hz the display is flickering, and the sound drops for like 1s every 10s.

GPU: Nvidia GTX 560Ti
Linux driver: Nvidia driver version 290.10

Any ideas about why I can't use 50 or 60Hz in Linux even though I can in windows?

Here is the content of my /etc/X11/xorg.conf:
Code:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 290.10  (buildmeister@swio-display-x86-rhel47-07.nvidia.com)  Wed Nov 16 20:31:58 PST 2011


Section "ServerLayout"
    Identifier    "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 1600 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option        "Xinerama" "1"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier    "Mouse0"
    Driver        "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/psaux"
    Option        "Emulate3Buttons" "no"
    Option        "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier    "Keyboard0"
    Driver        "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier    "Monitor0"
    VendorName    "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync      30.0 - 81.0
    VertRefresh    56.0 - 75.0
    Option        "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier    "Monitor1"
    VendorName    "Unknown"
    ModelName      "HCG AVRx65"
    HorizSync      15.0 - 68.0
    VertRefresh    45.0 - 65.0
    Option        "DPMS"
EndSection

Section "Device"
    Identifier    "Device0"
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier    "Device1"
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    Option        "FlatPanelProperties" "Scaling = Native"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"

# Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
    Identifier    "Screen0"
    Device        "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option        "TwinView" "0"
    Option        "metamodes" "CRT: nvidia-auto-select +0+0"
    SubSection    "Display"
        Depth      24
    EndSubSection
EndSection

Section "Screen"

# Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
# Removed Option "metamodes" "DFP-1: 1920x1080_24 +0+0"
# Removed Option "metamodes" "DFP: 1920x1080_60 +0+0; DFP: 1920x1080_24 +0+0"
# Removed Option "metamodes" "DFP: 1920x1080_50 +0+0; DFP: 1920x1080_60 +0+0; DFP: 1920x1080_24 +0+0"
    Identifier    "Screen1"
    Device        "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option        "TwinView" "0"
    Option        "metamodes" "DFP: 1920x1080_24 +0+0; DFP: 1920x1080_50 +0+0; DFP: 1920x1080_60 +0+0"
    SubSection    "Display"
        Depth      24
    EndSubSection
EndSection

Section "Extensions"
    Option        "Composite" "Disable"
EndSection


business_kid 04-01-2012 01:03 PM

The only thing that jumps out is that VertRefresh on Monitor0 should be 45-75, and that I would set metamodes the same on both monitors. Not knowing at all, the setting on Monitor1 looks a better opening bet than the one on Monitor0.

ekj 04-01-2012 02:36 PM

I tried two things based on your reply:
  • Setting VertRefresh to 45-65 in both monitor sections.
  • Using same metamodes in both screen sections. I used "DFP-0: nvidia-auto-select +0+0" for Screen0 and "DFP-1: nvidia-auto-select +0+0" for Screen1. Then 60 Hz was used for the HDMI signal.

Unfortunately these changes didn't change the bad behavior.

However, I noticed that the image distortions seem to change when I start playing a video with VLC or open amarok. With none of them open, the image flashes black 1-2 times a second or something. But when I start playing a video in VLC, the black flashes disappear, instead I get a horizontal line or band (that is jumping up and down) across the full width of the TV. And when I stop the video, the horizontal line disappears and the black flashes gets back.

I'm confused...

business_kid 04-02-2012 03:57 AM

If that's a thick black line, it's vertical locking.
/begin theoretical lecture
TV signals are interlaced (Never asked if signals are NTSC, PAL, or SECAM), so a frame rate of 50hz refreshes the entire screen at a rate of 25hz (1 pass for the odd lines, one for the even ones). Inside the tv is a flywheel oscillator which rolls on at it's own speed, but locks (if it can) to a synchronization pulse from the tv signal. Ditto Monitors; TFT screens seem to behave similarly, despite the fact that they don't have to.
/end theoretical lecture.

What's happening is that the oscillator(or screen) is not locking to the synch pulse, so you're seeing the black line in between. I'm still on my second morning coffee, so I can't be more perceptive than that.

Google on the Monitors, or read handbooks and get the real figures for HorizSync, and VertRefresh. I would also drop one Monitor from the config, to lessen the confusion in the video card.

ekj 04-03-2012 05:22 PM

The lines are not black, they look more like white and pink noise.

Stripping the xorg.conf to only use the TV and no computer monitor did reduce the distortions, but they were still there.

Another weird thing is that I get different amount of distortions depending on which video file I'm playing, and with which video player. I also get less amount of distortions in full screen than in windowed video playing mode.

Between the TV and computer I have a home theatre reciever which grabs the audio and sends the video through another HDMI cable to the TV. I tested to go directly from the computer to the TV, and that did also affect the amount of distortions (but they were not gone here either).

What is confusing me is that the amount of distortions is depending on both these things:
1. what is in the HDMI signal (which video file is played and if it's fullscreen/windowed)
2. who is listening to the HDMI signal (TV directly or TV through HT reciever)

business_kid 04-04-2012 04:04 AM

It's beginning to sound like an overhead problem.
Something is grabbing resources. Windowed behaving better is a sure sign audio or video is not fast enough, or the system is already too heavily loaded. If the black line is between the bottom of one frame and the top of another, I stand over what I say. Teletext info appears there on certain lines, and they can be coloured. But without a screen shot of misbehaviour I couldn't say more.

ekj 04-04-2012 03:28 PM

Actually it is the other way around. Windowed mode is worse than full screen, which I find very weird.

I'll try to get a screenshot of it, I hope you can see it in a screenshot, otherwise I'll have to take a photo.

ekj 04-05-2012 05:15 PM

3 Attachment(s)
I didn't get the lines in the screenshot so I took pictures with the camera instead.

What you see in the pictures are the white/pink distortion lines that jump up and down. To demonstrate the jumping I took three photos just after each other.

The Xorg configuration was a 60Hz single screen (the computer monitor was disabled).

H_TeXMeX_H 04-06-2012 08:29 AM

For modern distros and with the nvidia drivers you don't need an xorg.conf, and I don't recommend making one.

Make sure you have the latest drivers and use 'nvidia-settings' to set the resolution and refresh rates.

I've found that outputting to a TV is problematic because of bad EDIDs.

I would try to either mess with the settings such as maybe overscan compensation, or maybe disable EDID or parts of it.

business_kid 04-06-2012 12:42 PM

@ejk:

STRANGE Pictures. If I hadn't seen them, I wouldn't have believed it.

/Flying by the seat of my trousers: It looks like
1. There is a basic picture there in the 4 corners of the screen, indicating that X and everything associated with it is feeding believable video.

2. The TV signal looks like an overlay on the basic screen, and it seems the basic screen is too fast for the overlay. You didn't mention the conditions on screen when the shots were taken, so I'm guessing this is why you have that peeling effect.

3. I would guess the thin coloured lines are teletext. You can basically see the digital information in them. On a standard picture, teletext is 2 or 3 lines in the top 21 for each channel It shouldn't be appearing onscreen, so I'm gathering something is awol in the vertical rate also.

4. What I'm surprised at is that teletext goes all the way accross the page. I offer no guess, however pathetic or wild for this.

5. I'm taking it that the 'thick black line is in fact the screen wide black line I was thinking you had - doubled over! So that would indicate your overlay has locked onto half HorizSync.

Presuming all of the above is correct(!!), I would try leaving in the Xorg.conf despite the considered opinion of a guru to the contrary, and reduce speeds - VertRefresh to 60 and HorizSync down by 5 each time and restart X between modifications and see if you can match the speed to something the overlay can do.

H_TeXMeX_H 04-06-2012 02:11 PM

If you wanted to mess with the VertRefresh and HorizSync options (even tho the nvidia drivers tends to ignore them completely and uses the EDID) I would try to find them in the manual if you can.

business_kid 04-07-2012 10:54 AM

The problem as I see it is thatm X is doing a fast rate, and the TV stuff finds it easier to lock onto _half_ that rate. Anything to set a slower refresh would be good. PC video is very flexible. TV video is set by someone else, and pretty inflexible.

ekj 04-11-2012 04:54 PM

I was away for a few days for easter, but now I'm back.

Quote:

Originally Posted by business_kid (Post 4646555)
/Flying by the seat of my trousers: It looks like
1. There is a basic picture there in the 4 corners of the screen, indicating that X and everything associated with it is feeding believable video.

Yes, neither the topmost nor the bottommost rows of pixels seem to be favoured by the distortions.

Quote:

Originally Posted by business_kid (Post 4646555)
2. The TV signal looks like an overlay on the basic screen, and it seems the basic screen is too fast for the overlay. You didn't mention the conditions on screen when the shots were taken, so I'm guessing this is why you have that peeling effect.

The Xorg configuration was a 60Hz single screen (the computer monitor was disabled).

What was displayed on the screen was a terminal on the lower left and a Gkrellm on the lower right. The gray horizontal bar on the bottom is the KDE panel with shortcuts and clock and so on. The white diagonal waves are part of the desktop wallpaper.

Quote:

Originally Posted by business_kid (Post 4646555)
5. I'm taking it that the 'thick black line is in fact the screen wide black line I was thinking you had - doubled over! So that would indicate your overlay has locked onto half HorizSync.

What black lines are we taking about? I don't see any black lines in the photo, the only lines I can find are white-pink/coloured.

business_kid 04-12-2012 03:29 AM

That was stupid of me.

I was presuming you had a display of the fault condition from post #1 which is what you asked us about
Quote:

Any ideas about why I can't use 50 or 60Hz in Linux even though I can in windows?
I retract most of post 10. Goodbye.

ekj 04-14-2012 06:07 AM

Well, it is actually. Apart from the flickering that I have managed to get rid of. The horizontal lines are the ones that I discovered in post #3.


All times are GMT -5. The time now is 08:01 PM.