2015-07-02 06:04:33 by othyro | Files touched by this commit (49) | |
Log message:
-xf86-input-{elographics,fpit,hyperpen,joystick,mutouch}
-xf86-video-{modesetting,nouveau,qxl,suncg6,suntcx,voodoo}
Imported into HEAD/x11.
|
2015-06-27 00:12:58 by othyro | Files touched by this commit (2) |
Log message:
Update to 0.1.4. This package will be imported after the freeze by request
from wiz@. From Changelog:
build-sys: use regular variables for LIBUDEV_CFLAGS
No need for hardcoded variant here.
build-sys: misc aligning and trailing ws
Remove image cache
While looking for leaks, I realized that the image cache looks
quite suspicious.
Not only it leaks when qxl_drop_image_cache() is called,
since all the allocated image_info_t references are lost.
But it is also useless: "The name implies it's a cache of some
sort, but data is only added to it. The only time data is looked up in
that cache is when it needs to be destroyed, and this is not done
correctly and causes leaks. Since the cached data is never used and
since it's leaky, it's better to remove it altogether"
Don't leak ARGB cursor data bo
qxl_load_cursor_argb() owns 2 references on the cursor_bo it creates:
- one from the call to bo_alloc()
- the second from a call to bo_output_bo_reloc()
qxl_garbage_collect() release one of these refs, but the other one is
never released, so ARGB cursor bos are leaked. This can cause out of
memory issues, for example when running EL6 anaconda installer on a 2TB
disk image (see bug https://bugzilla.redhat.com/show_bug.cgi?id=1199355
).
This is similar to what is done in qxl_surface_put_image().
build-sys: Fix indentation of trailing \ in Makefile.am
Make sure they are indented with tabs and aligned.
build-sys: Add spiceqxl_smartcard.h to _SOURCES
This file needs to be listed in Makefile.am otherwise it will not be
added to the tarballs make dist generates.
Spice CCID: Handle server termination.
Support IFD_RESET, print a diagnostic for unknown power sequences.
Also add a message for apdus that come in while a reader is inactive.
Remove an obviously unnecessary if stanza.
README.xspice: clone and install xkeyboard-config
Instead of copying /usr/share/X11/xkb
README.xspice: clone more repos, add some script lines and more
This helps build on a RHEL-6 machine
vmc_read: rename variable "read" to "nbytes"
This fixes the following compiler warning.
spiceqxl_vdagent.c:49: warning: declaration of âreadâ shadows a \
global declaration
/usr/include/unistd.h:357: warning: shadowed declaration is here
playback_dir_changed: rename variable "index" to "offset"
This fixes the following compiler warning.
spiceqxl_audio.c: In function âplayback_dir_changedâ:
spiceqxl_audio.c:386: warning: declaration of âindexâ shadows a \
global declaration
scripts/Xspice: run vdagentd with -f command line option (fake uinput)
scripts/Xspice: add default spice-vdagent executable names
scripts/Xspice: better error messages for missing vdagent binaries
Also added a check for the case variables are uninitialized (or
when the executables are not found and which returns None)
scripts/Xspice: which: warn if executable is not found
Also handle None parameter case.
Enable smartcard support for XSpice.
This is done by creating a Unix domain socket to which smartcard
messages are transferred, using the vscard protocol.
A further system library, spiceccid, is used to provide an interface into
pcsc-lite, specifically the pcsc-lite daemon, so that regular Unix applications
can access the passed through smartcard information.
Update drm properties correctly
When connector properties got changed, those changes were not being
propagated to user-space. This pushes those changes up so that e.g. new
"suggested X|Y" properties can be used to help lay out multiple \
displays
properly. This code is based on similar code from the nouveau driver.
Xspice: fail if server can't be initialized
Failure to bind to port should be an error, not a warning.
https://bugs.freedesktop.org/show_bug.cgi?id=65185
|
2014-12-04 21:03:18 by othyro | Files touched by this commit (2) | |
Log message:
xf86-video-qxl 0.1.3
Revise the XSpice audio processing to avoid the use of pthreads.
The initial implementation used a separate thread to drive the audio
playback channel. But if you have adaptive streaming turned on,
you will eventually get a update_client_playback_latency message on the
display channel (which in the Xspice case is being driven by the main,
Xorg, thread).
After enough time you would get a thread collision and bad things
would result. I saw this manifest as infinite spin loops in snd_send_data.
This patch eliminates the use of threading altogether, making everything
run in the main Xorg thread using watches and timers, eliminating the
possibility of thread collision.
drmmode: Fix compilation warning
One recent change introduced a gcc compilation warning:
CC qxl_drmmode.lo
qxl_drmmode.c: In function 'drmmode_set_mode_major':
qxl_drmmode.c:251:9: error: ISO C90 forbids mixed declarations and code \
[-Werror=declaration-after-statement]
CursorPtr cursor = xf86_config->cursor;
This commit moves the CursorPtr declaration to the top of the
drmmode_set_mode_major function in order to fix that warning.
Remove call to CrtcRotate()
Our driver doesn't support rotation, and calling CrtcRotoate()
may result in crash. Let's remove that useless call.
Fixes:
http://bugzilla.redhat.com/1067709
Check qxl_download_box() arguments
Sending empty region is invalid and the server returns an error (this
can be triggered by typing space in xfig)
Without the previous patch, error was ignored and the driver would enter
an infinite loop.
Assert on valid arguments, and return early if the given region is empty.
Fixes:
http://bugzilla.redhat.com/1151559
Assert on QXL_INTERRUPT_ERROR
When qemu qxl device reaches a guest bug, it might set the
QXL_INTERRUPT_ERROR interrupt flag, and stops processing guest
commands. Therefore, it makes sense to check that flag in the guest and
quit, instead of running in infinite loop in X and consuming CPU.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1151559
drm: fail gracefuly on monitor resize
If drmModeSetCrtc() failed, try to fallback to previous working
configuration.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1127552
In XSpice audio, fully clear the data structure; silences valgrind warnings.
When uploading a region, do not go outside the source image size.
This problem was exposed (and probably only occurs) when using XSpice
in dfps mode with spice-html5, and resizing from larger to smaller.
The screen would be resized, but the update region would still attempt
to transmit any pending changes to the (now) truncated surface. This
would often lead to a crash.
Initialize the frame buffer used in dfps mode; this silences a number
of valgrind errors.
Tune the dfps region tracking to collapse to the bounding rectangle
if too many small, incremental, updates are provided.
Attempting to use x11perf to measure performance revealed a fairly
serious weakness in the dfps code in that use case. In between
fps ticks, the updated_region would grow to have thousands of
rectangles, which made processing extraordinarily slow.
This patch provides a cap on the number of rectangles inside
a region; once it reaches the cap, we collapse the update_region
to just transmit the bounding rectangle instead.
Add helper functions for updating the boxes and regions; makes the
code a bit cleaner.
In XSpice mode, enable the ability to specify the various ram buffer sizes.
Also adjust the mode selection to fit, and add a few larger modes.
The display of the RAM size subtracts the frame buffer, but it has
already been subtracted in setting the num_pages field.
Skip modes more precisely.
Free the region pointer as well; eliminates a memory leak in dfps mode.
|
2014-08-07 05:00:12 by othyro | Files touched by this commit (2) |
Log message:
Release 0.1.2
qxl_driver.c: fix compiler warning 'defined but not used' qxl_kernel_mode_enabled
qxl_image.c: fix compilation break
Since 3d511c30206bd8c9a207c436186a03af0bb02962 Xspice building is broken
due to undefined MAX_RELOCS when not building with XF86DRM_MODE.
drm: restore cursor after resolution change
The Spice server & qemu reset the cursor state when
changing resolution. Although X does restore the
cursor on framebuffer changes, it doesn't for crtc
config. Restoring the cursor here is the simplest
way to solve the "invisible cursor" after resolution
change bug with DRM driver.
https://bugzilla.redhat.com/show_bug.cgi?id=1030531
Dynamically adjust chunk size to avoid command buffer overflow.
The maximum number of "commands" that can be queued at once is
fixed at compile time at MAX_RELOCS. However, during the creation
of an image object in qxl_image_create(), the image is split into
commands of maximum size 512*512. For a large dual-head system,
it is easy to create an image for which the number of chunks will
result in an overflow of MAX_RELOCS number of "commands".
Identify this scenario and dynamically increase the chunk size to
avoid the overflow, and the resulting assert() which crashes Xorg.
Add support for server managed fds
Fix qxl_driver_func to adhere to the API
The driverFunc callback MUST check the passed in operand and only return
TRUE it if understands it and has handled it. It must NOT blindly assume the
op is GET_REQUIRED_HW_INTERFACES.
While at also always define driverFunc, and welcome qxl to the 21st century.
Add support for XSERVER_PLATFORM_BUS
This is a preparation patch for adding support for server managed fds.
fix memory leak when alloc uxa
Make use of the new playback rate interface, if available.
qxl: fix set cursor2 support for older kernel
On older kernels we were getting -EINVAL not -ENOSYS,
so we'd never render the cursor, gnome continuous uses a 3.10
kernel.
Xspice: add better doc strings for audio & vdagent
spiceqxl_util.[hc]: add copyright & license headers
Xspice: cleanup vdagent files
Xspice: fix cleanup when some processes are already dead
Xspice: cleanup non regular files too
xspice: chown both files used by vdagent for suid Xorg case
When running a suid Xorg mkfifo and bind produce files owned by root.
Change the ownership so that the user launched vdagent & vdagentd can
write to them. This also makes it easier to cleanup the files from the
Xspice process that is not running as root (and is launching both
vdagent & vdagentd, hence they are not running as root either).
The patch adds two new parameters, uid and gid of the agent used files,
namely the virtio unix domain socket and the uinput fifo.
spiceqxl_spice_server: no need to call spice_server_set_noauth twice
tests/xspice_util.py: fix hardcoded port
fix make dist
|
2013-12-29 05:48:24 by othyro | Files touched by this commit (2) |
Log message:
Update to latest stable release. Too many changes to list. Check ChangeLog.
|
2013-06-09 14:48:36 by othyro | Files touched by this commit (13) |
Log message:
Fix driver man suffix for SunOS.
|
2013-06-03 13:23:11 by othyro | Files touched by this commit (1) |
Log message:
wip -> sysutils for spice-protocol; was imported to HEAD;
|
2013-06-03 04:19:48 by othyro | Files touched by this commit (5) |
Log message:
Import xf86-video-qxl-0.1.0 as wip/xf86-video-qxl.
The QXL virtual GPU is found in the RedHat Enterprise Virtualisation system,
and also in the spice project.
|