Commits:
-
cdcfd033
by Alan Coopersmith at 2022-01-23T13:21:52-08:00
Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
24f35015
by Alan Coopersmith at 2022-01-23T13:24:29-08:00
Fix spelling/wording issues
Found by using:
codespell --builtin clear,rare,usage,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
4e1963a8
by Zoltán Böszörményi at 2022-02-06T22:49:30+00:00
Fix a build error with Xorg master
Use xf86ReturnOptValBool() in get_bool_option() instead of
options[option_index].value.bool to fix a compiler error with
current Xorg xserver master branch.
Also use xf86GetOptValInteger() in get_int_option() and
xf86GetOptValString() in get_str_option() for consistency.
The change causes a slight performance drop during option parsing
because the passed-in index_value is no longer used as an index
into the options array.
Instead, it's used as a token now for the standard option getter
functions which works since the index_value to the get_*_option()
functions are identical to the value of options[n].token in the
passed-in OptionInfoRec array.
Also rename "int option_index" to "int token" for clarity in all
three functions.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
-
92984f5a
by Alan Coopersmith at 2022-02-19T17:10:18+00:00
gitlab CI: add a basic build test
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
0a2e96d8
by Alan Coopersmith at 2022-02-19T09:31:00-08:00
uxa: Convert source files from ISO-8859-1 to UTF-8
Clears errors from FlawFinder in gitlab CI:
Error: encoding error in ./src/uxa/uxa-unaccel.c
'utf-8' codec can't decode byte 0xa9 in position 19: invalid start byte
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
670992bf
by Alan Coopersmith at 2022-04-06T14:41:16-07:00
gitlab CI: stop requiring Signed-off-by in commits
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
52e97526
by Adam Jackson at 2022-04-06T21:50:03+00:00
configure: Simplify fragile libdrm detection
libdrm 2.4.46 always installs qxl_drm.h
-
fe3acdf9
by Joachim Breuer at 2022-04-12T19:40:00+02:00
fix pScrn->modes == NULL in xf86InitViewport()
track pScrn->modes along with qxl->x_modes
-
9d0ddb12
by Joachim Breuer at 2022-04-12T19:40:05+02:00
Initialize pScrn->{width, height} from primary
... instead of pScrn->currentMode, the latter is not initialized
in xorg-server-21.1.3
-
ca70ff93
by Joachim Breuer at 2022-04-12T20:06:36+02:00
Default to one head if there is no NUM_HEADS option
-
f6f75e1b
by Peter Hutterer at 2023-01-24T14:28:17+10:00
qxl 0.1.6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10 changed files:
Changes:
.gitlab-ci.yml
|
1
|
+# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
|
|
2
|
+#
|
|
3
|
+# This CI uses the freedesktop.org ci-templates.
|
|
4
|
+# Please see the ci-templates documentation for details:
|
|
5
|
+# https://freedesktop.pages.freedesktop.org/ci-templates/
|
|
6
|
+
|
|
7
|
+.templates_sha: &template_sha 34f4ade99434043f88e164933f570301fd18b125 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+include:
|
|
11
|
+ # Arch container builder template
|
|
12
|
+ - project: 'freedesktop/ci-templates'
|
|
13
|
+ ref: *template_sha
|
|
14
|
+ file: '/templates/arch.yml'
|
|
15
|
+ - project: 'freedesktop/ci-templates'
|
|
16
|
+ ref: *template_sha
|
|
17
|
+ file: '/templates/ci-fairy.yml'
|
|
18
|
+ - template: Security/SAST.gitlab-ci.yml
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+stages:
|
|
22
|
+ - prep # prep work like rebuilding the container images if there is a change
|
|
23
|
+ - build # for actually building and testing things in a container
|
|
24
|
+ - test
|
|
25
|
+ - deploy
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+variables:
|
|
29
|
+ FDO_UPSTREAM_REPO: 'xorg/driver/xf86-video-qxl'
|
|
30
|
+ # The tag should be updated each time the list of packages is updated.
|
|
31
|
+ # Changing a tag forces the associated image to be rebuilt.
|
|
32
|
+ # Note: the tag has no meaning, we use a date format purely for readability
|
|
33
|
+ FDO_DISTRIBUTION_TAG: '2022-01-23.1'
|
|
34
|
+ FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake make xorg-util-macros xorgproto xorg-server-devel pixman libxfont2 libpciaccess spice pcsclite libcacard spice-protocol systemd-libs'
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+#
|
|
38
|
+# Verify that commit messages are as expected, signed-off, etc.
|
|
39
|
+#
|
|
40
|
+check-commits:
|
|
41
|
+ extends:
|
|
42
|
+ - .fdo.ci-fairy
|
|
43
|
+ stage: prep
|
|
44
|
+ script:
|
|
45
|
+ - ci-fairy check-commits --junit-xml=results.xml
|
|
46
|
+ except:
|
|
47
|
+ - master@xorg/driver/xf86-video-qxl
|
|
48
|
+ variables:
|
|
49
|
+ GIT_DEPTH: 100
|
|
50
|
+ artifacts:
|
|
51
|
+ reports:
|
|
52
|
+ junit: results.xml
|
|
53
|
+
|
|
54
|
+#
|
|
55
|
+# Verify that the merge request has the allow-collaboration checkbox ticked
|
|
56
|
+#
|
|
57
|
+check-merge-request:
|
|
58
|
+ extends:
|
|
59
|
+ - .fdo.ci-fairy
|
|
60
|
+ stage: deploy
|
|
61
|
+ script:
|
|
62
|
+ - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
|
|
63
|
+ artifacts:
|
|
64
|
+ when: on_failure
|
|
65
|
+ reports:
|
|
66
|
+ junit: results.xml
|
|
67
|
+ allow_failure: true
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+#
|
|
71
|
+# Build a container with the given tag and the packages pre-installed.
|
|
72
|
+# This only happens if the tag changes, otherwise the existing image is
|
|
73
|
+# re-used.
|
|
74
|
+#
|
|
75
|
+container-prep:
|
|
76
|
+ extends:
|
|
77
|
+ - .fdo.container-build@arch
|
|
78
|
+ stage: prep
|
|
79
|
+ variables:
|
|
80
|
+ GIT_STRATEGY: none
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+#
|
|
84
|
+# The default build, runs on the image built above.
|
|
85
|
+#
|
|
86
|
+build:
|
|
87
|
+ stage: build
|
|
88
|
+ extends:
|
|
89
|
+ - .fdo.distribution-image@arch
|
|
90
|
+ script:
|
|
91
|
+ - autoreconf -ivf
|
|
92
|
+ - mkdir _builddir
|
|
93
|
+ - pushd _builddir > /dev/null
|
|
94
|
+ - ../configure --disable-silent-rules --enable-ccid --enable-xspice
|
|
95
|
+ - make
|
|
96
|
+ - make check
|
|
97
|
+ - make distcheck
|
|
98
|
+ - popd > /dev/null |
README.md
... |
... |
@@ -6,7 +6,7 @@ Xorg mailing list: |
6
|
6
|
|
7
|
7
|
https://lists.x.org/mailman/listinfo/xorg
|
8
|
8
|
|
9
|
|
-The master development code repository can be found at:
|
|
9
|
+The primary development code repository can be found at:
|
10
|
10
|
|
11
|
11
|
https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl
|
12
|
12
|
|
configure.ac
... |
... |
@@ -23,14 +23,14 @@ |
23
|
23
|
# Initialize Autoconf
|
24
|
24
|
AC_PREREQ([2.60])
|
25
|
25
|
AC_INIT([xf86-video-qxl],
|
26
|
|
- [0.1.5],
|
|
26
|
+ [0.1.6],
|
27
|
27
|
[https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/issues],
|
28
|
28
|
[xf86-video-qxl])
|
29
|
29
|
AC_CONFIG_SRCDIR([Makefile.am])
|
30
|
30
|
AC_CANONICAL_HOST
|
31
|
31
|
|
32
|
32
|
# Initialize Automake
|
33
|
|
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
33
|
+AM_INIT_AUTOMAKE([foreign dist-xz])
|
34
|
34
|
AM_MAINTAINER_MODE
|
35
|
35
|
AC_CONFIG_HEADERS([config.h])
|
36
|
36
|
AC_SYS_LARGEFILE
|
... |
... |
@@ -76,11 +76,6 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS, |
76
|
76
|
[#include "xorg-server.h"])
|
77
|
77
|
CFLAGS="$save_CFLAGS"
|
78
|
78
|
|
79
|
|
-save_CFLAGS="$CFLAGS"
|
80
|
|
-CFLAGS="$XORG_CFLAGS"
|
81
|
|
-AC_CHECK_HEADER(qxl_drm.h,[QXL_DRM=yes],[QXL_DRM=no],[#include <stdint.h>])
|
82
|
|
-CFLAGS="$save_CFLAGS"
|
83
|
|
-
|
84
|
79
|
AC_ARG_ENABLE(kms,
|
85
|
80
|
AS_HELP_STRING([--disable-kms],
|
86
|
81
|
[Disable KMS support [[default=enabled]]]),
|
... |
... |
@@ -88,10 +83,9 @@ AC_ARG_ENABLE(kms, |
88
|
83
|
[DRM_MODE=yes])
|
89
|
84
|
|
90
|
85
|
# Checks for libraries.
|
91
|
|
-if test "x$QXL_DRM" = xyes && test "x$DRM_MODE" = xyes; then
|
|
86
|
+if test "x$DRM_MODE" = xyes; then
|
92
|
87
|
# require support for kms cursor hotspot
|
93
|
88
|
PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.46])
|
94
|
|
-
|
95
|
89
|
else
|
96
|
90
|
DRM_MODE=no
|
97
|
91
|
fi
|
src/qxl_driver.c
... |
... |
@@ -807,8 +807,8 @@ qxl_screen_init (SCREEN_INIT_ARGS_DECL) |
807
|
807
|
|
808
|
808
|
CHECK_POINT ();
|
809
|
809
|
|
810
|
|
- pScreen->width = pScrn->currentMode->HDisplay;
|
811
|
|
- pScreen->height = pScrn->currentMode->VDisplay;
|
|
810
|
+ pScreen->width = qxl->primary_mode.x_res;
|
|
811
|
+ pScreen->height = qxl->primary_mode.y_res;
|
812
|
812
|
|
813
|
813
|
if (!xf86CrtcScreenInit (pScreen))
|
814
|
814
|
return FALSE;
|
... |
... |
@@ -1005,6 +1005,10 @@ qxl_pre_init_common(ScrnInfoPtr pScrn) |
1005
|
1005
|
get_bool_option (qxl->options, OPTION_DEBUG_RENDER_FALLBACKS, "QXL_DEBUG_RENDER_FALLBACKS");
|
1006
|
1006
|
qxl->num_heads =
|
1007
|
1007
|
get_int_option (qxl->options, OPTION_NUM_HEADS, "QXL_NUM_HEADS");
|
|
1008
|
+ if (qxl->num_heads == 0) {
|
|
1009
|
+ xf86DrvMsg (scrnIndex, X_INFO, "QXL_NUM_HEADS not configured, defaulting to 1\n");
|
|
1010
|
+ qxl->num_heads = 1;
|
|
1011
|
+ }
|
1008
|
1012
|
|
1009
|
1013
|
qxl->deferred_fps = get_int_option(qxl->options, OPTION_SPICE_DEFERRED_FPS, "XSPICE_DEFERRED_FPS");
|
1010
|
1014
|
if (qxl->deferred_fps > 0)
|
src/qxl_option_helpers.c
... |
... |
@@ -10,31 +10,32 @@ |
10
|
10
|
|
11
|
11
|
#include "qxl_option_helpers.h"
|
12
|
12
|
|
13
|
|
-int get_int_option(OptionInfoPtr options, int option_index,
|
|
13
|
+int get_int_option(OptionInfoPtr options, int token,
|
14
|
14
|
const char *env_name)
|
15
|
15
|
{
|
|
16
|
+ int value;
|
16
|
17
|
if (env_name && getenv(env_name)) {
|
17
|
18
|
return atoi(getenv(env_name));
|
18
|
19
|
}
|
19
|
|
- return options[option_index].value.num;
|
|
20
|
+ return xf86GetOptValInteger(options, token, &value) ? value : 0;
|
20
|
21
|
}
|
21
|
22
|
|
22
|
|
-const char *get_str_option(OptionInfoPtr options, int option_index,
|
|
23
|
+const char *get_str_option(OptionInfoPtr options, int token,
|
23
|
24
|
const char *env_name)
|
24
|
25
|
{
|
25
|
26
|
if (getenv(env_name)) {
|
26
|
27
|
return getenv(env_name);
|
27
|
28
|
}
|
28
|
|
- return options[option_index].value.str;
|
|
29
|
+ return xf86GetOptValString(options, token);
|
29
|
30
|
}
|
30
|
31
|
|
31
|
|
-int get_bool_option(OptionInfoPtr options, int option_index,
|
|
32
|
+int get_bool_option(OptionInfoPtr options, int token,
|
32
|
33
|
const char *env_name)
|
33
|
34
|
{
|
34
|
35
|
const char* value = getenv(env_name);
|
35
|
36
|
|
36
|
37
|
if (!value) {
|
37
|
|
- return options[option_index].value.bool;
|
|
38
|
+ return xf86ReturnOptValBool(options, token, FALSE);
|
38
|
39
|
}
|
39
|
40
|
if (strcmp(value, "0") == 0 ||
|
40
|
41
|
strcasecmp(value, "off") == 0 ||
|
src/qxl_option_helpers.h
... |
... |
@@ -4,13 +4,13 @@ |
4
|
4
|
#include <xf86Crtc.h>
|
5
|
5
|
#include <xf86Opt.h>
|
6
|
6
|
|
7
|
|
-int get_int_option(OptionInfoPtr options, int option_index,
|
|
7
|
+int get_int_option(OptionInfoPtr options, int token,
|
8
|
8
|
const char *env_name);
|
9
|
9
|
|
10
|
|
-const char *get_str_option(OptionInfoPtr options, int option_index,
|
|
10
|
+const char *get_str_option(OptionInfoPtr options, int token,
|
11
|
11
|
const char *env_name);
|
12
|
12
|
|
13
|
|
-int get_bool_option(OptionInfoPtr options, int option_index,
|
|
13
|
+int get_bool_option(OptionInfoPtr options, int token,
|
14
|
14
|
const char *env_name);
|
15
|
15
|
|
16
|
16
|
#endif // OPTION_HELPERS_H |
src/qxl_ums_mode.c
... |
... |
@@ -65,7 +65,7 @@ qxl_add_mode (qxl_screen_t *qxl, ScrnInfoPtr pScrn, int width, int height, int t |
65
|
65
|
DisplayModePtr mode;
|
66
|
66
|
|
67
|
67
|
mode = screen_create_mode (pScrn, width, height, type);
|
68
|
|
- qxl->x_modes = xf86ModesAdd (qxl->x_modes, mode);
|
|
68
|
+ pScrn->modes = qxl->x_modes = xf86ModesAdd (qxl->x_modes, mode);
|
69
|
69
|
|
70
|
70
|
return mode;
|
71
|
71
|
}
|
src/spiceqxl_display.c
... |
... |
@@ -82,7 +82,7 @@ static QXLDevMemSlot slot = { |
82
|
82
|
.qxl_ram_size = ~0,
|
83
|
83
|
};
|
84
|
84
|
|
85
|
|
-// TODO - reall dprint, this is just to get it compiling
|
|
85
|
+// TODO - real dprint, this is just to get it compiling
|
86
|
86
|
#define dprint(qxl, lvl, fmt, ...) printf(fmt, __VA_ARGS__)
|
87
|
87
|
|
88
|
88
|
static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
|
src/uxa/uxa-unaccel.c
1
|
1
|
/*
|
2
|
2
|
*
|
3
|
|
- * Copyright 1999 Keith Packard
|
|
3
|
+ * Copyright © 1999 Keith Packard
|
4
|
4
|
*
|
5
|
5
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
6
|
6
|
* documentation for any purpose is hereby granted without fee, provided that
|
src/uxa/uxa.c
1
|
1
|
/*
|
2
|
|
- * Copyright 2001 Keith Packard
|
|
2
|
+ * Copyright © 2001 Keith Packard
|
3
|
3
|
*
|
4
|
|
- * Partly based on code that is Copyright The XFree86 Project Inc.
|
|
4
|
+ * Partly based on code that is Copyright © The XFree86 Project Inc.
|
5
|
5
|
*
|
6
|
6
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
7
|
7
|
* documentation for any purpose is hereby granted without fee, provided that
|
|