All of lore.kernel.org
 help / color / mirror / Atom feed
* Disabling a second monitor while in frame buffer
@ 2012-12-10 22:03 Jonathan Phénix
  2012-12-10 22:44 ` Jesse Barnes
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Phénix @ 2012-12-10 22:03 UTC (permalink / raw)
  To: intel-gfx

Hi,

on my machine, I have 2 monitors attached, they are seen as HMDI
connectors by the software. The 1st monitor is connected using a DVI-D
cable while the second one uses the HDMI port of the machine and
connects to the monitor using a DVI-D connector. I want to use the
frame buffer only on the first monitor while the machine is initially
booting and then use both monitors while Xorg is running.

As mentioned near the end of this page:

http://intellinuxgraphics.org/documentation.html

it's possible to control this behavior using the kernel command line.
I want to force the resolution of the first monitor to 1024x768 while
the second monitor is disabled. I used the following to do it:

video=HDMI-A-1:1024x768 video=HDMI-A-2:d

It's almost working, the second monitor goes black as expected and the
first one switch to 1024x768.

The first problem with that configuration, is that every 10 seconds,
the first monitor will go black for 3 seconds. If I remove
"video=HDMI-A-2:d" or the second monitor is physically not attached, I
don't have this problem. If I add "drm.debug=0x04" to the kernel
command line, each time the first monitor goes black, I get the
following debugging output in 'dmesg':

---
[   61.335798] [drm:intel_ironlake_crt_detect_hotplug], ironlake
hotplug adpa=0xf40000, result 0
[   61.335805] [drm:intel_crt_detect], CRT not detected via hotplug
[   61.335819] [drm:output_poll_execute], [CONNECTOR:7:VGA-1] status
updated from 2 to 2
[   61.374359] [drm:output_poll_execute], [CONNECTOR:10:HDMI-A-1]
status updated from 1 to 1
[   61.376914] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.381256] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.385252] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.386696] [drm:intel_dp_detect], DPCD: 0000000000000000
[   61.386702] [drm:output_poll_execute], [CONNECTOR:13:DP-1] status
updated from 2 to 2
[   61.425164] [drm:output_poll_execute], [CONNECTOR:16:HDMI-A-2]
status updated from 2 to 1
[   61.427715] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.432170] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.436156] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.437600] [drm:intel_dp_detect], DPCD: 0000000000000000
[   61.437606] [drm:output_poll_execute], [CONNECTOR:17:DP-2] status
updated from 2 to 2
[   61.437653] [drm:drm_fb_helper_hotplug_event],
[   61.437656] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:7:VGA-1]
[   61.437660] [drm:intel_ironlake_crt_detect_hotplug], ironlake
hotplug adpa=0xf40000, result 0
[   61.437663] [drm:intel_crt_detect], CRT not detected via hotplug
[   61.437667] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:7:VGA-1] disconnected
[   61.437670] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:10:HDMI-A-1]
[   61.514713] [drm:drm_edid_to_eld], ELD: no CEA Extension found
[   61.514727] [drm:drm_mode_debug_printmodeline], Modeline
31:"1280x960" 0 108000 1280 1376 1488 1800 960 961 964 1000 0x40 0x5
[   61.514734] [drm:drm_mode_prune_invalid], Not using 1280x960 mode 12
[   61.514737] [drm:drm_mode_debug_printmodeline], Modeline
26:"1600x1200" 0 162000 1600 1664 1856 2160 1200 1201 1204 1250 0x40
0x5
[   61.514741] [drm:drm_mode_prune_invalid], Not using 1600x1200 mode 12
[   61.514743] [drm:drm_mode_debug_printmodeline], Modeline
25:"1280x1024" 0 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x40
0x5
[   61.514747] [drm:drm_mode_prune_invalid], Not using 1280x1024 mode 12
[   61.514749] [drm:drm_mode_debug_printmodeline], Modeline
24:"1280x800" 0 83500 1280 1352 1480 1680 800 803 809 831 0x40 0x6
[   61.514753] [drm:drm_mode_prune_invalid], Not using 1280x800 mode 12
[   61.514755] [drm:drm_mode_debug_printmodeline], Modeline
23:"1680x1050" 0 119000 1680 1728 1760 1840 1050 1053 1059 1080 0x40
0x9
[   61.514758] [drm:drm_mode_prune_invalid], Not using 1680x1050 mode 12
[   61.514761] [drm:drm_mode_debug_printmodeline], Modeline
22:"1440x900" 0 106000 1440 1520 1672 1904 900 903 909 934 0x40 0x6
[   61.514764] [drm:drm_mode_prune_invalid], Not using 1440x900 mode 12
[   61.514767] [drm:drm_mode_debug_printmodeline], Modeline
21:"1366x768" 0 85500 1366 1436 1579 1792 768 771 774 798 0x48 0x5
[   61.514770] [drm:drm_mode_prune_invalid], Not using 1366x768 mode 11
[   61.514774] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:10:HDMI-A-1] probed modes :
[   61.514777] [drm:drm_mode_debug_printmodeline], Modeline
30:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[   61.514780] [drm:drm_mode_debug_printmodeline], Modeline
27:"800x600" 60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[   61.514784] [drm:drm_mode_debug_printmodeline], Modeline
28:"800x600" 56 36000 800 824 896 1024 600 601 603 625 0x40 0x5
[   61.514788] [drm:drm_mode_debug_printmodeline], Modeline
29:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[   61.514792] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:13:DP-1]
[   61.517410] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.521005] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.524980] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.526435] [drm:intel_dp_detect], DPCD: 0000000000000000
[   61.526442] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:13:DP-1] disconnected
[   61.526455] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:16:HDMI-A-2]
[   61.526460] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:16:HDMI-A-2] disconnected
[   61.526466] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:17:DP-2]
[   61.529075] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.532982] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.536964] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003f
[   61.538412] [drm:intel_dp_detect], DPCD: 0000000000000000
[   61.538418] [drm:drm_helper_probe_single_connector_modes],
[CONNECTOR:17:DP-2] disconnected
[   61.538422] [drm:drm_setup_crtcs],
[   61.538437] [drm:drm_enable_connectors], connector 7 enabled? no
[   61.538443] [drm:drm_enable_connectors], connector 10 enabled? yes
[   61.538447] [drm:drm_enable_connectors], connector 13 enabled? no
[   61.538457] [drm:drm_enable_connectors], connector 16 enabled? no
[   61.538460] [drm:drm_enable_connectors], connector 17 enabled? no
[   61.538462] [drm:drm_target_preferred], looking for cmdline mode on
connector 10
[   61.538464] [drm:drm_target_preferred], found mode 1024x768
[   61.538466] [drm:drm_setup_crtcs], picking CRTCs for 8192x8192 config
[   61.538470] [drm:drm_setup_crtcs], desired mode 1024x768 set on crtc 3
[   61.538475] [drm:drm_crtc_helper_set_config],
[   61.538477] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:32]
#connectors=1 (x y) (0 0)
[   61.538487] [drm:drm_crtc_helper_set_config], crtc changed, full mode switch
[   61.538489] [drm:drm_crtc_helper_set_config],
[CONNECTOR:10:HDMI-A-1] to [CRTC:3]
[   61.538492] [drm:drm_crtc_helper_set_config], attempting to set
mode from userspace
[   61.538494] [drm:drm_mode_debug_printmodeline], Modeline
20:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[   61.538499] [drm:drm_crtc_helper_set_mode], [CRTC:3]
[   61.590314] [drm:intel_wait_for_vblank], vblank wait timed out
[   61.622665] [drm:sandybridge_update_wm], FIFO watermarks For pipe A
- plane 5, cursor: 6
[   61.622669] [drm:ironlake_check_srwm], watermark 1: display plane
9, fbc lines 3, cursor 6
[   61.622672] [drm:ironlake_check_srwm], watermark 2: display plane
11, fbc lines 3, cursor 6
[   61.622675] [drm:ironlake_check_srwm], watermark 3: display plane
47, fbc lines 3, cursor 6
[   61.622678] [drm:intel_update_fbc],
[   61.622921] [drm:intel_choose_pipe_bpp_dither], forcing bpc to 8 for HDMI
[   61.622924] [drm:intel_choose_pipe_bpp_dither], setting pipe bpc to
8 (max display bpc 8)
[   61.622926] [drm:ironlake_crtc_mode_set], Mode for pipe 0:
[   61.622929] [drm:drm_mode_debug_printmodeline], Modeline
20:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[   61.675156] [drm:intel_wait_for_vblank], vblank wait timed out
[   61.675162] [drm:ironlake_update_plane], Writing base 00064000
00000000 0 0 4096
[   61.675180] [drm:intel_update_fbc],
[   61.727055] [drm:intel_wait_for_vblank], vblank wait timed out
[   61.727060] [drm:sandybridge_update_wm], FIFO watermarks For pipe A
- plane 5, cursor: 6
[   61.727065] [drm:ironlake_check_srwm], watermark 1: display plane
9, fbc lines 3, cursor 6
[   61.727078] [drm:ironlake_check_srwm], watermark 2: display plane
11, fbc lines 3, cursor 6
[   61.727084] [drm:ironlake_check_srwm], watermark 3: display plane
47, fbc lines 3, cursor 6
[   61.727091] [drm:drm_crtc_helper_set_mode], [ENCODER:9:TMDS-9] set
[MODE:20:1024x768]
[   61.727105] [drm:sandybridge_update_wm], FIFO watermarks For pipe A
- plane 5, cursor: 6
[   61.727108] [drm:ironlake_check_srwm], watermark 1: display plane
9, fbc lines 3, cursor 6
[   61.727111] [drm:ironlake_check_srwm], watermark 2: display plane
11, fbc lines 3, cursor 6
[   61.727113] [drm:ironlake_check_srwm], watermark 3: display plane
47, fbc lines 3, cursor 6
[   61.778958] [drm:intel_wait_for_vblank], vblank wait timed out
[   61.830860] [drm:intel_wait_for_vblank], vblank wait timed out
[   61.831674] [drm:gen6_fdi_link_train], FDI_RX_IIR 0x100
[   61.831677] [drm:gen6_fdi_link_train], FDI train 1 done.
[   61.832332] [drm:gen6_fdi_link_train], FDI_RX_IIR 0x600
[   61.832336] [drm:gen6_fdi_link_train], FDI train 2 done.
[   61.832338] [drm:gen6_fdi_link_train], FDI train done.
[   61.833557] [drm:intel_update_fbc],
[   61.834067] [drm:drm_crtc_helper_set_config], Setting connector
DPMS state to on
[   61.834070] [drm:drm_crtc_helper_set_config],
[CONNECTOR:10:HDMI-A-1] set DPMS on
[   61.834084] [drm:drm_crtc_helper_set_config],
[   61.834086] [drm:drm_crtc_helper_set_config], [CRTC:5] [NOFB]
[   66.713024] [drm:drm_crtc_helper_set_config],
[   66.713027] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:32]
#connectors=1 (x y) (0 0)
[   66.713035] [drm:drm_crtc_helper_set_config],
[CONNECTOR:10:HDMI-A-1] to [CRTC:3]
[   66.713039] [drm:drm_crtc_helper_set_config],
[   66.713056] [drm:drm_crtc_helper_set_config], [CRTC:5] [NOFB]
[   66.713069] [drm:drm_crtc_helper_set_config],
[   66.713070] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:32]
#connectors=1 (x y) (0 0)
[   66.713074] [drm:drm_crtc_helper_set_config],
[CONNECTOR:10:HDMI-A-1] to [CRTC:3]
[   66.713085] [drm:drm_crtc_helper_set_config],
[   66.713086] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:32]
#connectors=1 (x y) (0 0)
[   66.713090] [drm:drm_crtc_helper_set_config],
[CONNECTOR:10:HDMI-A-1] to [CRTC:3]
---

Additionally, the second monitor fails to be enabled properly in Xorg
when it was disabled in frame buffer mode, even if I use:

Option "Enable"  "true"

in the right monitor section as documented at:

http://intellinuxgraphics.org/dualhead.html

This is the monitor information for in "Xorg.log" when it is working properly:

---
[    76.352] (II) intel(0): Printing probed modes for output HDMI2
[    76.352] (II) intel(0): Modeline "1360x768"x59.8   84.75  1366
1431 1567 1776  768 771 781 798 -hsync +vsync (47.7 kHz UP)
[    76.352] (II) intel(0): Modeline "1680x1050"x60.0  146.25  1680
1960 2136 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz eP)
[    76.352] (II) intel(0): Modeline "1920x1200"x60.0  154.00  1920
1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz e)
[    76.352] (II) intel(0): Modeline "1600x1200"x60.0  162.00  1600
1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
[    76.352] (II) intel(0): Modeline "1280x1024"x75.0  135.00  1280
1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[    76.352] (II) intel(0): Modeline "1280x1024"x60.0  108.00  1280
1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[    76.352] (II) intel(0): Modeline "1440x900"x59.9  106.50  1440
1520 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
[    76.352] (II) intel(0): Modeline "1280x960"x60.0  108.00  1280
1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
[    76.352] (II) intel(0): Modeline "1280x800"x59.8   83.50  1280
1352 1480 1680  800 803 809 831 +hsync -vsync (49.7 kHz e)
[    76.352] (II) intel(0): Modeline "1152x864"x75.0  108.00  1152
1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[    76.352] (II) intel(0): Modeline "1024x768"x75.1   78.80  1024
1040 1136 1312  768 769 772 800 +hsync +vsync (60.1 kHz e)
[    76.352] (II) intel(0): Modeline "1024x768"x70.1   75.00  1024
1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[    76.352] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[    76.352] (II) intel(0): Modeline "1024x768"x87.0   44.90  1024
1032 1208 1264  768 768 776 817 interlace +hsync +vsync (35.5 kHz e)
[    76.352] (II) intel(0): Modeline "800x600"x72.2   50.00  800 856
976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
[    76.352] (II) intel(0): Modeline "800x600"x75.0   49.50  800 816
896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[    76.352] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[    76.352] (II) intel(0): Modeline "800x600"x56.2   36.00  800 824
896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
[    76.352] (II) intel(0): Modeline "640x480"x72.8   31.50  640 664
704 832  480 489 491 520 -hsync -vsync (37.9 kHz e)
[    76.352] (II) intel(0): Modeline "640x480"x75.0   31.50  640 656
720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[    76.352] (II) intel(0): Modeline "640x480"x66.7   30.24  640 704
768 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
[    76.352] (II) intel(0): Modeline "640x480"x60.0   25.20  640 656
752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[    76.352] (II) intel(0): Modeline "720x400"x70.1   28.32  720 738
846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[    76.378] (II) intel(0): EDID for output DP2
[    76.378] (II) intel(0): Output VGA1 disconnected
[    76.378] (II) intel(0): Output HDMI1 connected
[    76.378] (II) intel(0): Output DP1 disconnected
[    76.378] (II) intel(0): Output HDMI2 enabled by config file
[    76.378] (II) intel(0): Output DP2 disconnected
[    76.378] (II) intel(0): Using user preference for initial modes
[    76.378] (II) intel(0): Output HDMI1 using initial mode 1366x768
[    76.378] (II) intel(0): Output HDMI2 using initial mode 1360x768
---

And when it's not as a side effect of being disabled in frame buffer mode:

---
[   229.480] (II) intel(0): Printing probed modes for output HDMI2
[   229.480] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz d)
[   229.480] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
968 1056  600 601 605 628 +hsync +vsync (37.9 kHz d)
[   229.480] (II) intel(0): Modeline "640x480"x59.9   25.18  640 656
752 800  480 490 492 525 -hsync -vsync (31.5 kHz d)
[   229.505] (II) intel(0): EDID for output DP2
[   229.505] (II) intel(0): Output VGA1 disconnected
[   229.505] (II) intel(0): Output HDMI1 connected
[   229.505] (II) intel(0): Output DP1 disconnected
[   229.505] (II) intel(0): Output HDMI2 enabled by config file
[   229.505] (II) intel(0): Output DP2 disconnected
[   229.505] (II) intel(0): Using user preference for initial modes
[   229.505] (II) intel(0): Output HDMI1 using initial mode 1366x768
[   229.505] (II) intel(0): Output HDMI2 using initial mode 1024x768
---

I suspect in this case that the second monitor fails to enumerate all
the supported modes for a reason I can't identify.

I am using a software stack that is very close to the one proposed at:

http://intellinuxgraphics.org/2012.07.html

built from source for a x86_64 architecture using Sandybridge chipset.
I also tried with the current stable kernel (3.6.9), same problem. Any
ideas what could be the problem(s)?

Regards,

- Jonathan Phénix

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disabling a second monitor while in frame buffer
  2012-12-10 22:03 Disabling a second monitor while in frame buffer Jonathan Phénix
@ 2012-12-10 22:44 ` Jesse Barnes
  2012-12-11 15:05   ` Jonathan Phénix
  0 siblings, 1 reply; 5+ messages in thread
From: Jesse Barnes @ 2012-12-10 22:44 UTC (permalink / raw)
  To: Jonathan Phénix; +Cc: intel-gfx

On Mon, 10 Dec 2012 17:03:05 -0500
Jonathan Phénix <greaterd@gmail.com> wrote:

> Hi,
> 
> on my machine, I have 2 monitors attached, they are seen as HMDI
> connectors by the software. The 1st monitor is connected using a DVI-D
> cable while the second one uses the HDMI port of the machine and
> connects to the monitor using a DVI-D connector. I want to use the
> frame buffer only on the first monitor while the machine is initially
> booting and then use both monitors while Xorg is running.
> 
> As mentioned near the end of this page:
> 
> http://intellinuxgraphics.org/documentation.html
> 
> it's possible to control this behavior using the kernel command line.
> I want to force the resolution of the first monitor to 1024x768 while
> the second monitor is disabled. I used the following to do it:
> 
> video=HDMI-A-1:1024x768 video=HDMI-A-2:d
> 
> It's almost working, the second monitor goes black as expected and the
> first one switch to 1024x768.
> 
> The first problem with that configuration, is that every 10 seconds,
> the first monitor will go black for 3 seconds. If I remove
> "video=HDMI-A-2:d" or the second monitor is physically not attached, I
> don't have this problem. If I add "drm.debug=0x04" to the kernel
> command line, each time the first monitor goes black, I get the
> following debugging output in 'dmesg':

This sounds like bogus polling.  I think Daniel has fixed this in the
-queued branch, but you can use drm_kms_helper.poll=0 on your boot line
to avoid it.

> Additionally, the second monitor fails to be enabled properly in Xorg
> when it was disabled in frame buffer mode, even if I use:
> 
> Option "Enable"  "true"
> 
> in the right monitor section as documented at:
> 
> http://intellinuxgraphics.org/dualhead.html
> 
> This is the monitor information for in "Xorg.log" when it is working properly:
> 
> ---
> [    76.352] (II) intel(0): Printing probed modes for output HDMI2
> [    76.352] (II) intel(0): Modeline "1360x768"x59.8   84.75  1366
> 1431 1567 1776  768 771 781 798 -hsync +vsync (47.7 kHz UP)
> [    76.352] (II) intel(0): Modeline "1680x1050"x60.0  146.25  1680
> 1960 2136 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz eP)
> [    76.352] (II) intel(0): Modeline "1920x1200"x60.0  154.00  1920
> 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz e)
> [    76.352] (II) intel(0): Modeline "1600x1200"x60.0  162.00  1600
> 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
> [    76.352] (II) intel(0): Modeline "1280x1024"x75.0  135.00  1280
> 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
> [    76.352] (II) intel(0): Modeline "1280x1024"x60.0  108.00  1280
> 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
> [    76.352] (II) intel(0): Modeline "1440x900"x59.9  106.50  1440
> 1520 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
> [    76.352] (II) intel(0): Modeline "1280x960"x60.0  108.00  1280
> 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
> [    76.352] (II) intel(0): Modeline "1280x800"x59.8   83.50  1280
> 1352 1480 1680  800 803 809 831 +hsync -vsync (49.7 kHz e)
> [    76.352] (II) intel(0): Modeline "1152x864"x75.0  108.00  1152
> 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
> [    76.352] (II) intel(0): Modeline "1024x768"x75.1   78.80  1024
> 1040 1136 1312  768 769 772 800 +hsync +vsync (60.1 kHz e)
> [    76.352] (II) intel(0): Modeline "1024x768"x70.1   75.00  1024
> 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
> [    76.352] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
> 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
> [    76.352] (II) intel(0): Modeline "1024x768"x87.0   44.90  1024
> 1032 1208 1264  768 768 776 817 interlace +hsync +vsync (35.5 kHz e)
> [    76.352] (II) intel(0): Modeline "800x600"x72.2   50.00  800 856
> 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
> [    76.352] (II) intel(0): Modeline "800x600"x75.0   49.50  800 816
> 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
> [    76.352] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
> 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
> [    76.352] (II) intel(0): Modeline "800x600"x56.2   36.00  800 824
> 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
> [    76.352] (II) intel(0): Modeline "640x480"x72.8   31.50  640 664
> 704 832  480 489 491 520 -hsync -vsync (37.9 kHz e)
> [    76.352] (II) intel(0): Modeline "640x480"x75.0   31.50  640 656
> 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
> [    76.352] (II) intel(0): Modeline "640x480"x66.7   30.24  640 704
> 768 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
> [    76.352] (II) intel(0): Modeline "640x480"x60.0   25.20  640 656
> 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
> [    76.352] (II) intel(0): Modeline "720x400"x70.1   28.32  720 738
> 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
> [    76.378] (II) intel(0): EDID for output DP2
> [    76.378] (II) intel(0): Output VGA1 disconnected
> [    76.378] (II) intel(0): Output HDMI1 connected
> [    76.378] (II) intel(0): Output DP1 disconnected
> [    76.378] (II) intel(0): Output HDMI2 enabled by config file
> [    76.378] (II) intel(0): Output DP2 disconnected
> [    76.378] (II) intel(0): Using user preference for initial modes
> [    76.378] (II) intel(0): Output HDMI1 using initial mode 1366x768
> [    76.378] (II) intel(0): Output HDMI2 using initial mode 1360x768
> ---
> 
> And when it's not as a side effect of being disabled in frame buffer mode:
> 
> ---
> [   229.480] (II) intel(0): Printing probed modes for output HDMI2
> [   229.480] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
> 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz d)
> [   229.480] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
> 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz d)
> [   229.480] (II) intel(0): Modeline "640x480"x59.9   25.18  640 656
> 752 800  480 490 492 525 -hsync -vsync (31.5 kHz d)
> [   229.505] (II) intel(0): EDID for output DP2
> [   229.505] (II) intel(0): Output VGA1 disconnected
> [   229.505] (II) intel(0): Output HDMI1 connected
> [   229.505] (II) intel(0): Output DP1 disconnected
> [   229.505] (II) intel(0): Output HDMI2 enabled by config file
> [   229.505] (II) intel(0): Output DP2 disconnected
> [   229.505] (II) intel(0): Using user preference for initial modes
> [   229.505] (II) intel(0): Output HDMI1 using initial mode 1366x768
> [   229.505] (II) intel(0): Output HDMI2 using initial mode 1024x768
> ---
> 
> I suspect in this case that the second monitor fails to enumerate all
> the supported modes for a reason I can't identify.
> 
> I am using a software stack that is very close to the one proposed at:
> 
> http://intellinuxgraphics.org/2012.07.html
> 
> built from source for a x86_64 architecture using Sandybridge chipset.
> I also tried with the current stable kernel (3.6.9), same problem. Any
> ideas what could be the problem(s)?

Yeah the video= param will force detection to fail for outputs set as
'd' on the boot line.  Sounds like we might need another option that
will let you disable it just for the fbcon and not generally.

-- 
Jesse Barnes, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disabling a second monitor while in frame buffer
  2012-12-10 22:44 ` Jesse Barnes
