Why a portrait signage player reports 720p framebuffer resolution

6 min read · Published November 6, 2026

The 720x1280 a portrait signage player reports is the memory canvas the app draws into, while the 1920x1080 on the screen's info page is HDMI output timing, stretched 1.5x by the output scaler. Forcing a 1080x1920 layout onto the smaller canvas shows about 44 percent of the design. Read the app's number, design to it, or move to hardware that rotates at native resolution.

The number a portrait signage player reports is the number to trust. A 720x1280 report means the app draws into a memory canvas 720 pixels wide and 1280 pixels tall, whatever the screen's info page says. The 1920x1080 the screen receives is video timing: a scaler in the player stretches the canvas 1.5x in each direction to fill the panel. Forcing a 1080x1920 layout onto the smaller canvas draws it one pixel in, one pixel out, and about 44 percent of the design reaches the glass. This article separates the two numbers, works the crop arithmetic on a real layout, and gives the three ways out: design at the reported canvas, rotate at the OS level, or move to hardware where panel and player are matched.

The two resolutions and the scaler between them

Two sizes do two different jobs on a small Android player.

The framebuffer is the block of memory the signage app draws every frame into. Its size comes from the graphics hardware and the OS display stack, fixed before the signage app starts.

The HDMI output is a separate number: the video timing sent down the cable. A player with a 720x1280 drawing canvas can be configured to send 1920x1080 timing, and most small players are, because 1080p output is what the spec sheet sells.

Between the two sits a hardware scaler. It stretches the 720x1280 canvas by 1080/720 = 1.5 in width and 1920/1280 = 1.5 in height, so the panel fills edge to edge. The screen's signal info reads 1920x1080 and the installation looks correct.

The app never sees the output stage. Its status line reads its own canvas, which is why the app says 720x1280 while the screen says 1920x1080. Both numbers are true; they describe different stages.

Scaling adds no detail. Text drawn on the 720-pixel canvas leaves the player stretched to 1.5x its drawn size, and the panel's extra pixels repeat what the canvas already contains.

Number Where you read it What it is
720x1280 the player app's status or display info the canvas every frame is drawn into
1920x1080 the screen's signal info menu the video timing sent over HDMI

What forcing 1080x1920 actually does

A layout override, the kind that takes a position and a size, forces the drawing surface to 1080x1920. The app then draws the layout at one canvas pixel per layout pixel on a canvas 720 pixels wide. Nothing scales the drawing down to fit. Whatever lands inside the 720x1280 canvas reaches the screen; the rest is rendered and discarded every frame.

The visible share is the product of two ratios:

  • columns: 720 of 1080 = 0.67
  • rows: 1280 of 1920 = 0.67
  • area: 0.67 x 0.67 = 0.44

About 44 percent of the layout shows, magnified 1.5x on the way to the panel. That magnification is why the visible part looks zoomed and misaligned like a videowall tile: it is a window onto a larger canvas.

No setting inside the app is designed to recover the missing share, because the canvas has no room for it. The override changes what the app draws; the canvas stays 720x1280.

The same arithmetic at a bigger step explains why a 4K portrait layout leaves a quarter visible on a 1080-wide panel. The crop shows up away from signage too: an HMI project drawn larger than its panel shows the same quarter-screen view, for the same one-pixel-in one-pixel-out reason.

Example: a 1080x1920 menu on a 720x1280 canvas

A cafe hangs a 1920x1080 panel in portrait and drives it with a small Android player. The player app reports 720x1280. The menu was designed at 1080x1920, and someone sets the layout override to 1080x1920 to answer the resolution warning.

  • Layout area: 1080 x 1920 = 2,073,600 pixels
  • Canvas area: 720 x 1280 = 921,600 pixels
  • Visible share: 921,600 / 2,073,600 = 0.44, so 44 percent of the menu is on screen
  • Never shown: 2,073,600 - 921,600 = 1,152,000 pixels, 56 percent of the design, including the far columns and rows

