starbeamrainbowlabs.com Open in urlscan Pro
2001:41d0:e:74b::1  Public Scan

Submitted URL: http://starbeamrainbowlabs.com/
Effective URL: https://starbeamrainbowlabs.com/
Submission: On November 27 via api from US — Scanned from FR

Form analysis 0 forms found in the DOM

Text Content

About Blog Labs Code Research Tools


ABOUT

Hello!

I am a computer science student researcher who is doing a PhD at the University
of Hull. My project title is Using Big Data and AI to dynamically predict flood
risk.

I started out teaching myself about various web technologies, and then I managed
to get a place at University, where I am now. I've previously done a degree (BSc
Computer Science) and a Masters (MSc Computer Science with Security and
Distributed Computing) at the University of Hull. I've done a year in industry
too, which I found to be particularly helpful in learning about the workplace
and the world.

I currently know Javascript (Browser + Node.js), CSS3, HTML5 etc, Python
(Tensorflow, PyTorch, etc), Jupyter Notebook (best for small things not large
things), PHP, C / C++ (mainly for Arduino), some Rust, and C# + Monogame / XNA
(+ WPF). Oh yeah, and I can use XSLT too. I should format this list better at
some point.

I love to experiment and learn about new things on a regular basis. You can find
some of the things that I've done in the labs and code sections of this website,
or on GitHub (both in my personal time and for my PhD). My current big personal
projects are Pepperminty Wiki, an entire wiki engine in a single file (the
source code is spread across multiple files - don't worry!), and
WorldEditAdditions.

I can also be found in a number of other different places around the web. I've
compiled a list of the places that I can remember below.

Social

 * Discord
 * Twitter
 * reddit
 * Mastodon
 * YouTube

Other

 * GitHub
 * GitLab
 * npm
 * asciinema
 * Codepen
 * Stack Overflow
   

I can be contacted at the email address webmaster at starbeamrainbowlabs dot
com. Suggestions, bug reports and constructive criticism are always welcome.

For those looking for my GPG key, you can find it here. My key id is
C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725, and is uploaded to the public
keyserver network, so you can download it with GPG like so: gpg --keyserver
hkps://keyserver.ubuntu.com:443/ --recv-keys
C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725


BLOG

Blog Roll | Article Atom Feed | Mailing List




LATEST POST

COMPILING THE WACOM DRIVER FROM SOURCE TO FIX TILT & ROTATION SUPPORT

I was all sat down and setup to do some digital drawing the other day, and then
I finally snapped. My graphics tablet (a secondhand Wacom Intuos Pro S from
Vinted) - which supports pen tilt - was not functioning correctly. Due to a bug
that has yet to be patched, the tilt X/Y coordinates were being wrongly
interpreted as unsigned integers (i.e. uint32) instead of signed integers (e.g.
int32). This had the effect of causing the rotational calculation to jump around
randomly, making it difficult when drawing.

So, given that someone had kindly posted a source patch, I set about compiling
the driver from source. For some reason that is currently unclear to me, it is
not being merged into the main wacom tablet driver repository. This leaves
compiling from source with the patch the only option here that is currently
available.

It worked! I was so ecstatic. I had tilt functionality for the first time!

Fast-forward to yesterday....... and it broke again, and I first noticed because
I am left-handed and I have a script that flips the mapping of the pad around so
I can use it the opposite way around.

I have since fixed it, but the entire process took me long enough to figure out
that I realised that I was halfway there to writing a blog post as a comment on
the aforementioned GitHub issue, so I decided to just go the rest of the way and
write this up into a full blog post / tutorially kinda thing and do the drawing
I wanted to do in the first place tomorrow.

In short, there are 2 parts to this:

 * input-wacom, the kernel driver
 * xf86-input-wacom, the X11 driver that talks to the kernel driver

....and they both have to be compiled separately, as I discovered yesterday.


WHO IS THIS FOR?

If you've got a Wacom Intuos tablet that supports pen tilt / rotation, then this
blog post is for you.

Mine is a Wacom Intuos Pro S PTH-460.

This tutorial has been written on Ubuntu 24.04, but it should work for other
systems too.

If there's the demand I might put together a package and put it in my apt repo,
though naturally this will be limited to the versions of Ubuntu I personally use
on my laptop - though do tend to upgrade through the 6-monthly updates.

I could also put together an AUR package, but currently on the devices I run
Artix (Arch derivative) I don't usually have a tilt-supporting graphics tablet
physically nearby when I'm using them and they run Wayland for unavoidable
reasons.

Linux MY_DEVICE_NAME 6.8.0-48-generic #48-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 14:04:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux


KOMPILING THE KERNEL MODULE

Navigate to a clean directory somewhere persistent, as you may need to get back
to it later.

If you have the kernel driver installed, then uninstall it now.

On Ubuntu / apt-based systems, they bundle the kernel module and the X11 driver
bit all in a single package..... hence the reason why we hafta do all the
legwork of compiling and installing both the kernel module and the X11 driver
from source :-/

e.g. on Ubuntu:

sudo apt remove xserver-xorg-input-wacom

Bash

Then, clone the git repo and checkout the right branch:

git clone https://github.com/jigpu/input-wacom.git -b fix-445
cd input-wacom;

Bash

....then, ref the official instructions install build-time dependencies if
required:

sudo apt-get install build-essential autoconf linux-headers-$(uname -r)

Bash

...check if you have these installed already by replacing apt-get install with
apt-cache policy.

Then, build and install all-in-one:

if test -x ./autogen.sh; then ./autogen.sh; else ./configure; fi && make && sudo make install || echo "Build Failed"

Bash

....this will prompt for a password to install directly into your system. I
think they recommend to do it this way to simplify the build process for people.

This should complete our khecklist for the kernel module, but to activate it
you'll need to reboot.

Don't bother doing that right now though on Ubuntu, since we have the X11 driver
to go. For users on systems lucky enough to split the 2 drivers up, then you can
just reboot here.

You can check (after rebooting!) if you've got the right input-wacom kernel
module with this command:

grep "" /sys/module/wacom*/version

Bash

....my research suggests you need to have a wacom tablet plugged in for this to
work.

If you get something like this:

$ grep "" /sys/module/wacom*/version
v2.00

Bash

....then you're still using your distribution-provided wacom kernel module. Go
uninstall it!

The output you're looking for should look a bit like this:

$ grep "" /sys/module/wacom*/version
v2.00-1.2.0.37.g2c27caa

Bash


COMPILING THE X11 DRIVER

Next up is xf86-input-wacom, the X11 side of things.

Instructions for this are partially sourced from
https://github.com/linuxwacom/xf86-input-wacom/wiki/Building-The-Driver#building-with-autotools.

First, install dependencies:

sudo apt-get install autoconf pkg-config make xutils-dev libtool xserver-xorg-dev$(dpkg -S $(which Xorg) | grep -Eo -- "-hwe-[^:]*") libx11-dev libxi-dev libxrandr-dev libxinerama-dev libudev-dev

Bash

Then, clone the git repository and checkout the latest release:

git clone https://github.com/linuxwacom/xf86-input-wacom.git
cd "xf86-input-wacom";
git tag; # Pick the latest one from this list
git switch "$(git tag | tail -n1)"; # Basically git switch TAG_NAME

Bash

It should be at the bottom, or at least that's what I found. For me, that was
xf86-input-wacom-1.2.3.

Then, to build and install the software from source, run these 2 commands one at
a time:

set -- --prefix="/usr" --libdir="$(readlink -e $(ls -d /usr/lib*/xorg/modules/input/../../../ | head -n1))"
if test -x ./autogen.sh; then ./autogen.sh "$@"; else ./configure "$@"; fi && make && sudo make install || echo "Build Failed"

Bash

Now you should have the X11 side of things installed. In my case that includes
xsetwacom, the (questionably designed) CLI for managing the properties of
connected graphics tablets.

If that is not the case for you, you can extract it from the Ubuntu apt package:

apt download xserver-xorg-input-wacom
dpkg -x DEB_FILEPATH_HERE .
ar xv DEB_FILEPATH_HERE # or, if you don't have dpkg for some reason

Bash

....then, go locate the tool and put it somewhere in your PATH. I recommend
somewhere towards the end in case you forget and fiddle with your setup some
more later, so it gets overridden automatically. When I was fidddling around,
that was /usr/local/games for me.


MAKING X11 LIKE THE KERNEL DRIVER

Or also known as enabling hotplug support. Or getting the kernel module and X11
to play nicely with each other.

This is required to make udev (the daemon that listens for devices to be plugged
into the machine and then performs custom actions on them) tell the X server
that you've plugged in your graphics tablet, or X11 to recognise that tablet
devices are indeed tablet devices, or something else vaguely similar to that
effect.

Thankfully, this just requires the installation of a single configuration file
in a directory that may not exist for you yet - especially if you uninstalled
your distro's wacom driver package.

Do it like this:

mkdir -p /etc/X11/xorg.conf.d/;
sudo curl -sSv https://raw.githubusercontent.com/linuxwacom/xf86-input-wacom/refs/heads/master/conf/70-wacom.conf -o /etc/X11/xorg.conf.d/70-wacom.conf

Bash

Just case they move things around as I've seen happen in far too many tutorials
with broken links before, the direct link to the exact commit of this file I
used is:

https://github.com/linuxwacom/xf86-input-wacom/blob/47552e13e714ab6b8c2dcbce0d7e0bca6d8a8bf0/conf/70-wacom.conf


FINAL STEPS

With all that done and out of the way, reboot. This serves 2 purposes:

 1. Reloading the correct kernel module
 2. Restarting the X11 server so it has the new driver.

Make sure to use the above instructions to check you are indeed running the
right version of the input-wacom kernel module.

If all goes well, tilt/rotation support should now work in the painting program
of your choice.

For me, that's Krita, the AppImage of which I bundle into my apt repository
because I like the latest version:

https://apt.starbeamrainbowlabs.com/




CONCLUSION

Phew, I have no idea where this blog post has come from. Hopefully it is useful
to someone else out there who also owns an tilt-supporting wacom tablet who is
encountering a similar kinda issue.

Ref teaching and the previous post, preparing teaching content is starting to
slwo down now thankfully. Ahead are the uncharted waters of assessment - it is
unclear to me how much energy that will take to deal with.

Hopefully though there will be more PhD time (post on PhD corrections.....
eventually) and free energy to spend on writing more blog posts for here! This
one was enjoyable to write, if rather unexpected.

Has this helped you? Are you still stuck? Do report any issues to the authors of
the above two packages I've shown in this post!

Comments below are also appreciated, both large and small.

--------------------------------------------------------------------------------

By Starbeamrainbowlabs on Friday 22nd of November 2024 at 09:00am UTC
Read more posts.....


LABS

 * mutate-a-word!
 * WorldEditAdditions
 * Air Quality Web
 * Wordsearch Plus
 * Line Distance Calculator
 * Line Simplifier
 * GalleryShare
 * Starry Sky
 * Archives: Colour Picker
 * Parallax Bicycle
 * Procedural Castles
 * Rotating Shapes
 * Smooth Lines
 * Fractal Shapes
 * Ripples
 * Big Wheel
 * Audio Treasure Hunter
 * Voronoi Diagrams
 * Snowflake Generator
 * Pepperminty Wiki
 * HTML5 Canvas Clouds
 * Imaanvas
 * Gif Renderer
 * Parallax Scrolling Stars
 * (Almost) Pure CSS Spotlight
 * Lightsout
 * Image Trianglifier


CODE

 * gallerybox
 * consulstatus
 * multimaze
 * hourgraph
 * terrain50-cli
 * applause-cli
 * XmppBridge
 * NightInk
 * powahroot
 * RhinoReminds
 * Gliding Squirrel HTTP
 * Audio Morse Decoder
 * Chaikin Generator
 * Cscz
 * CSVWriter
 * Prolog Visualisation Tool
 * Noisebox
 * TraceRoutePlus
 * Simple XML Writer
 * PHP Atom Generator
 * Bookmarklet Playground


RESEARCH

Note: This section is still under construction, so excuse the mess :-) TODO ALL
the icons to make this look pretty; add recent posters + papers etc

Real-time social media sentiment analysis for rapid impact assessment of floods

Classifying multimodal text + images via sentiment analysis from social media
with contrastive learning aids situational awareness in floods.

DOI
Using multimodal data and AI to dynamically map flood risk

Coming soon :-)

PDF


TOOLS

I find useful tools on the internet occasionally. I will list them here.

 * Ubuntu
 * Artix Linux
 * VSCodium
 * Firefox
 * KeePass2
 * lnav
 * tldr-pages
 * Wireshark
 * Obsidian
 * QOwnNotes
 * GParted
 * GIMP
 * Inkscape
 * Krita
 * Blender
 * Caddy
 * Nginx
 * Bfxr
 * 7zip
 * Tensorflow
 * PyTorch

Built by Starbeamrainbowlabs. Feedback can be sent to feedback at
starbeamrainbowlabs dot com. Comments can be made on all blog posts. Some icons
from the awesome Open Iconic icon set.

 * 
 * 

Privacy Policy | Terms of Service | Licensing Information

Blog post content available under


Design © Mythdael 2024. More information available on the licensing page.





ASDS
Art by Mythdael