monitor tests fail to run because display resource doesn't work properly on my laptop with nVidia card

Bug #956139 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox
Fix Released
High
Sylvain Pineau

Bug Description

I ran a couple tests of checkbox 0.13.5 on my alienware. My system has both DisplayPort and external VGA ports. However, I noticed in the results tests (using the UF whitelist) that the montior/vga and monitor/hdmi tests were both skipped because display.vga and display.hdmi are not supported (according to the display resource job).

I expected display.hdmi to not work, however, I expected display.vga to be supported as I do have an external VGA port.

Looking at the command for the resource job, it's looking for things that are "connected" at run time. This means that in order for a test to actually run for an external port, the tester would have to have an active connection on that port prior to running checkbox. So if a system has both DisplayPort and VGA, he/she would need both ports connected to monitors in order to successfully run those tests.

Because of this, we are going to be doing certification and never even see the external monitor tests during testing, and UF testers will also never see the external monitor tests (Unless they plug monitors in ahead of time).

It's not reasonable to require them or us to plug in monitors ahead of time. Most likely, people with the capability to test an external monitor on HDMI and VGA (from the UF whitelist) will only have one monitor and will use that to test both, thus can't plug in both ports simultaneously.

Related branches

Jeff Lane  (bladernr)
Changed in checkbox:
importance: Undecided → Critical
Jeff Lane  (bladernr)
Changed in checkbox:
importance: Critical → Medium
Revision history for this message
Daniel Manrique (roadmr) wrote :

The command used for display resource is:

for display in `xrandr | grep connected | awk '{print $1}' | grep -o ^[A-Z]* | sort | uniq`; do echo "$display: supported"; done

grep connected *does* match partial lines, so even if xrandr -q says "disconnected" it should match.

On my Samsung with Intel GPU (and it physically has VGA and HDMI ports), here's output from xrandr -q and the resource command:

roadmr@snowflake:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   1366x768 60.0*+
   1360x768 59.8 60.0
   1024x768 60.0
   800x600 60.3 56.2
   640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
roadmr@snowflake:~$ for display in `xrandr | grep connected | awk '{print $1}' | grep -o ^[A-Z]* | sort | uniq`; do echo "$display: supported"; done
DP: supported
HDMI: supported
LVDS: supported
VGA: supported
roadmr@snowflake:~$

Could you post output of xrandr -q from the Alienware to see what it says? if it's using proprietary NVidia drivers, the information xrandr -q shows *may* be bogus :/

Revision history for this message
Jeff Lane  (bladernr) wrote :

Killing this... tried it on a couple different systems and got better results. Need to dig a little more and I may re-open it.

Changed in checkbox:
status: New → Invalid
Revision history for this message
Jeff Lane  (bladernr) wrote :

Yeah, that's why I set it to invalid... it seemed to work just fine on the Lenovo using OSS drivers, the Alienware was running nVidia Current and definitely did give completely different data.

However, I just tried on the Alienware, with Precise, running the nouveau driver and it too fails to provide a list of supported displays:

bladernr@klaatu:~$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 320 x 175, current 1920 x 1080, maximum 1920 x 1080
default connected 1920x1080+0+0 0mm x 0mm
   1920x1080 50.0*
   1680x1050 51.0
   1600x1024 52.0
   1440x900 53.0
   1400x1050 54.0
   1360x768 55.0 56.0
   1280x1024 57.0 58.0
   1280x960 59.0
   1152x864 60.0 61.0 62.0 63.0 64.0 65.0
   1024x768 66.0 67.0 68.0 69.0 70.0 71.0
   960x720 72.0
   960x600 73.0
   960x540 74.0
   928x696 75.0
   896x672 76.0 77.0
   840x525 78.0 79.0 80.0 81.0 82.0
   832x624 83.0
   800x600 84.0 85.0 86.0 87.0 88.0 89.0 90.0 91.0 92.0 93.0
   800x512 94.0
   720x450 95.0
   720x400 96.0
   700x525 97.0 98.0 99.0 100.0
   680x384 101.0 102.0
   640x512 103.0 104.0 105.0
   640x480 106.0 107.0 108.0 109.0 110.0 111.0
   640x400 112.0
   640x350 113.0
   576x432 114.0 115.0 116.0 117.0 118.0 119.0 120.0
   512x384 121.0 122.0 123.0 124.0 125.0
   416x312 126.0
   400x300 127.0 128.0 129.0 130.0 131.0
   360x200 132.0
   320x240 133.0 134.0 135.0 136.0
   320x200 137.0
   320x175 138.0

when the full resource job command is run manually, I get nothing but that error about Gamma:

