Skip to content
Snippets Groups Projects
  1. Nov 27, 2021
  2. Nov 25, 2021
  3. Nov 24, 2021
    • Marius Vlad's avatar
      desktop-shell: Guard against invalid seats in get_shell_seat() · 137c793f
      Marius Vlad authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      Starting with commit 'desktop-shell: Embed keyboard focus handle code
      when activating' we are iterating over all the seats when removing a
      weston_desktop_surface to be able to invalidate the activate surface.
      
      Upon compositor tear down the shell destroy might invalidate seats
      before removal of the weston_desktop_surface making the shell_seat
      itself invalid. This wasn't apparent at that time because we're not
      handling at that the removal of surfaces from layers.
      
      Signed-off-by: default avatarMarius Vlad <marius.vlad@collabora.com>
      137c793f
  4. Nov 23, 2021
    • Pekka Paalanen's avatar
      compositor: add icc_profile weston.ini option for outputs · a8827940
      Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      This adds "icc_profile" key support in [output] sections for backends
      headless, x11, wayland, and drm, and also for remoted and pipewire
      outputs FWIW. On the other hand, RDP-backend does not use output
      sections from weston.ini, and fbdev-backend does not deserve anything
      new (it wouldn't support color management anyway due to no GL-renderer).
      
      This allows one to configure an ICC v2 or v4 file to be used as an
      output profile. However, color-lcms does not actually use output
      profiles yet, so trying this will fail until support is implemented.
      
      The parent_winsys_profile argument is reserved for using the color
      profile from a parent window system where applicable, if nothing else is
      set in weston.ini. None of the nested backends provide an output color
      profile yet. It is more of a reminder of a missing feature than a
      serious implementation.
      
      Note: cms-static Weston plugin uses the exact same weston.ini key for
      loading VCGT from ICC profiles. If "color-management" option is set to
      false, this new use of "icc_profile" is disabled and the old behavior
      with cms-static is kept.
      
      Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      a8827940
    • Pekka Paalanen's avatar
      libweston: add weston_output::color_profile · 9a9e6ced
      Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      Add API to set an output's color profile. This new function can also be
      called while the output is enabled. This allows changing the output
      color profile even at runtime if desired.
      
      color-noop has no way of creating weston_color_profile objects, so it
      just asserts that no color profile is set.
      
      color-lcms does not yet implement taking the output color profile into
      account, so for now it just fails everything if a profile is set.
      
      weston_surface_color_transform_fini() was previously used only prior to
      freeing the struct, but now it is used also to just clear the struct,
      hence it needs to reset the fields.
      
      Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      9a9e6ced
    • Pekka Paalanen's avatar
      libweston: refactor into weston_output_set_color_transforms() · 9a0aa37e
      Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      Move the code into a new function that either succeeds in setting all
      the color transformations or does not change anything. This will be
      useful when implementing output color profiles changes while the output
      is enabled.
      
      Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      9a0aa37e
    • Pekka Paalanen's avatar
      color: add weston_compositor_load_icc_file() · f45d5762
      Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      This function will be useful for Weston to load output ICC profiles from
      weston.ini.
      
      Co-authored-by: default avatarSebastian Wick <sebastian@sebastianwick.net>
      Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      f45d5762
    • Pekka Paalanen's avatar
      color: introduce weston_color_profile · aa6346f2
      Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      Roughly speaking, a color profile describes the color space of content
      or an output. Under the hood, the description includes one or more ways
      to map colors between the profile space and some standard profile
      connecting space (PCS).
      
      This object is not called a color space. A color space has a unique
      definition, while a color profile may contain multiple different
      mappings depending on render intent. Some of these mappings may be
      subjective, with an artistic touch.
      
      When a source color profile and a destination color profile are combined
      under a specific render intent, they produce a color transformation.
      Color transformations are already preresented by weston_color_transform.
      
      This patch adds the basic API for color profile objects. Everything
      worthwhile of these objects is implemented in the color managers:
      color-noop never creates these, and in color-lcms they are basically a
      container for cmsHPROFILE, the Little CMS object for color profiles.
      Color profile objects will not be interpreted outside of the color
      managers, unlike color transformations.
      
      For a start, the color manager API has one function to create color
      profiles: from ICC profile data. More creation functions for other
      sources will be added later.
      
      The API has errmsg return parameter for error messages. These are not
      simply weston_log()'d, because CM&HDR protocol will allow clients to
      trigger errors and the protocol handles that gracefully. Therefore
      instead of flooding the compositor logs, the error messages will
      probably need to be relayed back to clients.
      
      Color-lcms is expected to create a cmsHPROFILE for all kinds of color
      profiles, not just for those created from ICC profile data. Hence,
      color-lcms will fingerprint color profiles by the MD5 hash which Little
      CMS computes for us. The fingerprint is used for de-duplication: instead
      of creating copies, reference existing color profiles.
      
      This code is very much based on Sebastian Wick's earlier work on Weston
      color management, but structured and named differently.
      
      Co-authored-by: default avatarSebastian Wick <sebastian@sebastianwick.net>
      Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      aa6346f2
  5. Nov 18, 2021
    • Takuro Ashie's avatar
      Fix crash on activating a text area without a real keyboard · 29d81c0d
      Takuro Ashie authored and Marius Vlad's avatar Marius Vlad committed
      
      It will cause on following situation:
      
      * Enable weston-simple-im
        * It's also reproducible with IBus or Fcitx5
      * Connect a mouse or a touch panel
      * Don't connect keyboad
      * Launch weston-editor and touch the text area
      
      It doesn't reproduce with weston-keyboard because it doesn't use
      grab_keyboard of input-method-context-v1.
      
      Signed-off-by: default avatarTakuro Ashie <ashie@clear-code.com>
      29d81c0d
    • Alyssa Ross's avatar
      clients: don't use deprecated fontconfig aliases · 7c121825
      Alyssa Ross authored and Marius Vlad's avatar Marius Vlad committed
      The "sans" and "mono" aliases for "sans-serif" and "monospace" are
      deprecated[1].  Let's standardize on the non-deprecated versions, which were
      already in use in some places.
      
      [1]: https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/be453bd1590b545d490aa024ef267948419b4d3a/fonts.conf.in#L33-67
      
      
      
      Signed-off-by: Alyssa Ross's avatarAlyssa Ross <hi@alyssa.is>
      7c121825
    • Alyssa Ross's avatar
      terminal: use /bin/sh as the default shell · 6e2eb8fa
      Alyssa Ross authored and Marius Vlad's avatar Marius Vlad committed
      
      When trying to get Weston to run on a new system I was building up bit
      by bit, I encountered a problem: when I started weston-terminal, it
      would close a split second later.  This turned out to be because
      weston-terminal defaults to trying to spawn /bin/bash, which my
      busybox-based system didn't have.
      
      I can configure the terminal to use a shell I do have, of course, but I
      think /bin/sh is a much friendlier default, because it's more likely to
      exist (POSIX requires it), and will save people just trying to get
      started with Weston from the confusing experience I had.  I think it's
      better overall that somebody who specifically wants /bin/bash has to
      configure that (if they even have to — depending on how they're running
      Weston, $SHELL might already be /bin/bash) than somebody who just wants
      to see the terminal working debug why it won't launch at all.
      
      I realise there might be a (small) backward compatibility concern here
      as well, but I hope I've made the case for a friendlier default.
      
      Signed-off-by: Alyssa Ross's avatarAlyssa Ross <hi@alyssa.is>
      6e2eb8fa
  6. Nov 16, 2021
  7. Nov 13, 2021
  8. Nov 12, 2021
  9. Nov 07, 2021
    • Manuel Stoeckl's avatar
      gl-renderer: add support for (a|x)bgr16161616f shm formats · 742a0232
      Manuel Stoeckl authored
      
      These formats will be eventually be useful for color managed clients
      using wl_shm that wish to submit buffers encoding high dynamic range
      images.
      
      While the minimum requirement for linearly filterable half float
      textures is GL ES 2.0 + GL_OES_texture_half_float_linear, to keep
      the code simple, this commit only enables the new formats when
      the requirements for color management (notably including GL ES 3.0
      and GL_EXT_color_buffer_half_float) are available.
      
      Signed-off-by: default avatarManuel Stoeckl <code@mstoeckl.com>
      742a0232
  10. Nov 03, 2021
  11. Nov 02, 2021
Loading