@ 2012-12-11 15:05   ` Jonathan Phénix
  2012-12-11 16:21     ` Jesse Barnes
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Phénix @ 2012-12-11 15:05 UTC (permalink / raw)
  To: intel-gfx

On Mon, Dec 10, 2012 at 5:44 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> On Mon, 10 Dec 2012 17:03:05 -0500
> Jonathan Phénix <greaterd@gmail.com> wrote:
>
>> Hi,
>>
>> on my machine, I have 2 monitors attached, they are seen as HMDI
>> connectors by the software. The 1st monitor is connected using a DVI-D
>> cable while the second one uses the HDMI port of the machine and
>> connects to the monitor using a DVI-D connector. I want to use the
>> frame buffer only on the first monitor while the machine is initially
>> booting and then use both monitors while Xorg is running.
>>
>> As mentioned near the end of this page:
>>
>> http://intellinuxgraphics.org/documentation.html
>>
>> it's possible to control this behavior using the kernel command line.
>> I want to force the resolution of the first monitor to 1024x768 while
>> the second monitor is disabled. I used the following to do it:
>>
>> video=HDMI-A-1:1024x768 video=HDMI-A-2:d
>>
>> It's almost working, the second monitor goes black as expected and the
>> first one switch to 1024x768.
>>
>> The first problem with that configuration, is that every 10 seconds,
>> the first monitor will go black for 3 seconds. If I remove
>> "video=HDMI-A-2:d" or the second monitor is physically not attached, I
>> don't have this problem. If I add "drm.debug=0x04" to the kernel
>> command line, each time the first monitor goes black, I get the
>> following debugging output in 'dmesg':
>
> This sounds like bogus polling.  I think Daniel has fixed this in the
> -queued branch, but you can use drm_kms_helper.poll=0 on your boot line
> to avoid it.

