Eve Spectrum Prototype Tester | Marat Tanalin

Hello. I’m Marat Tanalin. I’m here to test pixel-perfect integer-ratio upscaling (a.k.a. integer scaling) in the Eve Spectrum 4K monitor. Spoiler: integer scaling already works at least for FHD→4K.

Who I am:

  • the one who originally requested pixel-perfect integer-ratio scaling two years ago as a feature of Eve Spectrum monitors;

  • 4K-monitor (Dell P2415Q) owner since 2015;

  • the author of:

    • detailed article about integer scaling;
    • IntegerScaler — a free app for GPU-independent integer scaling under Windows 7+;
    • SmartUscale — a Firefox/Chrome browser extension (addon) for integer scaling of images on webpages;
    • bsnes-mt — a SNES emulator with built-in pixel-perfect scaling with integer scales used both vertically and horizontally for zero pixel shimmering;
    • IntegerScaling — a programming library for calculations for pixel-perfect scaling, including the reference implementation of my author’s algorithm for shimmering-free both-axes’ integer scaling with aspect-ratio correction;
  • the creator and maintainer of the integer_scaling Reddit community (subreddit);

  • long-term integer-scaling enthusiast and evangelist.

I’m going to test integer scaling in different scenarios, including, but not limited to:

  • 3D games at Full HD (1920×1980) with perfect-square 2×2 pixels, and other resolutions;

  • low-resolution old games — e.g. 640×480 with 4×4 pixels and black bars around the scaled image;

  • everyday desktop work with regular desktop apps like Firefox web-browser, Windows Explorer, and programming-code editors;

  • Ubuntu Linux;

  • during PC boot and in BIOS (CMOS Setup) where GPU-powered scaling cannot be used at all;

  • with non-computer signal sources that scaling via GPU could not help with too, such as:

    • SNES Mini (Super Nintendo classic) (official retro-game console) (1280×720 via HDMI);
    • hardware video player Iconbit HD375W (1080p, 1080i via HDMI);
    • TV tuner D-Color DC1302HD (1080p/i, 720p/i, 480p/i, 576p/i via HDMI);
    • photocamera Panasonic GF5 (1080i, 480p, 576p via MiniHDMI).

While I’m primarily interested in pixel-perfect scaling, I’m also going to share my experience with other Spectrum-specific things I encounter during everyday use of the monitor.

I would like to say thanks to Eve, namely Grant Dong (@Lore_Wonder) and everyone involved, for giving me an opportunity to be a part of the process of revolutionizing the computer-monitor market with the world’s first monitor with built-in pixel-perfect integer scaling.


Table of contents
27 Likes

Good to see you onboard!

5 Likes

I’ll be watching this space closely!
And I second that of which @Bloodminer said
:slightly_smiling_face:

3 Likes

Pixel-perfect (integer) scaling via HDMI 1.x

(Updated 2021-08-03)

Summary

Integer scaling works, but at unsupported resolutions scaling is not performed at all.

640×480 is effectively not available via HDMI under Windows at least with nVidia GPUs, though is available under Linux (Ubuntu 18.10/21.04), as well as under both Windows and Linux via DisplayPort.

Details

Integer scaling does work in general in the Eve Spectrum 4K monitor (ES07D03). So it’s indeed the world’s first computer monitor with built-in integer scaling. Yay! This alone puts Eve Spectrum far ahead of all “similar” monitors, including those based on the same LCD panel.

With the firmware 102 rev. 875 (2021-07-12), integer scaling is functional at all the resolutions formally supported by the monitor:

  • 1920×1080 (Full HD, 2x);
  • 1920×1080i (Full HD interlaced; 2x) (HDMI-only) (not under Linux);
  • 1680×1050 (WSXGA+, 2x);
  • 1440×900 (WSXGA, 2x);
  • 1280×1024 (SXGA, 2x);
  • 1280×960 (SXGA−, 2x);
  • 1280×720 (HD, 3x);
  • 1024×768 (XGA, 2x);
  • 800×600 (SVGA, 3x);
  • 720×576 (PAL DVD, 3x);
  • 720×480 (NTSC DVD, 4x);
  • 640×480 (VGA, 4x) (problematic via HDMI 1.x under Windows).

Before the firmware version 102 rev. 867, pixel-perfect scaling did not work at 1440×900, 1280×960, 720×576, and 720×480.

Issues

There are some issues, some of them are caused by the monitor itself, while other ones are caused either by Windows or by nVidia graphics driver.

Centering instead of pixel-perfect scaling at unsupported resolutions

