Bug 94826 - Cannot set external display as primary in optimus mode
Summary: Cannot set external display as primary in optimus mode
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-05 08:51 UTC by Piotr Kołaczkowski
Modified: 2016-04-05 08:51 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Kołaczkowski 2016-04-05 08:51:25 UTC
I have a Dell M4600 laptop with an external display attached to display port.
DP is wired to nvidia chip in this laptop.

With optimus disabled in bios setup, both displays work fine using Nvidia chip and the external screen can be marked as primary and behaves as primary.
Unfortunately in this mode, 2D performance is quite bad, to the point it is hardly usable. I guess this is due to power management problems that I know are being worked on, but please confirm yo know about it and I don't need to file a separate bug for this.

After enabling optimus in bios, both displays work fine using Intel chip, the DP connection is detected properly and nvidia chip powers up to enable DP. 2D performance is smooth and usable. However, setting the external display as primary is not possible with xrandr:

Screen 0: minimum 8 x 8, current 4480 x 1600, maximum 32767 x 32767
LVDS1 connected primary 1920x1080+0+365 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080      59.9*+   59.9     39.9
   1680x1050      60.0     59.9
   1600x1024      60.2 
   1400x1050      60.0
   1600x900       60.0
   1280x1024      60.0
   1440x900       59.9  
   1280x960       60.0
   1368x768       60.0
   1360x768       59.8     60.0
   1152x864       60.0
   1280x720       60.0
   1024x768       60.0
   1024x576       60.0
   960x540        60.0
   800x600        60.3     56.2
   864x486        60.0
   640x480        59.9
   720x405        60.0
   640x360        60.0
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
DP-1-1 connected 2560x1600+1920+0 641mm x 401mm
   2560x1600      60.0*+
   1920x1440      60.0
   1920x1200      59.9
   1920x1080      60.0     50.0     59.9     24.0     24.0
   1920x1080i     60.1     50.0     60.0
   1600x1200      60.0
   1280x1024      75.0     60.0
   1280x800       59.8
   1152x864       75.0
   1280x720       60.0     50.0     59.9
   1024x768       75.1     60.0
   800x600        75.0     60.3
   720x576        50.0
   720x576i       50.1  
   720x480        60.0     59.9
   720x480i       60.1     60.1
   640x480        75.0     60.0     59.9
   720x400        70.1
DP-1-2 disconnected
DP-1-3 disconnected
  1280x1024 (0x52)  108.0MHz
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock   64.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   60.0Hz
  1024x768 (0x59)   65.0MHz
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x5b)   40.0MHz
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x64)   25.2MHz
        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

pkolaczk@m4600 ~ $ xrandr --output LVDS1 --noprimary
pkolaczk@m4600 ~ $ xrandr --verbose --output DP-1-1 --primary
crtc 3:    2560x1600   60.0 +1920+0 "DP-1-1"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  30 (RRSetOutputPrimary)
  Serial number of failed request:  45
  Current serial number in output stream:  47

Xorg.log.0 entries added during the last xrandr command:
[  2392.882] (II) NOUVEAU(G0): EDID vendor "DEL", prod id 16485
[  2392.883] (II) NOUVEAU(G0): Using hsync ranges from config file
[  2392.883] (II) NOUVEAU(G0): Using vrefresh ranges from config file
[  2392.883] (II) NOUVEAU(G0): Printing DDC gathered Modelines:
[  2392.883] (II) NOUVEAU(G0): Modeline "2560x1600"x0.0  268.50  2560 2608 2640 2720  1600 1603 1609 1646 +hsync -vsync (98.7 kHz eP)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1080i"x0.0   74.25  1920 2008 2052 2200  1080 1084 1094 1125 interlace +hsync +vsync (33.8 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1280x720"x0.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "720x480"x0.0   27.00  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1280x800"x0.0   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync (49.7 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1600x1200"x0.0  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1200"x0.0  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync (74.6 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1440"x0.0  234.00  1920 2048 2256 2600  1440 1441 1444 1500 -hsync +vsync (90.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "720x576"x0.0   27.00  720 732 796 864  576 581 586 625 -hsync -vsync (31.2 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1440x480i"x0.0   27.00  1440 1478 1602 1716  480 488 494 525 interlace -hsync -vsync (15.7 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1440x240"x0.0   27.00  1440 1478 1602 1716  240 244 247 262 -hsync -vsync (15.7 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1440x288"x0.0   27.00  1440 1464 1590 1728  288 290 293 312 -hsync -vsync (15.6 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1280x720"x0.0   74.25  1280 1720 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1440x576i"x0.0   27.00  1440 1464 1590 1728  576 580 586 625 interlace -hsync -vsync (15.6 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1080i"x0.0   74.25  1920 2448 2492 2640  1080 1084 1094 1125 interlace +hsync +vsync (28.1 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1080"x0.0   74.25  1920 2558 2602 2750  1080 1084 1089 1125 +hsync +vsync (27.0 kHz e)
[  2392.883] (II) NOUVEAU(G0): Modeline "1920x1080"x0.0   74.25  1920 2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (28.1 kHz e)
[  2393.008] reporting 5 6 58 473


Hardware:
pkolaczk@m4600 ~ $ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108GLM [Quadro 1000M] (rev a1)

Software:
Kernel:
Linux m4600 4.5.0-040500-generic #201603140130 SMP Mon Mar 14 05:32:22 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Also tried 4.6.0-rc2 generic from kernel-ppa/mainline, same results.

xserver-xorg-video-nouveau: 1:1.0.12+git1603170734.b824d3~gd~t
Also tried an older version 1:1.0.11 and the problem was present.

intel i915 driver:
[     6.831] (II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20151218
[     6.831] (II) intel(0): SNA compiled: xserver-xorg-video-intel 2:2.99.917+git1604040733.90792c~gd~t (Oibaf <fmrummey@gmail.com>)


X.Org X Server 1.15.1
Release Date: 2014-04-13


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.