Bug 117501 - Unstable graphics mode with intel
Summary: Unstable graphics mode with intel
Status: NEW
Alias: None
Product: Other
Classification: Unclassified
Component: Modules (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: other_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-02 01:03 UTC by joergn
Modified: 2016-05-05 16:15 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.3 and later
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg dump for booting into kernel 4.4 (102.90 KB, text/plain)
2016-05-02 01:07 UTC, joergn
Details
EDID from Sony TV binary (256 bytes, application/octet-stream)
2016-05-02 01:08 UTC, joergn
Details
decoded edid info (2.24 KB, text/plain)
2016-05-02 01:09 UTC, joergn
Details
verbose xrandr output (8.70 KB, text/plain)
2016-05-02 01:09 UTC, joergn
Details
lspci output (2.40 KB, text/plain)
2016-05-02 01:10 UTC, joergn
Details

Description joergn 2016-05-02 01:03:55 UTC
Since I upgraded to Ubuntu 16.04 I am experiencing a problem with my graphic output. The Screen output is constantly switching between black screen and the usual output. It is hard to explain. I have therefore attached a video of the system booing into Kernel 4.4. More specifically it is 4.4.0-21.37. It is the current standard kernel of Ubuntu 16.04. I would call this behavior "blinking" output. I do not know a better term for it.

However, the problem seems to be not Ubuntu specific. I have booted a fedora 24 alpha live image from USB stick, with the same problem. Also a fresh Ubuntu 16.04 live version did lead to the problem. I therefore think it is not just a misconfigured system.

My System:
Mainboard: ASUS Z87-EXPERT, BIOS version 2103 x86
Processor: Intel CORE i7 -4770
Monitor/TV: Sony Bravia TV KDL-46NX723 via HDMI

It is a Sony TV attached via HDMI to the GPU of the i7 processor. 

The last kernel version I can use without problems is 4.2.8. I tried 4.3, 4.4, and 4.6-rc5 kernels from kernel.ubuntu.com and they all show the problem. 

xrandr provides the following output:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 1018mm x 573mm
   1920x1080     60.00*+  50.00    59.94    30.00    24.00    29.97    23.98
   1920x1080i    60.00    50.00    59.94
   1280x1024     60.02
   1280x720      60.00    50.00    30.00    59.94    29.97    24.00    23.98
   1024x768      60.00
   800x600       60.32
   720x576       50.00
   720x576i      50.00
   720x480       60.00    59.94
   720x480i      60.00    59.94
   640x480       60.00    59.94
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

changing manually to the 1920x1080i mode provides a stable output of the desktop. However, the console is still blinking when I change to any of them. chenging back to the preferred/default mode starts the blinking again. Also switching the TV off and on again seems to reset the settings back to default and the problem is there again.

Another observation that is visible in the video is that the blinking started after the output "fb: switching to inteldrmfb from EFI VGA"

I do not have any kernel parameters specified. 

When using the build in default mode with the kernel parameter "drm_kms_helper.edid_firmware=edid/1920x1080.bin"
leads to a stable graphics output, but there is no sound via HTML any more.
the xrandr output for this is:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 500mm x 281mm
   1920x1080     60.00*+
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

This prooves that the resolution at 60Hz is physically possible also with the version 4.4 Kernel.

So the question remains, what is the problem. The same edid information from the TV is used in 4.2.8 and 4.4 kernels, but one leads to problems and one does not.

Please advice!
Comment 1 joergn 2016-05-02 01:05:15 UTC
The Video is uploaded on https://youtu.be/nUPAxf59cLo
Comment 2 joergn 2016-05-02 01:07:46 UTC
Created attachment 214901 [details]
dmesg dump for booting into kernel 4.4
Comment 3 joergn 2016-05-02 01:08:21 UTC
Created attachment 214911 [details]
EDID from Sony TV binary
Comment 4 joergn 2016-05-02 01:09:08 UTC
Created attachment 214921 [details]
decoded edid info

decoded by get-edid | parse-edid
Comment 5 joergn 2016-05-02 01:09:50 UTC
Created attachment 214931 [details]
verbose xrandr output
Comment 6 joergn 2016-05-02 01:10:52 UTC
Created attachment 214941 [details]
lspci output
Comment 7 joergn 2016-05-02 01:16:04 UTC
I suspect the problem somewhere in the KMS module and/or inteldrmfb. It could of course also be a corrupt edid, but this same edid was working flawlessly for several years and up to kernel version 4.2.8.

Sorry for not being more specific about the categorization of the bug in the report header. I was not sure, where this one belongs.
Comment 8 joergn 2016-05-02 01:20:18 UTC
I suspect the problem somewhere in the KMS module and/or inteldrmfb. It could of course also be a corrupt edid, but this same edid was working flawlessly for several years and up to kernel version 4.2.8.

I also tried with a windows machine and also there no problems to set the TV to 1920x1080 at 60Hz. 

Sorry for not being more specific about the categorization of the bug in the report header. I was not sure, where this one belongs.
Comment 9 joergn 2016-05-03 19:33:24 UTC
There is a funny cable dependency I found out after a few more experiments.
I tried with 3 systems and Ubuntu 16.04

1. ASUS Z87-Expert Motherboard (the system with the problem)
2. Lenovo T420s
3. HP Elitebook 9480m

A. My main HDMI cable - it is long (10m)
B. 2m HDMI cable

The 2m cable works always. This measn also the problem I reported is gone, when using this shorter cable.

On the Lenovo T420s all cables work. This means also the long cable works with Ubuntu 16.04. The Lenovo has a configuration with NVIDIA Optimus. This means it is not the intel GPU, but the NVIDIA chip driving the Sony TV.

On the HP 9480m the long cable does not work with Ubuntu 16.04. It does not provide any output in 1920x1080 60Hz However, it works if I set lower resolutions.
On the HP the long cable works in Windows also with 1920x1080 60Hz.

On first glance the cable seems to be the problem. However. the cable is working fine as long as it is not a Linux kernel 4.3 or later combined with a intel GPU that is included in the processor. It works with Windows and intel GPU and it works with Nvidia. It also worked for two years up to Linux kernel 4.2.8. The main factor for making it not work any more was the change to newer kernel versions. 

Was there any recent change in the intel graphics drivers or graphics output related kernel modules, which causes the intel based GPU to be more picky about the hardware?

I guess I will try to find a better long cable now, because it allows me to have the TV and Computer in different rooms. 

Any other ideas?
Comment 10 joergn 2016-05-05 16:15:31 UTC
A new cable made it work now with all variations of systems. It is still strange, because the old cable was actually specified for the used resolutions and bandwidth. It did also work in all combinations which were not intel GPU combined with Kernel 4.3 and later. If somebody wants to follow this up, I can help. However, I have a working system now again.

Note You need to log in before you can comment on or make changes to this bug.