At 1080i (interlaced) under Linux (Ubuntu 18.10/21.04), scaling in “Pixel perfect” mode is not performed, the image is just centered. This does not happen under Windows.

The Linux-specific thing is that it sends 1080i as 1920×1078, while Windows sends 1920×1080. The monitor does not specifically support 1920×1078, though correctly displays the image and indicates the mode as the current video mode in the monitor menu/OSD.

Interlaced modes are only available via HDMI and not via DP.

In the regular blurry scaling mode — “Maintain aspect ratio” — scaling is/was performed fine even at resolution(s) that pixel-perfect scaling does/did not work at. So the possible reason may be that specific scales (scaling ratios) in the “Pixel perfect” monitor mode are not calculated dynamically in a universal resolution-agnostic way, but hard-coded for each resolution into firmware, such hard-coded scales are only available for the resolutions explicitly listed in the monitor EDID, and any other resolution combined with pixel-perfect scaling results in centering with no scaling at all.

640×480 can’t be used under Windows via HDMI

This is most likely not a monitor fault. The lowest resolution supported by the monitor is 640×480, but it’s effectively impossible to use it under Windows (both 10 and 7):

instead of outputting 640×480 directly to the monitor, it’s first upscaled to 800×600 using GPU scaling, and that fake 800×600 is then upscaled by the monitor itself.

Blur caused by scaling via GPU can be avoided by switching GPU-scaling method to “No scaling”. But because the resolution the monitor receives is 800×600, it is scaled instead of 640×480. So the resulting scale is 3.0 (300%) instead of the proper 4.0 (400%) expected at true 640×480, and we unreasonably lose a significant amount of screen space/height: the height loss is 33% instead of 11%.

This issue is specific to HDMI connection and does not reproduce with DisplayPort. Using DP instead of HDMI, I was able to run “POD Gold” (GOG version) and “C&C Red Alert II” (Origin version) with direct 640×480 output without forced implicit GPU prescaling to 800×600. Also, successfully switched Windows itself to 640×480@60Hz, and the monitor menu displayed 640×480 as the current resolution, not 800×600, in all the three cases.

Windows/nVidia bug: silently switching to GPU scaling

Under Windows 10, there is apparently an annoying bug in nVidia driver (including the latest 471.41, 2021-07-19) or even Windows itself:

the device to perform scaling on silently switches to GPU (instead of display) each time when changing resolution via Windows display settings, and this is not even reflected in the nVidia control panel.

So to use scaling via monitor, each time the desktop resolution is changed, the user is forced to go to nVidia control panel, choose “GPU” in the “Perform scaling on” dropdown (“Display” → “Adjust desktop size and position” → “Apply the following settings” → “Scaling”), press the “Apply” button, then immediately cancel the change, just to make the already displayed “Display” value match reality and allow the monitor to perform scaling.

Alternatively, silent switching to GPU scaling can be prevented by switching video modes via the classic (pre-Windows-10) “List All Modes” window available via a button in the window opened with the “Display adapter properties for Display 1” text button in the “Advanced display settings” window.

Windows 7 is almost not affected by this: it only switches to GPU scaling if the refresh rate is not available (typically too high) at the selected resolution (e.g. it sets 120 Hz at 1280×720, even though this rate is only available at FHD). Once the user manually switches the refresh rate to a lower one supported by the monitor at the selected resolution, monitor scaling is used automatically.

“Aspect Ratio” option is not available in low-latency and Adaptive-Sync modes

The “Picture” → “Aspect Ratio” monitor option gets grayed-out and not available to change, at resolutions of 800×600 and higher when “Performance” → “Low-latency mode” is turned on.

The “Low-latency mode” option gets grayed-out when “Performance” → “Adaptive-Sync” is turned on. “Adaptive-Sync” is turned on by default, so “Low-latency mode” is grayed-out by default, and so “Aspect Ratio” is grayed-out by default too.

“Aspect Ratio” is available at 4K@30Hz even with default settings (factory defaults), because Adaptive-Sync cannot be used at 30 Hz (as it’s below minimum 48 Hz) and the “Adaptive-Sync” option is grayed-out and implicitly set to “Off”.

Once “Aspect Ratio” is set to “Pixel perfect”, pixel-perfect scaling works regardless of whether the “Aspect Ratio” option is available for changing.

Thanks Grant (@Lore_Wonder) for clarification about the relationship between “Aspect Ratio”, “Low-latency mode” and “Adaptive-Sync” monitor options.

Two-stage blurry+integer scaling during non-UEFI boot, only visible via HDMI