Thanks for the quick feedback, I confirm that "drm_kms_helper.poll=0"
is a proper workaround for this issue on my setup.

>> Additionally, the second monitor fails to be enabled properly in Xorg
>> when it was disabled in frame buffer mode, even if I use:
>>
>> Option "Enable"  "true"
>>
>> in the right monitor section as documented at:
>>
>> http://intellinuxgraphics.org/dualhead.html
>>
>> This is the monitor information for in "Xorg.log" when it is working properly:
>>
>> ---
>> [    76.352] (II) intel(0): Printing probed modes for output HDMI2
>> [    76.352] (II) intel(0): Modeline "1360x768"x59.8   84.75  1366
>> 1431 1567 1776  768 771 781 798 -hsync +vsync (47.7 kHz UP)
>> [    76.352] (II) intel(0): Modeline "1680x1050"x60.0  146.25  1680
>> 1960 2136 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz eP)
>> [    76.352] (II) intel(0): Modeline "1920x1200"x60.0  154.00  1920
>> 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz e)
>> [    76.352] (II) intel(0): Modeline "1600x1200"x60.0  162.00  1600
>> 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
>> [    76.352] (II) intel(0): Modeline "1280x1024"x75.0  135.00  1280
>> 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
>> [    76.352] (II) intel(0): Modeline "1280x1024"x60.0  108.00  1280
>> 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
>> [    76.352] (II) intel(0): Modeline "1440x900"x59.9  106.50  1440
>> 1520 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
>> [    76.352] (II) intel(0): Modeline "1280x960"x60.0  108.00  1280
>> 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
>> [    76.352] (II) intel(0): Modeline "1280x800"x59.8   83.50  1280
>> 1352 1480 1680  800 803 809 831 +hsync -vsync (49.7 kHz e)
>> [    76.352] (II) intel(0): Modeline "1152x864"x75.0  108.00  1152
>> 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
>> [    76.352] (II) intel(0): Modeline "1024x768"x75.1   78.80  1024
>> 1040 1136 1312  768 769 772 800 +hsync +vsync (60.1 kHz e)
>> [    76.352] (II) intel(0): Modeline "1024x768"x70.1   75.00  1024
>> 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
>> [    76.352] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
>> 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
>> [    76.352] (II) intel(0): Modeline "1024x768"x87.0   44.90  1024
>> 1032 1208 1264  768 768 776 817 interlace +hsync +vsync (35.5 kHz e)
>> [    76.352] (II) intel(0): Modeline "800x600"x72.2   50.00  800 856
>> 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
>> [    76.352] (II) intel(0): Modeline "800x600"x75.0   49.50  800 816
>> 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
>> [    76.352] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
>> 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
>> [    76.352] (II) intel(0): Modeline "800x600"x56.2   36.00  800 824
>> 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
>> [    76.352] (II) intel(0): Modeline "640x480"x72.8   31.50  640 664
>> 704 832  480 489 491 520 -hsync -vsync (37.9 kHz e)
>> [    76.352] (II) intel(0): Modeline "640x480"x75.0   31.50  640 656
>> 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
>> [    76.352] (II) intel(0): Modeline "640x480"x66.7   30.24  640 704
>> 768 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
>> [    76.352] (II) intel(0): Modeline "640x480"x60.0   25.20  640 656
>> 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
>> [    76.352] (II) intel(0): Modeline "720x400"x70.1   28.32  720 738
>> 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
>> [    76.378] (II) intel(0): EDID for output DP2
>> [    76.378] (II) intel(0): Output VGA1 disconnected
>> [    76.378] (II) intel(0): Output HDMI1 connected
>> [    76.378] (II) intel(0): Output DP1 disconnected
>> [    76.378] (II) intel(0): Output HDMI2 enabled by config file
>> [    76.378] (II) intel(0): Output DP2 disconnected
>> [    76.378] (II) intel(0): Using user preference for initial modes
>> [    76.378] (II) intel(0): Output HDMI1 using initial mode 1366x768
>> [    76.378] (II) intel(0): Output HDMI2 using initial mode 1360x768
>> ---
>>
>> And when it's not as a side effect of being disabled in frame buffer mode:
>>
>> ---
>> [   229.480] (II) intel(0): Printing probed modes for output HDMI2
>> [   229.480] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
>> 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz d)
>> [   229.480] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
>> 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz d)
>> [   229.480] (II) intel(0): Modeline "640x480"x59.9   25.18  640 656
>> 752 800  480 490 492 525 -hsync -vsync (31.5 kHz d)
>> [   229.505] (II) intel(0): EDID for output DP2
>> [   229.505] (II) intel(0): Output VGA1 disconnected
>> [   229.505] (II) intel(0): Output HDMI1 connected
>> [   229.505] (II) intel(0): Output DP1 disconnected
>> [   229.505] (II) intel(0): Output HDMI2 enabled by config file
>> [   229.505] (II) intel(0): Output DP2 disconnected
>> [   229.505] (II) intel(0): Using user preference for initial modes
>> [   229.505] (II) intel(0): Output HDMI1 using initial mode 1366x768
>> [   229.505] (II) intel(0): Output HDMI2 using initial mode 1024x768
>> ---
>>
>> I suspect in this case that the second monitor fails to enumerate all
>> the supported modes for a reason I can't identify.
>>
>> I am using a software stack that is very close to the one proposed at:
>>
>> http://intellinuxgraphics.org/2012.07.html
>>
>> built from source for a x86_64 architecture using Sandybridge chipset.
>> I also tried with the current stable kernel (3.6.9), same problem. Any
>> ideas what could be the problem(s)?
>
> Yeah the video= param will force detection to fail for outputs set as
> 'd' on the boot line.  Sounds like we might need another option that
> will let you disable it just for the fbcon and not generally.

