XDC2015_-_Alexandre_Courbot_and_Martin_Peres_-_Nouveau_-_Status_update-dnG0X0uwLuY.webm [81.71 Mb]Nouveau - Status update
The usual status update for the Nouveau project!
Presenters: Alexandre Courbot & Martin Peres
XDC2015_-_Alex_Deucher_and_Jammy_Zhou_-_amdgpu_updates-lXi0ByVTFyY.webm [56.63 Mb]amdgpu updates
An update on the current status of amdgpu and our plans going forward.
Presenters: Alex Deucher and Jammy Zhou
How to debug a broken input device?
XDC2015_-_Benjamin_Tissoires_-_How_to_debug_a_broken_input_device-Bl_0xYxcYd8.webm [63.85 Mb]How to debug a broken input device?
Input devices have evolved quite a lot since the one keyboard and one single
button mouse per computer. We now have several buttons on the mice, touchpads,
touchpads that can report actual touch events, touchscreens, etc...
Usually, hardware makers tend to complicate our task of supporting their device
in very creative ways. This generally leads to users complaining that their
device is broken, or that the behavior is not the expected one.
In this talk, I will try to explain the various tools that the community has
developped to be more efficient at spotting the problems. Tools like evemu,
evtest, hid-replay or ps2emu will be presented and we will try to show real
examples of their use.
Presenter: Benjamin Tissoires
Getting rid of select(2) in the X server
XDC2015_-_Keith_Packard_-_Getting_rid_of_select_2__in_the_X_server-t400SmZlnO8.webm [116.35 Mb]Getting rid of select(2) in the X server
Olivier Fourdan and Adam Jackson fixed the server to allow for run-time
selection of MAXCLIENTS. The requisite change in xproto ended up breaking the
un-patched X server. This event raised a bunch of issues around how the X
server manages file descriptors, in particular the use of file descriptor masks
related to the select interface.
The current FD_ and XFD_ macros hard-code the maximum file descriptor that the
server can use for blocking I/O operations. And, the current driver interfaces
expose the related data structures throughout the server, so changing that
value affects the ABI.
This talk will present a sequence of simple API/ABI changes that will make it
possible to remove the select masks from the public interfaces, and then switch
from using select to poll, epoll or kqueue so that the range of file descriptor
values is no longer a factor for the server code.
Presenter: Keith Packard
Sustaining X development
XDC2015_-_Keith_Packard_-_Sustaining_X_Development-ZmrXLr27cWw.webm [99.69 Mb]Sustaining X development
Presenter: Keith Packard
Freeing one more SoC: Etnaviv status update
XDC2015_-_Lucas_Stach_-_Freeing_one_more_SoC_-_Etnaviv_status_update-LxGR4Bx1NcM.webm [93.24 Mb]Freeing one more SoC: Etnaviv status update
This presentation will give an overview about what has been going on in the
Etnaviv community, where we are today and what we hope the achieve in the
Presenter: Lucas Stach
Handling shader recompiles in Radeon
XDC2015_-_Marek_Olšák_-_Handling_shader_recompiles_in_Radeon-KF7HbPAgCRo.webm [64.11 Mb]Handling shader recompiles in Radeon
Many drivers can’t compile shaders when applications load them and must resort
to compiling shaders on the first use. This is due to the fact that many OpenGL
API states are not supported by the underlying hardware and must be emulated
using shader instructions. Compiling shaders on the first use results in
unpleasant application stuttering and frame rate drop, because all OpenGL
processing must stop while shaders are being compiled. A solution that works
for the Radeon Graphics Core Next (GCN) hardware will be presented. It’s based
on the idea that the shader code of OpenGL states that can be emulated at the
beginning or end of shaders (e.g. alpha-test) can be separated into small
independent shader binaries. Such binaries can be generated from current OpenGL
states using a simple shader assembler accepting native shader instructions
instead of using a complete shader compiler backend. This should enable very
fast compilation. The resulting binaries can be concatenated with
application-supplied shaders either at their beginning or end, depending on
where they belong. This frees the application shaders from the state
dependencies and allows them to be compiled when the application expects it.
All OpenGL shader state dependencies that occur with Radeon GCN ranging from
OpenGL 1.1 to 4.0 and how to handle them will be described in detail, including
how to deal with various challenges resulting from the GCN hardware design.
Presenter: Marek Olšák
Gated-Trunk Hardware Development and DevOps
XDC2015_-_Matt_Dew_-_Gated-Trunk_Hardware_Development_and_DevOps-KoTGsaV5xu8.webm [78.33 Mb]Gated-Trunk Hardware Development and DevOps
Hardware development is becoming more and more similar to software development
every day. HDLs (Hardware Description Lanugauges) like System Verilog support
things like classes, inheritance and method overrides. Just like in software,
teams are becoming larger and more geographically diverse. The codebase has
same challenges as software development and many of the same development
methodologies can be applied.
In this talk, I will try to give a brief overview of how we use trunk gating
and Devops to stay sane while developing ASICs at my company.
Presenter: Matt Dew
libratbag - a generic library to support configurable mice
XDC2015_-_Peter_Hutterer___Benjamin_Tissoires_-_libratbag-U7o8yN5Dzjo.webm [81.46 Mb]libratbag - a generic library to support configurable mice
We have been working on a generic library to provide an unified way to
configure programmable mice. This API is vendor independent and provides a
central point to describe the capabilities of a mouse. This way, we can support
programmable mice in Gnome, KDE or any other desktop environment without having
to introduce a vendor specific API for each mouse in the desktop environments.
During this talk, we will give an overview of the features and capabilities of
libratbag. Hopefully, there will be a demo of its current state.
Presenters: Peter Hutterer & Benjamin Tissoires
XDC2015_-_Peter_Hutterer_-_libinput_update-yHVyyJMo2lw.webm [81.24 Mb]libinput update
An update on the current state of libinput and related bits.
Presenter: Peter Hutterer
State of the X.Org Foundation
XDC2015_-_Peter_Hutterer_-_State_of_the_X.Org_Foundation-dWp9bkk6LAU.webm [45.05 Mb]State of the X.Org Foundation
The annual update. Expect thrill, excitement, confetti, balloons, a pink
elephant or none of the above.
Presenter: Peter Hutterer
Status of the drm and kms (i915) drivers for Solaris
XDC2015_-_Randy_Fishel_-_Status_of_the_drm_and_kms__i915__drivers_for_Solaris-hWplOozJdYM.webm [110.90 Mb]Status of the drm and kms (i915) drivers for Solaris
This talk will present the current status of existing drm/kms drivers on
Solaris and porting of the current code and drivers to Solaris.
It will provide some history on the source base, some of the challenges in
providing the current driver and porting to recent sources, as well as open
discussion on how future work might be more efficient.
Presenter: Randy Fishel
Status update of NVIDIA's performance counters for Nouveau
XDC2015_-_Samuel_Pitoiset_-_Status_update_of_NVIDIA_s_performance_counters_for_No...9J3BQcAeHpI.webm [53.10 Mb]Status update of NVIDIA's performance counters for Nouveau
Hardware performance counters are a set of special registers which store
hardware-related activities. They are are used by developers to identify
performance bottlenecks in their applications. NVIDIA hardware exposes two
kinds of counters that provide data directly from various points of the GPU.
Compute counters are mostly used by CUDA/OpenCL, while graphics ones give
detailed information about how the OpenGL/Direct3D pipeline is used. CUPTI and
respectively PerfKit expose those counters on both Linux and Windows for the
first and only on Windows for the latter. For Nouveau I had to implement the
whole infrastructure from the kernelspace to the userspace in order to expose
them in a decent manner for the end-users. In this talk, I'll explain how I
RE'd perf counters on NVIDIA hardware, as well as the interface being made
available to access them. I'll talk about how they are implemented in Nouveau
and Mesa. And I'll describe two different user-friendly APIs which can be used
to monitor these performance counters in OpenGL applications. Lastly, I'll
describe what work remains to be done and next steps.
Presenter: Samuel Pitoiset
An Introduction to PS/2 and ps2emu
XDC2015_-_Stephen_Chandler_Paul_-_An_Introduction_to_PS_2_and_ps2emu-LwnBOOs_qGM.webm [69.60 Mb]An Introduction to PS/2 and ps2emu
The project I'm hoping to present is ps2emu, a set of userspace tools and a
kernel module that allow userspace communication with the kernel's serio, the
low-level interface for input devices that go across serial protocols like
PS/2, driver. The userland tools allow for the recording and playback of PS/2
devices to aid with the development of input drivers and potentially to aid
with regression testing.
You can find the current git repository for the userland ps2emu tools here:
https://github.com/Lyude/ps2emu and you can find the git repository with the
kernel patches here: https://github.com/Lyude/ps2emu-kmod
Presenter: Stephen Chandler Paul
[ Add all 14 links to your ed2k client ]