During boot of a computer with a non-UEFI BIOS (“Award Modular BIOS v6.00PG” in my case) when using HDMI, scaling in “Pixel perfect” mode is apparently performed in two stages:

  1. the original image is upscaled to an intermediate resolution;
  2. that blurry image is upscaled pixel-perfectly with 2×2 square pixels.

The resolution displayed in the monitor menu during boot is 1280x1024@60Hz. So 1280×1024 is probably the intermediate resolution the original image is scaled to with blur before pixel-perfect scaling at the second stage.

This is probably due to that the video mode used by non-UEFI computers during boot (probably 720×400@70Hz, 640×400@70Hz, or 640×480@75Hz), is missing in the list of supported video modes specified in the monitor EDID — this is probably the same reason why boot process is invisible and black screen is displayed instead when the monitor is connected via DisplasPort (DP) (see below).

Monitor menu (OSD) is blurry

The monitor’s own menu (OSD) is blurry for some reason. Such blur decreases text legibility and makes reading text harder.

This is certainly not antialiasing, this is exactly blur, like if a lower-resolution graphics was upscaled using bilinear or bicubic interpolation instead of pixel-perfect upscaling with no blur.

World’s first pixel-perfect-capable monitor with blurry menu/OSD? Uh.

This should be fixable quite easily — either by creating new graphics for menu (if all the text is graphics), or by changing the menu upscaling algorithm (if such upscaling is done dynamically when opening the menu) from bilinear/bicubic to Nearest Neighbour, or by rendering text at full native monitor resolution with type hinting (snapping to physical pixels) enabled.


Going to provide some demonstrative photos later. Testing continues.


For what it’s worth, so far I have been testing using HDMI 1.x (my GPU is not capable of HDMI 2.0) that I was forced to temporarily use instead of DisplayPort due to not having DP-to-DP cable (my Dell P2415Q came with a DP-to-MiniDP cable, but Eve Spectrum does not have a MiniDP input, only full-size DP), so it’s possible that this could affect some of the testing results to some extent. I already bought a DP-to-DP cable and plan to use it instead of HDMI starting from tomorrow.

19 Likes

Thank you so much for the input :slight_smile:

2 Likes

Attempt to use DisplayPort instead of HDMI 1.x

(Updated 2021-08-04)

Still 30 Hz

Connected the Eve Spectrum monitor via DisplayPort instead of HDMI 1.x with a goal to get 4K@60Hz. For some reason, the maximum available refresh rate in Windows 10 is still the same 30 Hz. Same in Ubuntu (Linux) 18.10.

Deleting the monitor via Device manager in Windows, and reinstalling the nVidia driver (with “Clean install” checkbox checked) did not help.

Updated the monitor firmware to the latest 101 rev. 858, and even its USB-Hub firmware to the latest 891202 just in case — same results. Same with the public firmware 102 rev. 875 (2021-07-12).

There is reportedly a similar issue with 30 Hz as the maximum refresh rate available on MacBook laptops connected to Eve Spectrum via USB-C:

144 Hz at FHD via DP vs. 120 Hz via HDMI 1.x

Somewhat good news is that the maximum refresh rate available via DP at 1920×1080 is 144 Hz instead of 120 Hz previously available via HDMI 1.x.

Computer boot is invisible via DP unlike HDMI

Nothing is displayed during computer boot. Interestingly, during that show-nothing period (until Windows 10 started), Eve Spectrum menu shows 3840×2160@60Hz as the current mode.

Empty screen in Windows 7

Under Windows 7, Eve Spectrum displays an almost-black screen with a narrow more-black line at the bottom. When I press Ctrl+Alt+Delete, the screen gets flickering blue with a narrow black line at the bottom. Pressing Escape returns the previous almost black screen. Forced to blindly reboot.

No such issues with Dell P2415Q using the same DP cable.
No such issues with Eve Spectrum when using HDMI 1.x (except for the expected 30 Hz due to the limited bandwidth of HDMI 1.x, of course).

Spectrum invisible in multi-display config when connected via DP

Another strange thing: when both Eve Spectrum (via DP) and Dell P2415Q (via HDMI) are connected to computer at the same time, everything looks like if the Eve Spectrum was not even connected:

  • The boot process is output to Dell P2415Q.
  • Windows does not see Eve Spectrum as the second display.

The opposite combination — Eve Spectrum via HDMI (4K@30Hz) and Dell P2415Q via DP (4K@60Hz) — works fine.

Going to retest with the latest public firmware 102 rev. 875 (2021-07-12).

Cable model

The cable is Hama DP 1.4 cable, model 53777, backwards compatible with DP 1.3-1.0.