bladernr@klaatu:~$ for display in `xrandr | grep connected | awk '{print $1}' | grep -o ^[A-Z]* | sort | uniq`; do echo "$display: supported"; done
xrandr: Failed to get size of gamma for output default

I think it would be worthwhile to try this out on other nVidia systems in the labs, now that I've tried it both ways. Setting back to New because of this new data.

Changed in checkbox:
status: Invalid → New
summary: monitor tests fail to run because display resource doesn't work properly
- on my laptop
+ on my laptop with nVidia card
Revision history for this message
Daniel Manrique (roadmr) wrote :

Some NVidia and ATI/AMD drivers have no xrandr support, that's why xrandr returns the "default" display - basically it sits on top of the proprietary driver, which handles resolution change, rotation and additional outputs.

I don't think there's a uniform way to query all video drivers for supported outputs (even gnome-display-settings doesn't, if it detects xrandr-incompatible drivers it just sends the user to the proprietary control panel).

One way to handle it would be, if xrandr says there are no supported video outputs, then test all of them. If xrandr reports something, report the ones that it was able to find.

Revision history for this message
Jeff Lane  (bladernr) wrote : Re: [Bug 956139] Re: monitor tests fail to run because display resource doesn't work properly on my laptop with nVidia card

On 03/15/2012 08:26 PM, Daniel Manrique wrote:
> Some NVidia and ATI/AMD drivers have no xrandr support, that's why
> xrandr returns the "default" display - basically it sits on top of the
> proprietary driver, which handles resolution change, rotation and
> additional outputs.
>
> I don't think there's a uniform way to query all video drivers for
> supported outputs (even gnome-display-settings doesn't, if it detects
> xrandr-incompatible drivers it just sends the user to the proprietary
> control panel).
>
> One way to handle it would be, if xrandr says there are no supported
> video outputs, then test all of them. If xrandr reports something,
> report the ones that it was able to find.
>

That's probably worth doing then... though at that point, isn't it
equally valid to just do away with the resource constraints anyway? If
we just run all the tests on systems with no xrandr output anyway,
that's already potentially 40-50% of the systems out there (assuming
this is fairly common amongs nVidia and ATI cards).

 From a UF point of view, getting rid of the resource would only cause
VGA HDMI to pop up, and it's pretty much a guarantee that ONE of those
will be present (excepting possibly some netbooks and ultrabooks).

 From a cert point of view, it's only a few more skipped tests during a
cert run, maybe an extra 10 seconds of clicking.

--
Jeff Lane - Hardware Certification Engineer and Test Tools Developer
Ubuntu Ham: W4KDH
Freenode IRC: bladernr or bladernr_
gpg: 1024D/3A14B2DD 8C88 B076 0DD7 B404 1417 C466 4ABD 3635 3A14 B2DD

Revision history for this message
Jeff Lane  (bladernr) wrote :

Confirming this and targeting it to "later". I don't think this will be a big issue with Preceise, but certainly something we need to consider fixing.

Changed in checkbox:
status: New → Confirmed
milestone: none → later
Ara Pulido (ara)
Changed in checkbox:
milestone: later → 0.14
Ara Pulido (ara)
Changed in checkbox:
importance: Medium → High
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

Starting with version 302.17, the NVIDIA proprietary drivers adds X driver support for RandR 1.2 and RandR 1.3.

304.xx are available in quantal but there's nothing we can do for older versions, I tried nvidia-settings and nvidia-smi, both don't return the available ports.

This i what i get with 304.51 on my XPS 1340 (DP + VGA + HDMI, connected to DP):

Screen 0: minimum 8 x 8, current 3200 x 1200, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1280x800+1920+0 (normal left inverted right x axis y axis) 286mm x 179mm
   1280x800 59.8*+
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200 60.0*+ 59.9
   1920x1080 60.0 59.9 50.0 24.0 30.0 30.0 25.0
   1600x1200 60.0
   1280x1024 75.0 60.0
   1280x720 60.0 59.9 50.0
   1152x864 75.0
   1024x768 75.0 60.0
   800x600 75.0 60.3
   720x576 50.0 25.0
   720x480 59.9 30.0
   640x480 75.0 59.9 59.9

The ideal solution would be to get rid of the requirements/resource for precise and older series and create the display_resource script for quantal+ as suggested in https://bugs.launchpad.net/checkbox/+bug/992727/comments/6

Changed in checkbox:
status: Confirmed → In Progress
assignee: nobody → Sylvain Pineau (sylvain-pineau)
Zygmunt Krynicki (zyga)
Changed in checkbox:
status: In Progress → Fix Committed
Changed in checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.