57
64
_description: Test that the X is not running in failsafe mode.
58
65
_summary: Test that X is not in failsafe mode.
61
template-resource: graphics_card
62
plugin: user-interact-verify
63
category_id: 2013.com.canonical.plainbox::graphics
64
id: graphics/{index}_resolution_{product_slug}
66
device.category == 'VIDEO'
67
package.name == 'zenity'
68
command: resolution_test | zenity --text-info
69
estimated_duration: 10.00
70
_summary: Test default resolution for {vendor} {product}
73
This test will verify the default display resolution on the {vendor} {product} graphics card.
76
2. Confirm that the resolution shown in the text window is acceptable for your display.
78
Is the resolution shown acceptable for your display on {vendor} {product} graphics card?
81
template-resource: graphics_card
82
plugin: user-interact-verify
83
category_id: 2013.com.canonical.plainbox::graphics
84
id: graphics/{index}_screen_resolution_{product_slug}
86
device.category == 'VIDEO'
87
package.name == 'qmlscene'
88
command: qmlscene -qt5 --transparent --fullscreen $PLAINBOX_PROVIDER_DATA/resolution_test.qml
89
estimated_duration: 10.0
90
_summary: Test default resolution for {vendor} {product}
93
This test will verify the default display resolution on the {vendor} {product} graphics card
95
1. Click on Test to display the screen resolution overlay for 5 seconds.
97
Is this acceptable for your display on the {vendor} {product} graphics card?
100
template-resource: graphics_card
102
category_id: 2013.com.canonical.plainbox::graphics
103
id: graphics/{index}_minimum_resolution_{product_slug}
105
device.category == 'VIDEO'
106
command: resolution_test --horizontal 800 --vertical 600
107
estimated_duration: 0.331
108
_summary: Test that {vendor} {product} meets minimum resolution requirement
110
Ensure the current resolution meets or exceeds the recommended minimum
111
resolution (800x600) on the {vendor} {product} graphics card. See here for details:
112
https://help.ubuntu.com/community/Installation/SystemRequirements
115
template-resource: graphics_card
116
id: graphics/{index}_maximum_resolution_{product_slug}
117
plugin: user-interact-verify
118
category_id: 2013.com.canonical.plainbox::graphics
120
device.category == 'VIDEO'
121
package.name == 'zenity'
123
maxi="$(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{{print $1}}')"
124
now="$(python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); geo = screen.get_monitor_geometry(screen.get_primary_monitor()); print(geo.width, "x", geo.height, sep="")')"
125
test "$maxi" != "$now" && notify="\nPlease switch to the maximum resolution \nfor every graphic tests"
126
zenity --info --text "Maximum resolution: $maxi\nCurrent resolution: $now $notify"
127
estimated_duration: 10.0
128
_summary: Test maximum supported resolution for {vendor} {product}
131
This test will verify the maximum supported resolution on the {vendor} {product} graphics card.
133
1. Select the {vendor} {product} graphics card (a reboot may be necessary)
134
2. Consult the system's specifications and locate the screen's maximum supported resolution.
135
3. Click on Test to display the maximum resolution that can be used by Ubuntu on the current display.
137
Is this the maximum resolution for the display connected to the {vendor} {product} graphics card?
140
template-resource: graphics_card
141
id: graphics/{index}_modes_{product_slug}
143
category_id: 2013.com.canonical.plainbox::graphics
144
command: graphics_modes_info
145
estimated_duration: 0.250
146
_description: Collect info on graphics modes (screen resolution and refresh rate) for {vendor} {product}
147
_summary: Test graphic modes info for {vendor} {product}
150
template-resource: graphics_card
151
id: graphics/{index}_color_depth_{product_slug}
153
category_id: 2013.com.canonical.plainbox::graphics
154
command: color_depth_info
155
estimated_duration: 0.150
156
_description: Collect info on color depth and pixel format for {vendor} {product}
157
_summary: Test color depth info for {vendor} {product}
160
template-resource: graphics_card
161
id: graphics/{index}_fresh_rate_{product_slug}
163
category_id: 2013.com.canonical.plainbox::graphics
164
command: fresh_rate_info
165
_description: Collect info on fresh rate for {vendor} {product}.
166
_summary: Test refresh rate for {vendor} {product}
169
template-resource: graphics_card
170
id: graphics/{index}_graphic_memory_{product_slug}
172
category_id: 2013.com.canonical.plainbox::graphics
173
command: graphic_memory_info
174
_description: Collect info on graphic memory for {vendor} {product}.
175
_summary: Test graphic memory info for {vendor} {product}.
178
template-resource: graphics_card
179
id: graphics/{index}_video_{product_slug}
180
plugin: user-interact-verify
181
category_id: 2013.com.canonical.plainbox::graphics
67
id: graphics/generator_resolution
68
requires: device.category == 'VIDEO'
69
_description: Default resolution tests
70
_summary: Default resolution tests
73
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
75
id: graphics/`echo ${index}`_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
77
device.category == 'VIDEO'
78
command: resolution_test
79
estimated_duration: 0.750
80
_summary: Test default resolution for $product
83
This test will verify the default display resolution on the $product graphics card.
85
1. This display is using the following resolution:
89
Is this acceptable for your display on $product graphics card?
92
id: graphics/generator_screen_resolution
93
requires: device.category == 'VIDEO'
94
_description: Default resolution tests
95
_summary: Default resolution tests
98
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
100
id: graphics/`echo ${index}`_screen_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
102
device.category == 'VIDEO'
103
package.name == 'qmlscene'
104
command: timeout 5 qmlscene --transparent --fullscreen $PLAINBOX_PROVIDER_DATA/resolution_test.qml
105
estimated_duration: 10.0
106
_summary: Test default resolution for $product
109
This test will verify the default display resolution on the $product graphics card
111
1. Click on Test to display the screen resolution overlay for 5 seconds.
113
Is this acceptable for your display on the $product graphics card?
116
id: graphics/generator_minimum_resolution
117
requires: device.category == 'VIDEO'
118
_description: Minimum resolution tests
119
_summary: Minimum resolution tests
122
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
124
id: graphics/`echo ${index}`_minimum_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
126
device.category == 'VIDEO'
127
command: resolution_test --horizontal 800 --vertical 600
128
estimated_duration: 0.331
129
_summary: Test that $product meets minimum resolution requirement
131
Ensure the current resolution meets or exceeds the recommended minimum
132
resolution (800x600) on the $product graphics card. See here for details:
133
https://help.ubuntu.com/community/Installation/SystemRequirements
136
id: graphics/generator_maximum_resolution
137
requires: device.category == 'VIDEO'
138
_description: Maximum resolution tests
139
_summary: Maximum resolution tests
142
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
143
id: graphics/`echo ${index}`_maximum_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
146
device.category == 'VIDEO'
147
package.name == 'zenity'
148
command: zenity --info --text "Maximum resolution: $(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{print $1}')"
149
estimated_duration: 10.0
150
_summary: Test maximum resolution for $product
153
This test will verify the display is operating at its maximum supported resolution on the $product graphics card.
155
1. Select the $product graphics card (a reboot may be necessary)
156
2. Consult the system's specifications and locate the screen's maximum supported resolution.
157
3. Click on Test to display the maximum resolution that can be used by Ubuntu on the current display.
159
Is this the maximum resolution for the display connected to the $product graphics card?
162
id: graphics/generator_modes
163
requires: device.category == 'VIDEO'
164
_description: Mode tests
168
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
169
id: graphics/`echo ${index}`_modes_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
171
command: graphics_modes_info
172
estimated_duration: 0.250
173
_description: Collect info on graphics modes (screen resolution and refresh rate) for $product
174
_summary: Test graphic modes info for $product
177
id: graphics/generator_color_depth
178
requires: device.category == 'VIDEO'
179
_description: Color depth tests
180
_summary: Color depth tests
183
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
184
id: graphics/`echo ${index}`_color_depth_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
186
command: color_depth_info
187
estimated_duration: 0.150
188
_description: Collect info on color depth and pixel format for $product
189
_summary: Test color depth info for $product
192
id: graphics/generator_fresh_rate
193
requires: device.category == 'VIDEO'
194
_description: Refresh rate tests
195
_summary: Refresh rate tests
198
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
199
id: graphics/`echo ${index}`_fresh_rate_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
201
command: fresh_rate_info
202
_description: Collect info on fresh rate for $product.
203
_summary: Test refresh rate for $product
206
id: graphics/generator_graphic_memory
207
requires: device.category == 'VIDEO'
208
_description: Graphic memory tests
209
_summary: Graphic memory tests
212
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
213
id: graphics/`echo ${index}`_graphic_memory_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
215
command: graphic_memory_info
216
_description: Collect info on graphic memory for $product.
217
_summary: Test graphic memory info for $product.
183
223
package.name == 'xorg'
184
224
package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
185
command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink'
186
_summary: Test that video can be displayed with {vendor} {product}
225
command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink'
226
_summary: Test that video can be displayed
189
This test will test the default display with a sample video
229
This test will test the default display
191
231
1. Click "Test" to display a video test.
193
233
Do you see color bars and static?
196
category_id: 2013.com.canonical.plainbox::graphics
197
236
id: graphics/VESA_drivers_not_in_use
198
237
command: cat /var/log/Xorg.0.log | perl -e '$a=0;while(<>){$a++ if /Loading.*vesa_drv\.so/;$a-- if /Unloading.*vesa/&&$a}exit 1 if $a'
199
238
estimated_duration: 0.011
200
239
_description: Check that VESA drivers are not in use
201
240
_summary: Test that VESA drivers are not in use
204
template-resource: graphics_card
205
plugin: user-interact-verify
206
category_id: 2013.com.canonical.plainbox::graphics
207
id: graphics/{index}_cycle_resolution_{product_slug}
208
requires: package.name == 'xorg'
209
depends: graphics/VESA_drivers_not_in_use
210
command: xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE
211
estimated_duration: 250.000
212
_summary: Test resolution cycling for {vendor} {product}
215
This test cycles through the detected video modes for the {vendor} {product} graphics card
217
1. Click "Test" to start cycling through the video modes
219
Did the screen appear to be working for each mode?
222
template-resource: graphics_card
223
plugin: user-interact-verify
224
category_id: 2013.com.canonical.plainbox::graphics
225
id: graphics/{index}_rotation_{product_slug}
226
depends: graphics/xorg-version
227
command: rotation_test_using_dbus
228
estimated_duration: 20.000
229
_summary: Test rotation for {vendor} {product}
232
This test will test display rotation on the {vendor} {product} graphics card
234
1. Click "Test" to test display rotation. The display will be rotated every 4 seconds.
235
2. Check if all rotations (normal right inverted left) took place without permanent screen corruption
237
Did the display rotation take place without without permanent screen corruption?
240
template-resource: graphics_card
242
category_id: 2013.com.canonical.plainbox::graphics
243
id: graphics/{index}_compiz_check_{product_slug}
244
requires: package.name == 'nux-tools'
245
command: ! /usr/lib/nux/unity_support_test -c -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
246
estimated_duration: 0.130
247
_description: Check that {vendor} {product} hardware is able to run compiz
248
_summary: Test Compiz support for {vendor} {product}
251
template-resource: graphics_card
253
category_id: 2013.com.canonical.plainbox::graphics
254
id: graphics/{index}_unity_support_{product_slug}
255
requires: package.name == 'nux-tools'
256
command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
257
estimated_duration: 0.131
258
_description: Check that {vendor} {product} hardware is able to run Unity 3D
259
_summary: Test Unity 3D support for {vendor} {product}
262
template-resource: graphics_card
263
plugin: user-interact-verify
264
category_id: 2013.com.canonical.plainbox::graphics
265
id: graphics/{index}_glxgears_{product_slug}
266
requires: package.name == 'mesa-utils'
267
command: glxgears; true
268
_summary: Test that glxgears works for {vendor} {product}
271
This test tests the basic 3D capabilities of your {vendor} {product} video card
273
1. Click "Test" to execute an OpenGL demo. Press ESC at any time to close.
274
2. Verify that the animation is not jerky or slow.
276
1. Did the 3d animation appear?
277
2. Was the animation free from slowness/jerkiness?
280
template-resource: graphics_card
282
category_id: 2013.com.canonical.plainbox::graphics
283
id: graphics/{index}_3d_window_open_close_{product_slug}
284
requires: package.name == 'mesa-utils'
285
command: window_test -t open-close -i 10
286
estimated_duration: 60.525
287
_description: Open and close a 3D window multiple times on the {vendor} {product} video card
288
_summary: Test 3D window open/close for {vendor} {product}
291
template-resource: graphics_card
293
category_id: 2013.com.canonical.plainbox::graphics
294
id: graphics/{index}_3d_window_suspend_resume_{product_slug}
295
requires: package.name == 'mesa-utils'
296
command: window_test -t suspend-resume -i 10
297
estimated_duration: 121.00
298
_description: Open, suspend resume and close a 3D window multiple times on the {vendor} {product} video card
299
_summary: Test a 3D window with suspend/resume for {vendor} {product}
302
template-resource: graphics_card
304
category_id: 2013.com.canonical.plainbox::graphics
305
id: graphics/{index}_multi_3d_windows_open_close_{product_slug}
306
requires: package.name == 'mesa-utils'
307
command: window_test -t open-close-multi -i 10 -w 4
308
estimated_duration: 60.000
309
_description: Open and close 4 3D windows multiple times on the {vendor} {product} video card
310
_summary: Test Multi 3D window open/close for {vendor} {product}
313
template-resource: graphics_card
315
category_id: 2013.com.canonical.plainbox::graphics
316
id: graphics/{index}_3d_window_move_{product_slug}
318
package.name == 'mesa-utils'
319
package.name == 'wmctrl'
320
command: window_test -t move
321
estimated_duration: 50.000
322
_description: Move a 3D window around the screen on the {vendor} {product} video card
323
_summary: Test 3D window movement for {vendor} {product}
326
template-resource: graphics_card
328
category_id: 2013.com.canonical.plainbox::graphics
329
id: graphics/{index}_screenshot_{product_slug}
330
requires: package.name == 'fswebcam'
331
command: set -o pipefail; camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg -q 2>&1 | ansi_parser
332
_summary: Test grabbing a screenshot for {vendor} {product}
335
Take a screengrab of the current screen (logged on Unity desktop) as produced by the {vendor} {product} graphics card
337
1. Take picture using USB webcam
339
Review attachment manually later
342
template-resource: graphics_card
344
category_id: 2013.com.canonical.plainbox::graphics
345
id: graphics/{index}_screenshot_{product_slug}.jpg
346
depends: graphics/{index}_screenshot_{product_slug}
347
command: base64 $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg
348
_description: Attaches the screenshot captured in graphics/screenshot for the {vendor} {product} graphics card.
349
_summary: Attach results of screenshot test for {vendor} {product}
352
template-resource: graphics_card
354
category_id: 2013.com.canonical.plainbox::graphics
355
id: graphics/{index}_screenshot_fullscreen_video_{product_slug}
356
requires: package.name == 'fswebcam'
358
[ -f $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv ] || {{ echo "Video file not found"; exit 1; }}
359
gsettings set org.gnome.totem repeat true
360
totem --fullscreen $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv 2>/dev/null &
362
sleep 15 && camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg -q 2>&1 | ansi_parser
363
sleep 5 && totem --quit 2>/dev/null
364
gsettings set org.gnome.totem repeat false
365
_summary: Test FSV screenshot for {vendor} {product}
368
Take a screengrab of the current screen during fullscreen video playback using the {vendor} {product} graphics card
370
1. Start a fullscreen video playback
371
2. Take picture using USB webcam after a few seconds
373
Review attachment manually later
376
template-resource: graphics_card
378
category_id: 2013.com.canonical.plainbox::graphics
379
id: graphics/{index}_switch_card_{product_slug}
380
_summary: Test GPU switching for {vendor} {product}
383
Manually switch to the {vendor} {product} card.
385
1. If your system is already running with the {vendor} {product} card, then please mark this test as "passed" and proceed.
386
2. Using the appropriate tool (either NVidia settings or AMD Control Center), switch your system to use the {vendor} {product} graphics card. This will require restarting your session.
387
3. Once the session restarts, please restart this testing program and select "continue" when prompted for a resume action.
388
4. Don't answer the verification question until the system has restarted with the {vendor} {product} card enabled.
390
Is the system using the {vendor} {product} card now?
393
template-resource: graphics_card
395
category_id: 2013.com.canonical.plainbox::graphics
396
id: graphics/{index}_screenshot_fullscreen_video_{product_slug}.jpg
397
depends: graphics/{index}_screenshot_fullscreen_video_{product_slug}
398
command: base64 $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg
399
_summary: Attach results of FSV screenshot test for {vendor} {product}
400
_description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video for the {vendor} {product} graphics card
403
category_id: 2013.com.canonical.plainbox::graphics
404
id: graphics/screen-capture-internal
405
_summary: Obtains a simple screen capture
406
estimated_duration: 1.0
407
requires: package.name == 'gnome-screenshot'
408
command: gnome-screenshot --file ${PLAINBOX_SESSION_SHARE}/screen-capture.png
409
_description: Obtains a simple screen capture using gnome-screenshot if present
412
category_id: 2013.com.canonical.plainbox::graphics
413
id: screen-capture-internal.png
414
_summary: Attaches a simple screen capture
415
estimated_duration: 1.0
416
depends: graphics/screen-capture-internal
417
command: [ -f ${PLAINBOX_SESSION_SHARE}/screen-capture.png ] && base64 ${PLAINBOX_SESSION_SHARE}/screen-capture.png
418
_description: Attaches the simple screen capture file
421
template-resource: graphics_card
423
category_id: 2013.com.canonical.plainbox::graphics
424
id: graphics/{index}_screen-capture-internal_{product_slug}
425
_summary: Obtains a simple screen capture of {vendor} {product}
426
estimated_duration: 1.0
427
requires: package.name == 'gnome-screenshot'
428
command: gnome-screenshot --file $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png
429
_description: Obtains a simple screen capture of {vendor} {product} using gnome-screenshot if present
432
template-resource: graphics_card
434
category_id: 2013.com.canonical.plainbox::graphics
435
id: graphics/{index}_screen-capture-internal_{product_slug}.png
436
depends: graphics/{index}_screen-capture-internal_{product_slug}
437
_summary: Attaches a simple screen capture of {vendor} {product}
438
estimated_duration: 1.0
439
command: [ -f $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png ] && base64 $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png
440
_description: Attaches the simple screen capture file of {vendor} {product}
242
id: graphics/generator_cycle_resolution
243
requires: device.category == 'VIDEO'
244
_description: Resolution cycling tests
245
_summary: Resolution cycling tests
248
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
250
id: graphics/`echo ${index}`_cycle_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
251
requires: package.name == 'xorg'
252
depends: graphics/VESA_drivers_not_in_use
253
command: xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE
254
estimated_duration: 250.000
255
_summary: Test resolution cycling for $product
258
This test cycles through the detected video modes for the $product graphics card
260
1. Click "Test" to start cycling through the video modes
262
Did the screen appear to be working for each mode?
265
id: graphics/generator_rotation
266
requires: device.category == 'VIDEO'
267
_description: Rotation tests
268
_summary: Rotation tests
271
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
273
id: graphics/`echo ${index}`_rotation_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
274
depends: graphics/xorg-version
275
command: rotation_test
276
estimated_duration: 20.000
277
_summary: Test rotation for $product
280
This test will test display rotation on the $product graphics card
282
1. Click "Test" to test display rotation. The display will be rotated every 4 seconds.
283
2. Check if all rotations (normal right inverted left) took place without permanent screen corruption
285
Did the display rotation take place without without permanent screen corruption?
288
id: graphics/generator_compiz_check
289
requires: device.category == 'VIDEO'
290
_description: Compiz support tests
291
_summary: Compiz support tests
294
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
296
id: graphics/`echo ${index}`_compiz_check_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
297
requires: package.name == 'nux-tools'
298
command: ! /usr/lib/nux/unity_support_test -c -p | ansi_parser | grep ":\(\s\+\)no$"
299
estimated_duration: 0.130
300
_description: Check that $product hardware is able to run compiz
301
_summary: Test Compiz support for $product
304
id: graphics/generator_unity_support
305
requires: device.category == 'VIDEO'
306
_description: Unity support tests
307
_summary: Unity support tests
310
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
312
id: graphics/`echo ${index}`_unity_support_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
313
requires: package.name == 'nux-tools'
314
command: ! /usr/lib/nux/unity_support_test -p | ansi_parser | grep ":\(\s\+\)no"
315
estimated_duration: 0.131
316
_description: Check that $product hardware is able to run Unity 3D
317
_summary: Test Unity 3D support for $product
320
id: graphics/generator_glxgears
321
requires: device.category == 'VIDEO'
322
_description: glxgears tests
323
_summary: glxgears tests
326
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
327
plugin: user-interact-verify
328
id: graphics/`echo ${index}`_glxgears_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
329
requires: package.name == 'mesa-utils'
330
command: glxgears; true
331
_summary: Test that glxgears works for $product
334
This test tests the basic 3D capabilities of your $product video card
336
1. Click "Test" to execute an OpenGL demo. Press ESC at any time to close.
337
2. Verify that the animation is not jerky or slow.
339
1. Did the 3d animation appear?
340
2. Was the animation free from slowness/jerkiness?
343
id: graphics/generator_3d_window_open_close
344
requires: device.category == 'VIDEO'
345
_description: 3D window open/close tests
346
_summary: 3D window open/close tests
349
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
351
id: graphics/`echo ${index}`_3d_window_open_close_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
352
requires: package.name == 'mesa-utils'
353
command: window_test -t open-close -i 10
354
estimated_duration: 60.525
355
_description: Open and close a 3D window multiple times on the $product video card
356
_summary: Test 3D window open/close for $product
359
id: graphics/generator_3d_window_suspend_resume
360
requires: device.category == 'VIDEO'
361
_description: 3D window with suspend/resume tests
362
_summary: 3D window with suspend/resume tests
365
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
367
id: graphics/`echo ${index}`_3d_window_suspend_resume_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
368
requires: package.name == 'mesa-utils'
369
command: window_test -t suspend-resume -i 10
370
estimated_duration: 121.00
371
_description: Open, suspend resume and close a 3D window multiple times on the $product video card
372
_summary: Test a 3D window with suspend/resume for $product
375
id: graphics/generator_multi_3d_windows_open_close
376
requires: device.category == 'VIDEO'
377
_description: Multiple 3D window open/close
378
_summary: Multiple 3D window open/close tests
381
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
383
id: graphics/`echo ${index}`_multi_3d_windows_open_close_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
384
requires: package.name == 'mesa-utils'
385
command: window_test -t open-close-multi -i 10 -w 4
386
estimated_duration: 60.000
387
_description: Open and close 4 3D windows multiple times on the $product video card
388
_summary: Test Multi 3D window open/close for $product
391
id: graphics/generator_3d_window_move
392
requires: device.category == 'VIDEO'
393
_description: 3D window movement
394
_summary: 3D window movement tests
397
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
399
id: graphics/`echo ${index}`_3d_window_move_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
401
package.name == 'mesa-utils'
402
package.name == 'wmctrl'
403
command: window_test -t move
404
estimated_duration: 50.000
405
_description: Move a 3D window around the screen on the $product video card
406
_summary: Test 3D window movement for $product
409
id: graphics/generator_screenshot
410
requires: device.category == 'VIDEO'
411
_description: screenshot tests
412
_summary: screenshot tests
415
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
417
id: graphics/`echo ${index}`_screenshot_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
418
requires: package.name == 'fswebcam'
419
command: set -o pipefail; camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_${index}.jpg -q 2>&1 | ansi_parser
420
_summary: Test grabbing a screenshot for $product
423
Take a screengrab of the current screen (logged on Unity desktop) as produced by the $product graphics card
425
1. Take picture using USB webcam
427
Review attachment manually later
430
id: graphics/generator_screenshot.jpg
431
requires: device.category == 'VIDEO'
432
_description: screenshot attachment tests
433
_summary: screenshot attachment tests
436
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
438
id: `echo ${index}`_screenshot_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`.jpg
439
depends: graphics/`echo ${index}`_screenshot_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
440
command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_${index}.jpg
441
_description: Attaches the screenshot captured in graphics/screenshot for the $product graphics card.
442
_summary: Attach results of screenshot test for $product
445
id: graphics/generator_screenshot_fullscreen_video
446
requires: device.category == 'VIDEO'
447
_description: full screen video screenshot tests
448
_summary: full screen video screenshot tests
451
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
453
id: graphics/`echo ${index}`_screenshot_fullscreen_video_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
454
requires: package.name == 'fswebcam'
456
[ -f ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv ] || { echo "Video file not found"; exit 1; }
457
dbus-launch gsettings set org.gnome.totem repeat true
458
totem --fullscreen ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv 2>/dev/null &
460
sleep 15 && camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video_${index}.jpg -q 2>&1 | ansi_parser
461
sleep 5 && totem --quit 2>/dev/null
462
dbus-launch gsettings set org.gnome.totem repeat false
463
_summary: Test FSV screenshot for $product
466
Take a screengrab of the current screen during fullscreen video playback using the $product graphics card
468
1. Start a fullscreen video playback
469
2. Take picture using USB webcam after a few seconds
471
Review attachment manually later
474
id: graphics/generator_switch_card
475
requires: device.category == 'VIDEO'
476
_description: GPU switch prompt tests
477
_summary: GPU switch prompt tests
480
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
482
id: graphics/`echo ${index}`_switch_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
483
_summary: Test GPU switching for $product
486
Manually switch to the $product card.
488
1. If your system is already running with the $product card, then please mark this test as "passed" and proceed.
489
2. Using the appropriate tool (either NVidia settings or AMD Control Center), switch your system to use the $product graphics card. This will require restarting your session.
490
3. Once the session restarts, please restart this testing program and select "continue" when prompted for a resume action.
491
4. Don't answer the verification question until the system has restarted with the $product card enabled.
493
Is the system using the $product card now?
496
id: graphics/generator_screenshot_fullscreen_video.jpg
497
requires: device.category == 'VIDEO'
498
_description: full screen video attachment tests
499
_summary: full screen video attachment tests
502
cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
504
id: `echo ${index}`_screenshot_fullscreen_video_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`.jpg
505
depends: graphics/`echo ${index}`_screenshot_fullscreen_video_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
506
command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video_${index}.jpg
507
_summary: Attach results of FSV screenshot test for $product
508
_description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video for the $product graphics card
512
id: graphics/screenshot_opencv_validation
513
requires: package.name == 'python-opencv'
514
environ: EXTERNAL_WEBCAM_DEVICE
516
screenshot_validation \
517
${PLAINBOX_PROVIDER_DATA}/images/logo_Ubuntu_stacked_black.png \
518
--device=${EXTERNAL_WEBCAM_DEVICE:-/dev/external_webcam} \
519
-o ${PLAINBOX_SESSION_SHARE}/screenshot_opencv_validation.jpg
520
_summary: Test that a screenshot is valid, automatically
522
Take a screengrab of the screen displaying a black and white Ubuntu logo.
523
Check that the screenshot matches the original file using OpenCV ORB detection.
526
id: screenshot_opencv_validation.jpg
527
depends: graphics/screenshot_opencv_validation
528
command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_opencv_validation.jpg
529
_description: Attaches the screenshot captured in graphics/screenshot_opencv_validation.
530
_summary: Attach the screenshot captured for the automatically validated screenshot test