GPU (graphics card) model (DP-1.2-capable)

My GPU is nVidia GTX 650 Ti Boost (2 GB) (Gigabyte GV-N65TBOC-2GD) with DisplayPort 1.2 output that works fine at 4K@60Hz with Dell P2415Q (2015) 4K monitor.

7 Likes

This is due to your gpu. If you look at the product specs, it only supports a maximum (as in all attached monitors added together) resolution of 4096x2160. This means that while your card supports up to 4 monitors, that’s only if you’re running them at 1080p or lower. If using 4k you won’t be able to get another display out.

In fact, the entire issue in this post seems to be gpu. When looking at the specs page for your gpu, it says it only supports 4k30 on hdmi. So the fact that you’re getting 60 from the Dell seems to be a fluke. Take a look at nvidia spec page here:

https://www.nvidia.com/en-us/geforce/graphics-cards/geforce-gtx-650ti/specifications/

Be sure to read the notes below the main list as well

3 Likes

If using 4k you won’t be able to get another display out.

I was previously able to use 4K@60Hz on Dell P2415Q and FHD@60Hz on LG 42LS5600 TV simultaneously with no issues.

it only supports 4k30 on hdmi. So the fact that you’re getting 60 from the Dell seems to be a fluke.

30 Hz via HDMI, 60 Hz via DP.
My Dell P2415Q is connected via DP and operates at 4K@60Hz with no issues since 2015.

4 Likes

Interesting. Perhaps your specific card goes above the nvidia spec. You’d have to look at the spec page for your specific card to try to find out.

Have you tried to create a custom resolution in nvidia control panel? That might let you do 60hz that way

1 Like

4K@60Hz via DP is not above the nVidia spec unless you consider DP itself above the nVidia spec.

4k@30Hz is an HDMI-1.x-specific limitation just due to its limited bandwidth:

3840x2160 at 30Hz or 4096x2160 at 24Hz supported over HDMI.

Bandwidth of DisplayPort 1.2 is enough even for 4K@75Hz.

3 Likes

Quick update: Looks like the issue with inability to use 640×480 in Windows is HDMI-specific and does not reproduce with DisplayPort. Added a note into the corresponding previous comment.

1 Like

Yes I do as it’s not listed as a regular output for that model. Therefore not officially supported by the hardware. That being said, as long as the card manufacturer implemented DP correctly, I agree it should work. Did you try my suggestion from my previous comment? Perhaps a custom resolution/refresh profile in the nvidia control panel will force it to work.

1 Like

Pressing the “Test” button in the nVidia CP window for creating a custom resolution 3840×2160@60Hz results in the same jerky 30 Hz, both perceptually and according to the refresh rate shown in the monitor menu.

Again, 4K@60Hz works on Dell P2415Q 4K monitor like a charm under the same conditions.

And just noticed: you referred to a different GPU without the “Boost” part in the model name.
GTX 650 Ti Boost does officially support DisplayPort:

https://www.nvidia.com/en-us/geforce/graphics-cards/geforce-gtx-650ti-boost/specifications/

3840x2160 at 30Hz or 4096x2160 at 24Hz supported over HDMI. 4096x2160 (including 3840x2160) at 60Hz supported over Displayport.

1 Like

Ah, that’s my bad then. I didn’t even notice. And I’m out of ideas of what the issue may be. Hopefully Eve can help find a solution.

4 Likes

Pixel-perfect (integer) scaling — photos in games at 640×480

Below are photos of Eve Spectrum screen when displaying games running at 640×480 at two “Picture” → “Aspect Ratio” monitor settings, shown side by side:

  • “Pixel perfect” (the exclusive Eve Spectrum mode with no blur);
  • “Maintain aspect ratio” (regular blurry scaling).

View full-size photos (not resized by web browser) to see individual pixels. :slight_smile:

Moto Racer (Steam version)

POD Gold (GOG version)

Command & Conquer: Red Alert II (Origin version)

9 Likes

Red Alert II best C&C ever. Played the shit out of that game back in the day

1 Like

When I was strobe tuning, I noticed some 24/30Hz issues on DisplayPort that I bugreported and Eve’s Lehui fixed them. I wonder if the fix needs to be repeated on HDMI?

In older firmwares, V100R840(ish) or earlier, switching from above 60 Hz temporarily to 24 Hz then back above 60 Hz, caused a lot of frame skipping to appear at 60 Hz until the monitor was unplugged/power cycled. Also 4K144 frameskipping was fully fixed during the course of my debugging the strobe tuning.

All these issues reported by me were fixed on MP firmwares AFAIK (V100R852 and newer), at least on DisplayPort.

