[PATCH] xfree86: Xorg.wrap: Do not require root rights for cards with 0 outputs

Eric Engestrom eric.engestrom at imgtec.com
Tue Oct 18 15:20:22 UTC 2016


On Tuesday, 2016-10-18 16:36:32 +0200, Hans de Goede wrote:
> Prior to this commit the Xorg.wrap code to detect if root rights
> are necessary checked for DRM_IOCTL_MODE_GETRESOURCES succeeding *and*
> reporting more then 0 output connectors.
> 
> DRM_IOCTL_MODE_GETRESOURCES succeeding alone is enough to differentiate
> between old drm only cards (which need ums and thus root) and kms capable
> cards.
> 
> Some hybrid gfx laptops have 0 output connectors on one of their 2 GPUs,
> resulting in Xorg needlessly running as root. This commits removes the
> res.count_connectors > 0 check, fixing this.
> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>

Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

> ---
>  hw/xfree86/xorg-wrapper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
> index d930962..a25e6ff 100644
> --- a/hw/xfree86/xorg-wrapper.c
> +++ b/hw/xfree86/xorg-wrapper.c
> @@ -240,7 +240,7 @@ int main(int argc, char *argv[])
>  
>              memset(&res, 0, sizeof(struct drm_mode_card_res));
>              r = ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res);
> -            if (r == 0 && res.count_connectors > 0)
> +            if (r == 0)
>                  kms_cards++;
>  
>              close(fd);
> -- 
> 2.9.3


More information about the xorg-devel mailing list