Text: a price line drawn 120 pixels tall in the 1080-wide design lands on the canvas at 120 pixels and leaves the player at 120 x 1.5 = 180 panel pixels, 1.5 times the height the designer intended, if its column is visible at all.

Fix on the same hardware: rebuild the menu at 720x1280. The same physical line needs 120 x (720/1080) = 80 pixels, every element fits the canvas, and nothing is cropped.

How to check which number you have

  1. Rotate to portrait and open the player app's status or display info screen. The resolution it reports is the canvas every layout lands on.
  2. Play a test image built exactly at the layout size, with a 2 pixel border and a word in each corner. A missing border edge or corner word means the canvas is smaller than the layout.
  3. Open the screen's signal info menu. Expect 1920x1080 there; it confirms the timing and sizes nothing in the layout.
  4. Run the layout once at the reported canvas before building final content. The portrait layout fit check takes minutes with corner labels and line counts.

What to change on the sign

Design and export at the reported canvas. Still images go out at 720x1280 and video is encoded natively in portrait at the same size, with a constant frame rate, in place of a landscape master rotated at playback.

When reusing a 1080-wide design, scale pixel sizes by 720/1080 = 0.67: a 24 pixel body line becomes 16 pixels and a 120 pixel headline becomes 80 pixels. Fine text loses the most in the resize, so check the smallest line against viewing distance. The FHWA planning figure is 30 feet of distance per inch of capital height, and 20 feet per inch is the safer choice for fast reading; the screen size and viewing distance guide carries the full planning numbers.

Rotation is decided outside the app. The app draws on the canvas the OS gives it, and where the OS offers no portrait rotation at the panel's native size, no app setting produces a 1080x1920 canvas. What to check when a signage player lacks portrait rotation support lists the device-side questions.

The three ways out

Keep the player and rebuild the content at the reported canvas. It needs no new hardware: export at 720x1280 and the sign fills the panel. The limit is fine print; size capital heights for the real viewing distance.

Move to a player whose OS rotation holds native resolution. Confirm it by the app's report, a true portrait device reading 1080x1920 with the panel rotated, before anyone builds content. If the small player in hand is an x86 box running Linux, rotation is a compositor setting fixed before the signage app starts, and fixing portrait rotation with weston.ini and panel timing walks that path.

Use hardware where panel and player are matched. An all-in-one unit removes the canvas-versus-timing split entirely, and it replaces the TV-and-stick pair, so it is the wrong move while the mounted screen and the existing player are working fine. On our panel-mount players, rotation is one setting, so the same unit hangs portrait or landscape. Start from the displays category.

Recommendation: Read the resolution the player app reports in portrait and design to it. If it reports 720x1280, export the layout at 720x1280 and delete any 1080x1920 override, because the override puts 56 percent of the design where no pixel shows it. If the layout genuinely needs a 1080x1920 canvas, choose hardware that rotates at native resolution and confirm the app reports 1080x1920 in portrait before content is built. For a matched panel and player with rotation as one setting, start from the display range and confirm the portrait behavior in the quote.

Questions

Will designing at 720x1280 make text look soft on the 1080p panel?

A little, and usually acceptably at menu-board distances. Every canvas pixel is stretched 1.5x on the way to the panel, so edges pick up smoothing and strokes carry no more detail than the 720-pixel canvas holds. Keep capital heights generous, check the smallest line at the real viewing distance, and if text still reads soft, that is the case for hardware that rotates the panel at native resolution.

Where is the forced-resolution setting that caused the crop?

It lives in the signage app itself, on the status or display settings screen, entered as a position and size. Set it back to the resolution the app reports, or clear it, and let the app start again; the player is designed to bring the show back up full screen at power-on with no keyboard. The canvas underneath stays the same size either way; the override only changes what the app tries to draw onto it.

How do I check portrait support before buying a player?

Ask what resolution the player software reports with the screen rotated to portrait, and whether the device's own rotation keeps the panel's native size. A stick that reports 720x1280 in portrait draws on a 720-pixel canvas whatever its HDMI output claims. Get the number in writing, then play a corner-marked test image on the bench before anyone builds content.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote