|Summary:||No recognition of DVI-D monitor|
|Component:||Driver/nouveau||Assignee:||Nouveau Project <nouveau>|
|Status:||NEW ---||QA Contact:||Xorg Project Team <xorg-team>|
|i915 platform:||i915 features:|
Description Wolfgang 2018-09-24 18:27:49 UTC
Created attachment 141717 [details] vbios.rom Hello, I try to get my external monitor to work with my laptop. But there is no signal at the DVI output. Internal LVDS-1 works like expected. I tried an other monitor, an other DVI-(dualchannel)-cable, HDMI output direct at the laptop. Monitor(s) keep on saying "no signal". Forcing kms video=DVI-D-1:e => DVI-D-1 on with 1024x786 Forcing kms video=DVI-D-1:1600x1200e => DVI-D-1 on 1600x1200 but my monitor has 1920x1200 native resolution Forcing kms video=DVI-D-1:1920x1200e => DVI-D-1 on picture is 1920x1200 but monitor reports 960x1200 and picture is pixelated I'm on Ubuntu 18.04, Device is a HP Elitebook8730w with docking station and DVI-D output. As I saw, with the help of Ilia Mirkin from your team, there is no EDID data reported in Xorg.log at DVI-D-1 (equal if forced kms or default boot) There is a message "mxm: unmatched output device" in dmesg but it is also there when boot with unplugged DVI monitor. Ilia adviced me to add vbios.rom, to check this. /sys/class/drm/card0-DVI-D-1/edid is empty /sys/class/drm/card0-LVDS-1/edid has data Adding dmesg and Xorg.log with plugged and unplugged DVI, both without kms forcing. Thank you, Wolfgang
Comment 3 Wolfgang 2018-09-24 18:32:35 UTC
Created attachment 141720 [details] dmesg with DVI plugged
Comment 4 Wolfgang 2018-09-24 18:33:14 UTC
Created attachment 141721 [details] Xorg.log with DVI plugged
Comment 5 Wolfgang 2018-09-24 18:34:48 UTC
Created attachment 141722 [details] dmesg with DVI plugged kms forced
Comment 6 Wolfgang 2018-09-24 18:35:46 UTC
Created attachment 141723 [details] Xorg.log with DVI plugged kms forced
Comment 7 Wolfgang 2018-09-24 18:38:28 UTC
Added dmesg and Xorg.log with forced DVI-D-1 enabled by kms.
Comment 8 Wolfgang 2018-10-04 06:02:09 UTC
Hello again, sending a friendly ping to this report. Does anybody knows, how to switch on the DVI-D Output per default, or should nouveau detect it automatically without doing anything? Is this something special from Ubuntu or normal nouveau behavior? Why does the monitor run with 960x1200 while the picture has 1920x1200 when I force 1920x1200 (this looks really like a bug), 960 is the half of 1920. (The exactly same hardware setting works with proprietary nvidia driver, but the GPU now is to old, the fitting nvidia driver is not supported by modern kernels anymore, so ubuntu deleted it from repos, and I would love to use Nouveau insted) Thank you again.
Comment 9 Wolfgang 2018-10-04 06:06:12 UTC
Another idea is, if there is a problem with der EDID-Data on DVI-D, (but there is no error in the logs, only the line that is not connected), could I fake the EDID-Data-Block somehow, to get the native resolution on my Monitor?
Comment 10 Wolfgang 2018-10-08 06:57:51 UTC
Finally I got a workaround, with a lot of pain. The problem, that Nouveau doesnt find my connected DVI-display still persists. I tried to load a custom EDID-file from /lib/firmware/edid/. This failed, it seems that the driver doesnt load EDID for "not connected" displays. Forcing enabled DVI-D-1 didnt help too, I think the display is enabled to late. But for those, who want to fix wrong EDID-Data this wight work: The kms-parameter was on older kernels: drm_kms_helper.edid_firmware=edid/your_custom_edid.bin actually with newer kernels it is drm.edid_firmware=edid/your_custom_edid.bin But the idea was not so bad: how to get correct EDID-data for my DVI-monitor: I installed nvidia-driver (which freezes after 20 min but detects the monitior out of the box). The same thing like under nouveau: only the LVDS-monitor EDID is found with get-edid, but xrandr --verbose showed me the EDID of the DVI-Monitor (why? thanks you xrandr!). I wrote the EDID in a Hex-editor and parsed it with parse-edid. So I got the definitely working modeline for 1920x1200 for my DVI-Monitor. (It looks different from cvt-generated one, and I think the kernel uses the same algorithm, when I force the resolution with kms video=DVI-D-1:1920x1200e, which produced the 960x1200 monitor resolution with the 1920x1200 desktop resolution behind). So the final workaround back on nouveau is: 1.booting with video=DVI-D-1:e and starting up with 1024x768 kernel default resolution. 1.1 Also add a grub entry without enabling the DVI port because the LVDS doesnt show the LightDM login dialog, when DVI is forced enabled but not plugged in. 2.When logging in calling a script, what creates, adds and calls the right modline (stolen from nvidia-driver) for my DVI-display. Not very nice, but works. Could you explain, why nouveu doesnt detect the DVI-monitor, but nvidia does? Is this a bug? Thanks to Ilia Mirkin, who how gave me some hints.