All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 80868] New: Support screen scaling modes for external monitors
Date: Thu, 03 Jul 2014 18:59:37 +0000	[thread overview]
Message-ID: <bug-80868-502@http.bugs.freedesktop.org/> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 3706 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=80868

          Priority: medium
            Bug ID: 80868
          Assignee: dri-devel@lists.freedesktop.org
           Summary: Support screen scaling modes for external monitors
          Severity: enhancement
    Classification: Unclassified
                OS: All
          Reporter: kamil.paral@gmail.com
          Hardware: Other
            Status: NEW
           Version: XOrg CVS
         Component: DRM/Radeon
           Product: DRI

As we steadily progress into the year of Linux gaming, there will be many
requests regarding games. This is one of them :)

Currently, it is possible to set scaling mode for a monitor only if the monitor
is internal (LVDS, eDP). This is done through xrandr:

$ xrandr --prop
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
LVDS1 connected primary 1680x1050+0+0 (normal left inverted right x axis y
axis) 331mm x 207mm
<snip>
    scaling mode: Full aspect 
        supported: None, Full, Center, Full aspect
<snip>

$ xrandr --output LVDS1 --set "scaling mode" "Center"

However, it is not possible to do this for external panels (VGA, DVI, HDMI,
DP). The "scaling mode" property is not exported for these panels (this was
confirmed to me by ckoenig and agd5f on the #radeon irc channel, many thanks).

Please allow users to set scaling mode even for external panels. There are many
use cases for it, mainly related to gaming.

Note: Many panels provide options to do the scaling on their own, however, only
the very expensive ones provide good options. For example, the majority of
"mainstream" panels don't provide the "center" scaling mode - however, that is
very useful when playing older lower-resolution games when you prefer smaller
and sharp image instead of larger and blurry. Second example are certain panels 
which support "full aspect" mode only for a small selection or resolutions,
otherwise they simply scale to "full" ignoring image aspect ratio. For these
panels, GPU scaling is essential if the user doesn't want to see distorted
aspect ratio image.

My personal use case is buying BenQ BL2411PT 1920x1200 panel, which *can not*
display 1920x1080 resolution with correct aspect ratio - it always stretches it
vertically. Yes, it's very dumb, yet that's how modern panels commonly work
(and not just the cheap ones). This hasn't been a large issue in the past,
because we had no games and opensource drivers were hardly able to run them
anyway. Both things are changing rapidly.

The proprietary AMD and NVIDIA drivers have been offering GPU scaling
functionality for a long time, both on Linux and Windows. Here's an example of
their GUI configuration:
https://www.codeweavers.com/support/wiki/linux/faq/43_game_stretch

Please allow us to use GPU scaling even with radeon driver. Thank you.

There has been some technical details on the IRC, it is linked here:
http://paste.fedoraproject.org/115407/

It seems to me that this functionality could be implemented in a simple and
straightforward way:
a) provide a single configuration option - "scaling mode"
b) on internal panels default to "Full aspect" (which you already do) - that is
reasonable default, because these panels have no control buttons
c) on external panels default to "None" - that allows the user to easily
configure scaling through the panel. Only if the user is dissatisfied, he/she
can enable GPU scaling through xrandr.

And here's one more user seconding my thoughts on the IRC:
AbortRetryFail: 1:1 unscaled output for LCDs would be awesome.
AbortRetryFail: 1280x720 looks horrible scaled up to fit a 1366x768 LCD

Thanks.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 5258 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

             reply	other threads:[~2014-07-03 18:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-03 18:59 bugzilla-daemon [this message]
2014-07-03 19:04 ` [Bug 80868] Support screen scaling modes for external monitors bugzilla-daemon
2014-07-03 19:10 ` bugzilla-daemon
2014-07-03 20:53 ` bugzilla-daemon
2014-07-04  6:48 ` bugzilla-daemon
2014-07-07 13:42 ` bugzilla-daemon
2014-07-07 22:11 ` bugzilla-daemon
2014-07-07 22:27 ` bugzilla-daemon
2014-07-07 23:34 ` bugzilla-daemon
2014-07-08  1:06 ` bugzilla-daemon
2014-07-09 17:46 ` bugzilla-daemon
2014-07-10 16:17 ` bugzilla-daemon
2014-07-10 16:21 ` bugzilla-daemon
2014-07-10 17:13 ` bugzilla-daemon
2014-07-11 13:46 ` bugzilla-daemon
2014-07-11 13:47 ` bugzilla-daemon
2015-01-26 16:12 ` bugzilla-daemon
2015-01-26 16:14 ` bugzilla-daemon
2016-01-06 13:49 ` bugzilla-daemon
2016-01-06 18:14 ` bugzilla-daemon
2016-01-06 19:28 ` bugzilla-daemon
2016-01-07 10:36 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-80868-502@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.