The Nouveau driver seems to have regressed in a recent kernel update (working 3.3.7-1 broken in 3.4.0-1). The screen is visible but every other line "shakes". This is a second generation MacBook Air 00:00.0 Host bridge: nVidia Corporation MCP89 HOST Bridge (rev a1) 00:00.1 RAM memory: nVidia Corporation MCP89 Memory Controller (rev a1) 00:01.0 RAM memory: nVidia Corporation Device 0d6d (rev a1) 00:01.1 RAM memory: nVidia Corporation Device 0d6e (rev a1) 00:01.2 RAM memory: nVidia Corporation Device 0d6f (rev a1) 00:01.3 RAM memory: nVidia Corporation Device 0d70 (rev a1) 00:02.0 RAM memory: nVidia Corporation Device 0d71 (rev a1) 00:02.1 RAM memory: nVidia Corporation Device 0d72 (rev a1) 00:03.0 ISA bridge: nVidia Corporation MCP89 LPC Bridge (rev a2) 00:03.1 RAM memory: nVidia Corporation MCP89 Memory Controller (rev a1) 00:03.2 SMBus: nVidia Corporation MCP89 SMBus (rev a1) 00:03.3 RAM memory: nVidia Corporation MCP89 Memory Controller (rev a1) 00:03.4 Co-processor: nVidia Corporation MCP89 Co-Processor (rev a1) 00:04.0 USB Controller: nVidia Corporation MCP89 OHCI USB 1.1 Controller (rev a1) 00:04.1 USB Controller: nVidia Corporation MCP89 EHCI USB 2.0 Controller (rev a2) 00:06.0 USB Controller: nVidia Corporation MCP89 OHCI USB 1.1 Controller (rev a1) 00:06.1 USB Controller: nVidia Corporation MCP89 EHCI USB 2.0 Controller (rev a2) 00:08.0 Audio device: nVidia Corporation MCP89 High Definition Audio (rev a2) 00:0a.0 SATA controller: nVidia Corporation MCP89 SATA Controller (AHCI mode) (rev a2) 00:0b.0 RAM memory: nVidia Corporation Device 0d75 (rev a1) 00:15.0 PCI bridge: nVidia Corporation Device 0d9b (rev a1) 00:17.0 PCI bridge: nVidia Corporation MCP89 PCI Express Bridge (rev a1) 01:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01) 02:00.0 VGA compatible controller: nVidia Corporation Device 08a3 (rev a2)
Better description of problem as it is a bit weird:... The screen is basically functional, but has three vertical columns of shakey lines (around 100 pixels in size) at 33%, 66% and 95% from the left hand side of the screen. In the first 33% of the screen Reds are displayed as green. In the second 33%-66%, reds are displayed as blue, on the Right hand-side colours are displayed correctly. Hopefully this triggers an "ah-ha" moment :)
Are you able to save the dmesg output from after nouveau has incorrectly programmed your display? Thanks!
Created attachment 591294 [details] Dmesg output Attached dmesg output. I assume that the Fedora kernel is pretty much in-sync with kernel.org. I could do a little bisecting this weekend...
Created attachment 591295 [details] dmesg from 3.3.7 [working] Also attach dmesg booting with older kernel for comparison...
(In reply to comment #3) > Created attachment 591294 [details] > Dmesg output > > Attached dmesg output. > > I assume that the Fedora kernel is pretty much in-sync with kernel.org. I > could do a little bisecting this weekend... That would be great if you could. I'm not seeing anything particularly interesting standing out in your logs. I'll leave needinfo set until you get back with that :)
Hi Ben, Interesting news. The problem seems to stem from: :: commit c8435362f2211086b34ce871fa9c3fcc7ca79ff9 :: :: drm/nouveau: default to 8bpc for non-LVDS panels if EDID isn't useful :: A few reports of bad behaviour since the autodetection defaulted to 6bpc, lets fix this. But, if I read the code correctly (and I am obviously not the expert): /* if not, we're out of options unless we're LVDS, default to 8bpc */ if (nv_encoder->dcb->type != OUTPUT_LVDS) { connector->display_info.bpc = 8; return; } connector->display_info.bpc = 6; I am going through the "not LVDS path" which if I have correctly understood to mean "LCD display" is incorrect. My nv_encoder->dcb->type is set to OUTPUT_DP (display port). Obviously the Mac has a Display Port, but I am not using it in this case :) Of course there may be a million things that I have misunderstood here, but that's my initial finding. If you want me to debug further, I can add printks as well as anyone else! David L
Quick additional note... I plugged in my TV using Display Port. It works fine, but actually comes through as OUTPUT_TDMS (2), rather than OUTPUT_DP (6). In the event that this is actually Display Point internally, I checked nv_connector->edid, and indeed this is not null for both devices. As the EDID structure is available (I didn't look through what was available within it) there may be something else that can identify the LCD screen to choose 6 bpc vs 8 bpc. Let me know if you need the contents of any of the structures :) David L P.S. What is bpc? It it bits per colour? I am sure that this LCD can support 24bit colour :)
More random stuff - xrandr implies that my display supports 6bpc and 8bpc (assuming that this is the same bpc!). Lots of stuff here that I don't really know how to intepret... Screen 0: minimum 320 x 200, current 3360 x 1080, maximum 8192 x 8192 eDP-1 connected 1440x900+0+0 (0x63) normal (normal left inverted right x axis y axis) 286mm x 179mm Identifier: 0x61 Timestamp: 9061 Subpixel: unknown Gamma: 1.0:1.0:1.0 Brightness: 1.0 Clones: CRTC: 0 CRTCs: 0 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: EDID: 00ffffffffffff000610df9c00000000a 23140103801d12780aef059757549227 22505400000001010101010101010101 010101010101c223a0d450841a30402a 36001eb3100000180000000100061030 00000000000000000a20000000fe004c 503133335750312d54504131000000fc 00436f6c6f72204c43440a202020001f dithering depth: auto supported: auto 6 bpc 8 bpc dithering mode: auto supported: auto off static 2x2 dynamic 2x2 scaling mode: Full supported: None Full Center Full aspect color vibrance: 150 (0x00000096) range: (0,200) vibrant hue: 90 (0x0000005a) range: (0,180) 1440x900 (0x63) 91.5MHz -HSync -VSync *current +preferred h: width 1440 start 1504 end 1546 total 1652 skew 0 clock 55.4KHz v: height 900 start 903 end 909 total 926 clock 59.8Hz 1152x864 (0x64) 81.8MHz -HSync +VSync h: width 1152 start 1216 end 1336 total 1520 skew 0 clock 53.8KHz v: height 864 start 867 end 871 total 897 clock 60.0Hz 1024x768 (0x65) 63.5MHz -HSync +VSync h: width 1024 start 1072 end 1176 total 1328 skew 0 clock 47.8KHz v: height 768 start 771 end 775 total 798 clock 59.9Hz 800x600 (0x66) 38.2MHz -HSync +VSync h: width 800 start 832 end 912 total 1024 skew 0 clock 37.4KHz v: height 600 start 603 end 607 total 624 clock 59.9Hz 640x480 (0x67) 23.8MHz -HSync +VSync h: width 640 start 664 end 720 total 800 skew 0 clock 29.7KHz v: height 480 start 483 end 487 total 500 clock 59.4Hz 720x400 (0x68) 22.2MHz -HSync +VSync h: width 720 start 744 end 808 total 896 skew 0 clock 24.8KHz v: height 400 start 403 end 413 total 417 clock 59.6Hz 640x400 (0x69) 20.0MHz -HSync +VSync h: width 640 start 664 end 720 total 800 skew 0 clock 25.0KHz v: height 400 start 403 end 409 total 417 clock 60.0Hz 640x350 (0x6a) 17.5MHz -HSync +VSync h: width 640 start 664 end 720 total 800 skew 0 clock 21.9KHz v: height 350 start 353 end 363 total 366 clock 59.8Hz DP-1 connected 1920x1080+1440+0 (0x6b) normal (normal left inverted right x axis y axis) 698mm x 392mm Identifier: 0x62 Timestamp: 9061 Subpixel: unknown Gamma: 1.0:1.0:1.0 Brightness: 1.0 Clones: CRTC: 1 CRTCs: 1 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: EDID: 00ffffffffffff0034a92bc101010101 00120103800000780adaffa3584aa229 17494b00000001010101010101010101 010101010101023a80d072382d40102c 4580ba882100001e023a801871382d40 582c4500ba882100001e000000fc0050 616e61736f6e69632d54560a000000fd 00173d0f440f000a202020202020012d dithering depth: auto supported: auto 6 bpc 8 bpc dithering mode: auto supported: auto off static 2x2 dynamic 2x2 scaling mode: Full supported: None Full Center Full aspect color vibrance: 150 (0x00000096) range: (0,200) vibrant hue: 90 (0x0000005a) range: (0,180) underscan vborder: 0 (0x00000000) range: (0,128) underscan hborder: 0 (0x00000000) range: (0,128) underscan: off supported: auto off on 1920x1080 (0x6b) 148.5MHz +HSync +VSync *current +preferred h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.2KHz v: height 1080 start 1084 end 1089 total 1125 clock 50.0Hz 1920x1080 (0x6c) 148.5MHz +HSync +VSync h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.5KHz v: height 1080 start 1084 end 1089 total 1125 clock 60.0Hz 1920x1080 (0x6d) 74.2MHz +HSync +VSync h: width 1920 start 2558 end 2602 total 2750 skew 0 clock 27.0KHz v: height 1080 start 1084 end 1089 total 1125 clock 24.0Hz 1920x1080 (0x6e) 74.2MHz +HSync +VSync Interlace h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 33.8KHz v: height 1080 start 1084 end 1094 total 1125 clock 30.0Hz 1920x1080 (0x6f) 74.2MHz +HSync +VSync Interlace h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 28.1KHz v: height 1080 start 1084 end 1094 total 1125 clock 25.0Hz 1280x720 (0x70) 74.2MHz +HSync +VSync h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 45.0KHz v: height 720 start 725 end 730 total 750 clock 60.0Hz 1280x720 (0x71) 74.2MHz +HSync +VSync h: width 1280 start 1720 end 1760 total 1980 skew 0 clock 37.5KHz v: height 720 start 725 end 730 total 750 clock 50.0Hz 1440x576 (0x72) 27.0MHz -HSync -VSync Interlace h: width 1440 start 1464 end 1590 total 1728 skew 0 clock 15.6KHz v: height 576 start 580 end 586 total 625 clock 25.0Hz 1440x480 (0x73) 27.0MHz -HSync -VSync Interlace h: width 1440 start 1478 end 1602 total 1716 skew 0 clock 15.7KHz v: height 480 start 488 end 494 total 525 clock 30.0Hz 720x576 (0x74) 27.0MHz -HSync -VSync h: width 720 start 732 end 796 total 864 skew 0 clock 31.2KHz v: height 576 start 581 end 586 total 625 clock 50.0Hz 720x480 (0x75) 27.0MHz -HSync -VSync h: width 720 start 736 end 798 total 858 skew 0 clock 31.5KHz v: height 480 start 489 end 495 total 525 clock 59.9Hz 640x480 (0x76) 25.2MHz -HSync -VSync h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz v: height 480 start 490 end 492 total 525 clock 59.9Hz
Commit a6a17859f1bdf607650ee055101f54c5f207762b (drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks) in Linus' kernel tree might help you.
Hi, Yup, that patch fixes it. Thanks - it's really nice to be able to use my laptop without installing any third-party drivers. Should I leave this bug report open until the Fedora builds are fixed (or at least the patch goes into the mainline kernel)? Feel free to close if you don't need to track this issue, though! Thanks again, David L
Confirmed fixed in 3.4.3-1.fc17.x86_64 Thanks! David L