开发者

best way to work on / debug Xorg server modules

I want to work on an Xorg server module and I am wondering how I can reload the module at runtime.

Also, maybe someone can give me some good tips about doing this (because I never have worked with Xorg server code before).


Esp. I am running the Ubuntu version of Xorg 7.5 (if that matters much -- does it?).


What I want to do spec开发者_Go百科ifically is to implement mouse wheel acceleration in XInput.

I thought about adding a new option for this which can be set somewhere (I think xorg.conf is not anymore the place where you do the XInput configuration; where is it now and what would be the best way to introduce a new setting, i.e. MouseWheelAccel or sth like this?).

And then of course to implement the actual acceleration. As mouse wheel events are just like button press events, I thought of just increasing the rate of firing such events. How to implement this is actually really the minor problem. (I am actually thinking about it as being trivial. Let's see if the Xorg code allows it to be so simple...)


So far, I have done this:

Reports:

  • at Launchpad/(K)Ubuntu
  • at Ubuntu Brainstorm
  • at Ubuntu forums
  • at KDE
  • at Freedesktop/Xorg

Check out Xorg via Git, prepare for compiling, and get the XServer code. Basically this:

...
git clone git://anongit.freedesktop.org/git/xorg/util/macros
...
sudo apt-get install xserver-xorg-dev
sudo apt-get install x11proto-gl-dev x11proto-xf86dri-dev x11proto-fixes-dev x11proto-damage-dev x11proto-xcmisc-dev x11proto-bigreqs-dev x11proto-composite-dev x11proto-scrnsaver-dev x11proto-resource-dev x11proto-xinerama-dev x11proto-xf86dga-dev x11proto-record-dev x11proto-xf86vidmode-dev
sudo apt-get install libxfont-dev libudev-dev
git clone git://anongit.freedesktop.org/git/mesa/mesa
git clone git://anongit.freedesktop.org/xorg/xserver
cd xserver
git checkout -b server-1.7-branch origin/server-1.7-branch -t
# apply a bunch of Debian patches (apt-get source xserver-xorg-core && ls xorg-server-1.7.6/debian/patches)
# esp., apply the config-libudev-backend and config-xorg-conf-d 
./autogen.sh --prefix=/opt/xorg --enable-xorg --disable-dmx --disable-xvfb --disable-xnes \
--disable-xwin --disable-xprint --with-mesa-source=../mesa \
--enable-dga --enable-glx --enable-aiglx --enable-glx-tls \
--enable-dri --enable-dri2 \
--enable-config-udev --enable-registry --enable-composite --enable-record \
--enable-xv --enable-xvmc --enable-dga --enable-screensaver \
--enable-xdmcp --enable-xdm-auth-1 --enable-xfree86-utils \
--with-xkb-bin-directory=/usr/bin --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/var/lib/xkb \
--with-dri-driver-path=/usr/lib/dri \
--with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins"
sudo chmod o+w /var/lib/xkb # just to be able to proceed as user
... # work on it
sudo /opt/xorg/bin/Xorg :1 vt8 # for testing
sudo cp /opt/xorg/bin/* /usr/bin # temporarily install it as main Xserver
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