User Tools

Site Tools


doc:appunti:hardware:mini_pc_intel_pentium_j3710

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:hardware:mini_pc_intel_pentium_j3710 [2026/02/23 15:04] – [Blanking the Virtual Terminal] niccolodoc:appunti:hardware:mini_pc_intel_pentium_j3710 [2026/02/24 19:12] (current) – [DPMS (Display Power Management Signaling)] niccolo
Line 100: Line 100:
 </code> </code>
  
 +==== DPMS (Display Power Management Signaling) ====
  
-FIXME What is this?+DPMS (Display Power Management Signaling) is a VESA standard used to reduce monitor power consumption by controlling power states (On, Standby, Suspend, Off) generally based on user inactivity. 
 + 
 +It is possible to control the status of the display connected to the frame buffer writing some values to the pseudo file:
  
 <code> <code>
Line 107: Line 110:
 echo 0 > /sys/class/graphics/fb0/blank echo 0 > /sys/class/graphics/fb0/blank
 </code> </code>
 +
 +| 0  | FB_BLANK_UNBLANK  | Screen ON (normal operation)  |
 +| 1  | FB_BLANK_NORMAL  | Blank screen (no power saving)  |
 +| 2  | FB_BLANK_VSYNC_SUSPEND  | Suspend vertical sync  |
 +| 3  | FB_BLANK_HSYNC_SUSPEND  | Suspend horizontal sync  |
 +| 4  | FB_BLANK_POWERDOWN  | Power down display (DPMS off)  |
 +
 +Writing the value 4 to the pseudodevice changes the **DPMS** property from **On=0** to **Off=3**. It is possibile to check all the **connectors properties** using **modetest** (provided by the **libdrm-tests** Debian package):
 +
 +<code>
 +modetest -M i915 -c
 +opened device `Intel Graphics` on driver `i915` (version 1.6.0 at 20201103)
 +Connectors:
 +id      encoder status          name            size (mm)       modes   encoders
 +95      94      connected       HDMI-A-1        0x0                   94
 +  modes:
 +        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
 +  #0 1024x768 60.00 1024 1048 1184 1344 768 771 777 806 65000 flags: nhsync, nvsync; type: driver
 +  #1 800x600 60.32 800 840 968 1056 600 601 605 628 40000 flags: phsync, pvsync; type: driver
 +  ...
 +    2 DPMS:
 +        flags: enum
 +        enums: On=0 Standby=1 Suspend=2 Off=3
 +        value: 3
 +    ....
 +
 +107     106     connected       HDMI-A-2        470x260         30      106
 +  modes:
 +        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
 +  #0 1024x600 59.82 1024 1068 1156 1344 600 603 609 625 50250 flags: phsync, nvsync; type: preferred, driver
 +  #1 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
 +  ...
 +    2 DPMS:
 +        flags: enum
 +        enums: On=0 Standby=1 Suspend=2 Off=3
 +        value: 3
 +    ....
 +</code>
 +
 +
 +FIXME What is this?
  
 <code> <code>
Line 112: Line 156:
 /usr/sbin/vbetool dpms off /usr/sbin/vbetool dpms off
 </code> </code>
 +
  
 ===== Pygame ===== ===== Pygame =====
Line 127: Line 172:
 Using that driver the SDL **Simple DirectMedia Layer** library owns the DRM master, external tools (modetest, sysfs) do not work for blanking the screen. The correct solution is to control this from inside SDL. Using that driver the SDL **Simple DirectMedia Layer** library owns the DRM master, external tools (modetest, sysfs) do not work for blanking the screen. The correct solution is to control this from inside SDL.
  
 +===== HDMI Monitor supported modes =====
 +
 +<code>
 +cat /sys/class/drm/card0-HDMI-A-1/modes
 +</code>
 +
 +<code>
 +1024x600
 +800x600
 +800x600
 +800x600
 +800x600
 +720x576
 +...
 +</code>
 +
 +<code>
 +fbset -i -fb /dev/fb0
 +
 +mode "1024x600"
 +    geometry 1024 600 1024 600 32
 +    timings 0 0 0 0 0 0 0
 +    rgba 8/16,8/8,8/0,0/0
 +endmode
 +
 +Frame buffer device information:
 +    Name        : i915drmfb
 +    Address     : 0
 +    Size        : 2457600
 +    Type        : PACKED PIXELS
 +    Visual      : TRUECOLOR
 +    XPanStep    : 1
 +    YPanStep    : 1
 +    YWrapStep   : 0
 +    LineLength  : 4096
 +    Accelerator : No
 +</code>
doc/appunti/hardware/mini_pc_intel_pentium_j3710.1771855463.txt.gz · Last modified: by niccolo