Hearing the DP-vs-HDMI behavior difference, I imagine a retest by one of y’all on HDMI is in order, just in case, for the next firmware download.

For my test I did during strobe tune, I recommend Hz-switch tests 60-24-60, and 144-30-144, as well as 50-30-50. Anything non-divisible below 50Hz seemed to trigger my old issue. Anything below 50Hz turns on a repeat-refresher engine (like internal 120Hz to repeat-refresh 24Hz five times) in firmware, and that logic needed to be turned off when switching to 50Hz or up. Almost all brands of gaming LCDs do 24Hz and 30Hz via internal repeat-refresh logic (kind of a fixed Hz equivalent of VRR LFC), Eve included. Few people run high-Hz LCDs at such low Hz, but might be a cause of triggering frame skipping issues at higher Hz, via a specific obscure missed mode-change-reinitialization that ended up being required.

Easy bugfix (copy DP fix to HDMi logic) if this is determined to be from the same cause.

5 Likes

Hello, Mark. While what you said makes sense in general, I’m not sure how this is related to the issues I described here in this thread.

My only issue with HDMI was forced undisableable 640×480→800×600 prescaling via GPU under Windows before outputting to the monitor. And this issue is also a functional difference between HDMI and DP regarding Eve Spectrum, because with DP, 640×480 is outputted directly to the monitor, without prescaling it to 800×600.

30 Hz as the maximum available refresh rate via HDMI 1.x is not an issue in my case, but a natural and expected result of using HDMI 1.x with its limited bandwidth only capable of 4K@30Hz.

The real issues in my case are mainly with DisplayPort:

  • 30 Hz via DisplayPort 1.2 using a DP 1.4 cable (officially backward compatible with DP 1.0-1.3), while the same cable provides 4K@60Hz with my Dell P2415Q monitor under the same conditions.

  • Black screen during computer boot until Windows 10 is loaded, so there is no way to change BIOS settings or choose a different OS or a different drive to load an OS from.

  • Black screen in Windows 7 and therefore inability to use Windows 7 with Eve Spectrum at all.

5 Likes

Sounds like there’s no bug overlap. I was curious since they fixed a different “30 Hz” bug since it’s not a well-tested mode on many high-Hz monitors. Sounds like it would not be from a related cause.

3 Likes

Another DP cable — still 30 Hz, and still black screen during boot

Purchased another DisplayPort cable, now v1.2 (instead of v1.4) and by another manufacturer (VCOM instead of Hama).

Nothing has changed in terms of DP-specific issues with Eve Spectrum:

  • 30 Hz is the maximum refresh rate available;
  • black screen is displayed during computer boot.

With Dell P2415Q 4K monitor, both issues don’t exist with both DP cables.

So it’s now certain that this is an issue on the Eve Spectrum side, and not a cable issue.

Black screen during boot is probably due to lack of 640×480@75Hz or 640×400/720×400@70Hz

Black screen during boot is probably due to lack of support for 75 Hz at 640×480 in Eve Spectrum:

  • Dell P2415Q does support 640×480@75Hz and does display boot process fine.

  • According to some info in internet, 640×480@75Hz is the mode used by classic (non-UEFI) Award/AMI BIOS during boot.

[Update] Possible boot modes: 640×400@70Hz, 720×400@70Hz

  • There is information that the video modes used for booting VGA-compatible x86 computers are 640×400@70Hz (graphical boot screen) and 720×400@70Hz (text mode).

    This is indirectly confirmed by that Dell P2415Q that displays boot process fine, shows 3840×2160@60Hz as the current mode during boot, so its EDID probably does not have the actual video mode used during boot and some implicit transparent resolution/rate conversion is performed.

    720×400 is also the resolution used by VMware virtual machines during boot.

    So it may make sense to add support for all the three modes (640×480@75Hz, 640×400@70Hz, 720×400@70Hz) to Eve Spectrum to guarantee that the boot process is universally visible on all PCs, or at least for test purposes — to determine what of them is used at least on latest systems with pre-UEFI classic BIOS’es, e.g. my Gigabyte GA-Z68X-UD4-B3 (2011) with Award BIOS.

  • Generally speaking, a universal mechanism of transparent conversion of any input signal (regardless of whether EDID contains the specific mode) to something that can be displayed, would be useful to prevent undesirable situations with no ability to see what the video-source device is outputting.

    And given that via HDMI, boot process was visible on the same system with the same Eve Spectrum monitor, the HDMI controller inside Eve Spectrum apparently already does such video-mode conversion while the DP controller does not.

9 Likes