Announcement

Collapse
No announcement yet.

Wayland Gets Full-Screen Mode-Setting Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wayland Gets Full-Screen Mode-Setting Support

    Phoronix: Wayland Gets Full-Screen Mode-Setting Support

    As a slightly belated Christmas gift, Juan Zhao of Intel has published a new Wayland Display Server patch-set for allowing full-screen mode-setting support...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Scaling?

    sounds like they have implemented fucking scaling then, no ?
    too bad X still don't have one, or what would be even better, kernel DRM.

    Comment


    • #3
      Well there is scaling/transformation in xrandr:

      Originally posted by man xrandr
      Per-output options

      --panning widthxheight[+x+y[/track_widthxtrack_height+track_x+track_y[/border_left/border_top/border_right/border_bottom]]]
      This option sets the panning parameters. As soon as panning is enabled, the CRTC position can change with every pointer move. The first
      four parameters specify the total panning area, the next four the pointer tracking area (which defaults to the same area). The last four
      parameters specify the border and default to 0. A width or height set to zero disables panning on the according axis. You typically have
      to set the screen size with --fb simultaneously.

      --transform a,b,c,d,e,f,g,h,i
      Specifies a transformation matrix to apply on the output. Automatically a bilinear filter is selected. The mathematical form corresponds
      to:
      a b c
      d e f
      g h i
      The transformation is based on homogeneous coordinates. The matrix multiplied by the coordinate vector of a pixel of the output gives the
      transformed coordinate vector of a pixel in the graphic buffer. More precisely, the vector (x y) of the output pixel is extended to 3
      values (x y w), with 1 as the w coordinate and multiplied against the matrix. The final device coordinates of the pixel are then calcu-
      lated with the so-called homogenic division by the transformed w coordinate. In other words, the device coordinates (x' y') of the trans-
      formed pixel are:
      x' = (ax + by + c) / w' and
      y' = (dx + ey + f) / w' ,
      with w' = (gx + hy + i) .
      Typically, a and e corresponds to the scaling on the X and Y axes, c and f corresponds to the translation on those axes, and g, h, and i
      are respectively 0, 0 and 1. The matrix can also be used to express more complex transformations such as keystone correction, or rotation.
      For a rotation of an angle T, this formula can be used:
      cos T -sin T 0
      sin T cos T 0
      0 0 1
      As a special argument, instead of passing a matrix, one can pass the string none, in which case the default values are used (a unit matrix
      without filter).

      --scale xxy
      Changes the dimensions of the output picture. Values superior to 1 will lead to a compressed screen (screen dimension bigger than the
      dimension of the output mode), and values below 1 leads to a zoom in on the output. This option is actually a shortcut version of the
      --transform option.
      but I'm not sure if it's really working and which driver supports it.

      Comment

      Working...
      X