1. installation

sudo dnf -y install glmark2 dmidecode lshw

2. audit

lsmod | grep video
uvcvideo              102400  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_core         45056  2 uvcvideo,videobuf2_v4l2
videodev              208896  3 uvcvideo,videobuf2_core,videobuf2_v4l2
media                  45056  2 uvcvideo,videodev
video                  45056  3 thinkpad_acpi,nouveau,i915       <<<<<<<<<<<<<<<
sudo lspci -k | grep -A2 VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
        Subsystem: Lenovo Device 21d0
        Kernel driver in use: i915                               <<<<<<<<<<<<<<<
--
01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [Quadro NVS 4200M] (rev a1)
        Subsystem: Lenovo Device 21d0
        Kernel driver in use: nouveau                            <<<<<<<<<<<<<<<
sudo lshw -short -class display
H/W path         Device      Class          Description
=======================================================
/0/100/1/0                   display        GF119M [Quadro NVS 4200M]
/0/100/2                     display        2nd Generation Core Processor Family Integrated Graphics Controller
sudo glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.3.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.3.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
sudo dmidecode --type bios
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x000D, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: 83ET79WW (1.49 )
        Release Date: 09/05/2016
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 8192 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                3.5"/720 kB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
        BIOS Revision: 1.49
        Firmware Revision: 1.20

Handle 0x002B, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Abbreviated
        Installable Languages: 1
                en-US
        Currently Installed Language: en-US
sudo dmidecode --type system
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x000E, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 418065G
        Version: ThinkPad T420
        Serial Number: PBFYBN2
        UUID: 66581D81-5216-11CB-B3DF-BB1588649B7E
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: ThinkPad T420

Handle 0x002A, DMI type 12, 5 bytes
System Configuration Options

Handle 0x0037, DMI type 15, 29 bytes
System Event Log
        Area Length: 50 bytes
        Header Start Offset: 0x0000
        Header Length: 16 bytes
        Data Start Offset: 0x0010
        Access Method: General-purpose non-volatile data functions
        Access Address: 0x00F0
        Status: Valid, Not Full
        Change Token: 0x00000002
        Header Format: Type 1
        Supported Log Type Descriptors: 3
        Descriptor 1: POST error
        Data Format 1: POST results bitmap
        Descriptor 2: Single-bit ECC memory error
        Data Format 2: Multiple-event
        Descriptor 3: Multi-bit ECC memory error
        Data Format 3: Multiple-event

3. testing

glmark2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Sandybridge Mobile
    GL_VERSION:    3.0 Mesa 17.3.6
=======================================================
[build] use-vbo=false: FPS: 1735 FrameTime: 0.576 ms
[build] use-vbo=true: FPS: 2054 FrameTime: 0.487 ms
[texture] texture-filter=nearest: FPS: 1852 FrameTime: 0.540 ms
[texture] texture-filter=linear: FPS: 1844 FrameTime: 0.542 ms
[texture] texture-filter=mipmap: FPS: 1905 FrameTime: 0.525 ms
[shading] shading=gouraud: FPS: 1704 FrameTime: 0.587 ms
[shading] shading=blinn-phong-inf: FPS: 1704 FrameTime: 0.587 ms
[shading] shading=phong: FPS: 1618 FrameTime: 0.618 ms
[shading] shading=cel: FPS: 1537 FrameTime: 0.651 ms
[bump] bump-render=high-poly: FPS: 1028 FrameTime: 0.973 ms
[bump] bump-render=normals: FPS: 2033 FrameTime: 0.492 ms
[bump] bump-render=height: FPS: 1887 FrameTime: 0.530 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 986 FrameTime: 1.014 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 442 FrameTime: 2.262 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1727 FrameTime: 0.579 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 469 FrameTime: 2.132 ms
[desktop] effect=shadow:windows=4: FPS: 854 FrameTime: 1.171 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 708 FrameTime: 1.412 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 628 FrameTime: 1.592 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 748 FrameTime: 1.337 ms
[ideas] speed=duration: FPS: 1134 FrameTime: 0.882 ms
[jellyfish] <default>: FPS: 1014 FrameTime: 0.986 ms
[terrain] <default>: FPS: 110 FrameTime: 9.091 ms
[shadow] <default>: FPS: 757 FrameTime: 1.321 ms
[refract] <default>: FPS: 260 FrameTime: 3.846 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 1704 FrameTime: 0.587 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1686 FrameTime: 0.593 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 1690 FrameTime: 0.592 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1692 FrameTime: 0.591 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1709 FrameTime: 0.585 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1722 FrameTime: 0.581 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1730 FrameTime: 0.578 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1703 FrameTime: 0.587 ms
=======================================================
                                  glmark2 Score: 1344
=======================================================

./pic/glmark2.png

glxgears
308 frames in 5.0 seconds = 61.576 FPS
300 frames in 5.0 seconds = 59.995 FPS
301 frames in 5.0 seconds = 60.009 FPS
300 frames in 5.0 seconds = 59.987 FPS
301 frames in 5.0 seconds = 60.012 FPS
Tip press ctrl-c to stop previous program after 5 runs.

./pic/glxgears.png

4. references