Is there a way from user land (sysfs, procfs, custom DRM API, etc...)
to revert the disabling? Otherwise, could a quick hack in the kernel
could be devised? A pointer to the right functions in the kernel would
be a good starting point.

Thanks,

- Jonathan Phénix

>
> --
> Jesse Barnes, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disabling a second monitor while in frame buffer
  2012-12-11 15:05   ` Jonathan Phénix
@ 2012-12-11 16:21     ` Jesse Barnes
  2012-12-11 16:37       ` Daniel Vetter
  0 siblings, 1 reply; 5+ messages in thread
From: Jesse Barnes @ 2012-12-11 16:21 UTC (permalink / raw)
  To: Jonathan Phénix; +Cc: intel-gfx

On Tue, 11 Dec 2012 10:05:31 -0500
Jonathan Phénix <greaterd@gmail.com> wrote:

> On Mon, Dec 10, 2012 at 5:44 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > On Mon, 10 Dec 2012 17:03:05 -0500
> > Jonathan Phénix <greaterd@gmail.com> wrote:
> >
> >> Hi,
> >>
> >> on my machine, I have 2 monitors attached, they are seen as HMDI
> >> connectors by the software. The 1st monitor is connected using a DVI-D
> >> cable while the second one uses the HDMI port of the machine and
> >> connects to the monitor using a DVI-D connector. I want to use the
> >> frame buffer only on the first monitor while the machine is initially
> >> booting and then use both monitors while Xorg is running.
> >>
> >> As mentioned near the end of this page:
> >>
> >> http://intellinuxgraphics.org/documentation.html
> >>
> >> it's possible to control this behavior using the kernel command line.
> >> I want to force the resolution of the first monitor to 1024x768 while
> >> the second monitor is disabled. I used the following to do it:
> >>
> >> video=HDMI-A-1:1024x768 video=HDMI-A-2:d
> >>
> >> It's almost working, the second monitor goes black as expected and the
> >> first one switch to 1024x768.
> >>
> >> The first problem with that configuration, is that every 10 seconds,
> >> the first monitor will go black for 3 seconds. If I remove
> >> "video=HDMI-A-2:d" or the second monitor is physically not attached, I
> >> don't have this problem. If I add "drm.debug=0x04" to the kernel
> >> command line, each time the first monitor goes black, I get the
> >> following debugging output in 'dmesg':
> >
> > This sounds like bogus polling.  I think Daniel has fixed this in the
> > -queued branch, but you can use drm_kms_helper.poll=0 on your boot line
> > to avoid it.
> 
> Thanks for the quick feedback, I confirm that "drm_kms_helper.poll=0"
> is a proper workaround for this issue on my setup.
> 
> >> Additionally, the second monitor fails to be enabled properly in Xorg
> >> when it was disabled in frame buffer mode, even if I use:
> >>
> >> Option "Enable"  "true"
> >>
> >> in the right monitor section as documented at:
> >>
> >> http://intellinuxgraphics.org/dualhead.html
> >>
> >> This is the monitor information for in "Xorg.log" when it is working properly:
> >>
> >> ---
> >> [    76.352] (II) intel(0): Printing probed modes for output HDMI2
> >> [    76.352] (II) intel(0): Modeline "1360x768"x59.8   84.75  1366
> >> 1431 1567 1776  768 771 781 798 -hsync +vsync (47.7 kHz UP)
> >> [    76.352] (II) intel(0): Modeline "1680x1050"x60.0  146.25  1680
> >> 1960 2136 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz eP)
> >> [    76.352] (II) intel(0): Modeline "1920x1200"x60.0  154.00  1920
> >> 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1600x1200"x60.0  162.00  1600
> >> 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1280x1024"x75.0  135.00  1280
> >> 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1280x1024"x60.0  108.00  1280
> >> 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1440x900"x59.9  106.50  1440
> >> 1520 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1280x960"x60.0  108.00  1280
> >> 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1280x800"x59.8   83.50  1280
> >> 1352 1480 1680  800 803 809 831 +hsync -vsync (49.7 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1152x864"x75.0  108.00  1152
> >> 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1024x768"x75.1   78.80  1024
> >> 1040 1136 1312  768 769 772 800 +hsync +vsync (60.1 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1024x768"x70.1   75.00  1024
> >> 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
> >> 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
> >> [    76.352] (II) intel(0): Modeline "1024x768"x87.0   44.90  1024
> >> 1032 1208 1264  768 768 776 817 interlace +hsync +vsync (35.5 kHz e)
> >> [    76.352] (II) intel(0): Modeline "800x600"x72.2   50.00  800 856
> >> 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
> >> [    76.352] (II) intel(0): Modeline "800x600"x75.0   49.50  800 816
> >> 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
> >> [    76.352] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
> >> 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
> >> [    76.352] (II) intel(0): Modeline "800x600"x56.2   36.00  800 824
> >> 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
> >> [    76.352] (II) intel(0): Modeline "640x480"x72.8   31.50  640 664
> >> 704 832  480 489 491 520 -hsync -vsync (37.9 kHz e)
> >> [    76.352] (II) intel(0): Modeline "640x480"x75.0   31.50  640 656
> >> 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
> >> [    76.352] (II) intel(0): Modeline "640x480"x66.7   30.24  640 704
> >> 768 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
> >> [    76.352] (II) intel(0): Modeline "640x480"x60.0   25.20  640 656
> >> 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
> >> [    76.352] (II) intel(0): Modeline "720x400"x70.1   28.32  720 738
> >> 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
> >> [    76.378] (II) intel(0): EDID for output DP2
> >> [    76.378] (II) intel(0): Output VGA1 disconnected
> >> [    76.378] (II) intel(0): Output HDMI1 connected
> >> [    76.378] (II) intel(0): Output DP1 disconnected
> >> [    76.378] (II) intel(0): Output HDMI2 enabled by config file
> >> [    76.378] (II) intel(0): Output DP2 disconnected
> >> [    76.378] (II) intel(0): Using user preference for initial modes
> >> [    76.378] (II) intel(0): Output HDMI1 using initial mode 1366x768
> >> [    76.378] (II) intel(0): Output HDMI2 using initial mode 1360x768
> >> ---
> >>
> >> And when it's not as a side effect of being disabled in frame buffer mode:
> >>
> >> ---
> >> [   229.480] (II) intel(0): Printing probed modes for output HDMI2
> >> [   229.480] (II) intel(0): Modeline "1024x768"x60.0   65.00  1024
> >> 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz d)
> >> [   229.480] (II) intel(0): Modeline "800x600"x60.3   40.00  800 840
> >> 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz d)
> >> [   229.480] (II) intel(0): Modeline "640x480"x59.9   25.18  640 656
> >> 752 800  480 490 492 525 -hsync -vsync (31.5 kHz d)
> >> [   229.505] (II) intel(0): EDID for output DP2
> >> [   229.505] (II) intel(0): Output VGA1 disconnected
> >> [   229.505] (II) intel(0): Output HDMI1 connected
> >> [   229.505] (II) intel(0): Output DP1 disconnected
> >> [   229.505] (II) intel(0): Output HDMI2 enabled by config file
> >> [   229.505] (II) intel(0): Output DP2 disconnected
> >> [   229.505] (II) intel(0): Using user preference for initial modes
> >> [   229.505] (II) intel(0): Output HDMI1 using initial mode 1366x768
> >> [   229.505] (II) intel(0): Output HDMI2 using initial mode 1024x768
> >> ---
> >>
> >> I suspect in this case that the second monitor fails to enumerate all
> >> the supported modes for a reason I can't identify.
> >>
> >> I am using a software stack that is very close to the one proposed at:
> >>
> >> http://intellinuxgraphics.org/2012.07.html
> >>
> >> built from source for a x86_64 architecture using Sandybridge chipset.
> >> I also tried with the current stable kernel (3.6.9), same problem. Any
> >> ideas what could be the problem(s)?
> >
> > Yeah the video= param will force detection to fail for outputs set as
> > 'd' on the boot line.  Sounds like we might need another option that
> > will let you disable it just for the fbcon and not generally.
> 
> Is there a way from user land (sysfs, procfs, custom DRM API, etc...)
> to revert the disabling? Otherwise, could a quick hack in the kernel
> could be devised? A pointer to the right functions in the kernel would
> be a good starting point.

drm_fb_helper_parse_command_line in drm_fb_helper.c is where we set the
flags based on the command line params.  drm_fb_helper_initial_config
is what sets up the initial fbcon configuration; it might be best to
add a new command line param to control its behavior, rather than
trying to add some new flags to the connector that only apply to the fb
layer...

-- 
Jesse Barnes, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disabling a second monitor while in frame buffer
  2012-12-11 16:21     ` Jesse Barnes
@ 2012-12-11 16:37       ` Daniel Vetter
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2012-12-11 16:37 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: intel-gfx, Jonathan Phénix

On Tue, Dec 11, 2012 at 5:21 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> drm_fb_helper_parse_command_line in drm_fb_helper.c is where we set the
> flags based on the command line params.  drm_fb_helper_initial_config
> is what sets up the initial fbcon configuration; it might be best to
> add a new command line param to control its behavior, rather than
> trying to add some new flags to the connector that only apply to the fb
> layer...

I think a new connector->disable_fbdev flag or something which
initial_config would check seems sensible. If you further overload
->force you need to check implications all over the place, and we've
had a few funny bugs around connector forcing already (e.g. flip-flop
when force fights against the poll helper, or unnecessary polling and
similar madness). So better leave that as-is.

Other option is to add a module option to the helper module to
restrict to internal panels, i.e. connector type eDP || LVDS.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-12-11 16:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-10 22:03 Disabling a second monitor while in frame buffer Jonathan Phénix
2012-12-10 22:44 ` Jesse Barnes
2012-12-11 15:05   ` Jonathan Phénix
2012-12-11 16:21     ` Jesse Barnes
2012-12-11 16:37       ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.