3 ms·
The Mesa codebase does feel quite weird from afar but it would fun to contribute. I know compilers but not much about graphics. Unfortunately I don't have a bo
by mhh__ 5y ago
The Mesa codebase does feel quite weird from afar but it would fun to contribute. I know compilers but not much about graphics.
Unfortunately I don't have a box to try wacky drivers on so that may block my efforts to embarrass myself in one more domain. Couldn't tell whether they test in VMs or physical boxes (or userspace?)
- corysama 5y agoI heard it said that OpenGL drivers are essentially run-time compilers :) Working on a driver like this would not actually involve much knowledge of graphics. It's more an exercise of careful spec interpretation and deep knowledge of hardware-level interface. Have a read through https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/ https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-... and see if you'd find that space interesting to work in.
- dyingkneepad 5y agoThe Mesa driver is all in user space, it's simply a library. You can develop it without messing with your system or any of the applications that are generally open. Developers can just build and install them to some user-controlled directory (e.g., $HOME/opt) and run from there with LD_LIBRARY_PATH and other similar variables. You can wrap all the variables in a script and run your custom-built mesa with simply "$ with-custom-mesa glxgears" and then glxgears will be using your custom (and possibly broken) driver, while everything else will still be using the default drivers from the distro. You could use containers such as systemd-nspawn, but it's much more complicated than simply using $HOME/opt. Edit: https://docs.mesa3d.org/install.html#running-against-a-local-build https://docs.mesa3d.org/install.html#running-against-a-local...
- shmerl 5y agoYou can simply build it on Linux and test (you can use it without packaging anything). It's separate from kernel drivers. Configuring the build with Meson might look a bit intimidating, but you can find examples by checking how distros configure it. For example on Debian you can see this in the build log: https://buildd.debian.org/status/fetch.php?pkg=mesa&arch=amd64&ver=22.0.0-1&stamp=1647199632&raw=0 https://buildd.debian.org/status/fetch.php?pkg=mesa&arch=amd... Search for LC_ALL=C.UTF-8 meson