Compiling xserver-xorg-video-vesa from source

10 respostas [Última entrada]
lydell

I am a member!

Desconectado
Joined: 04/20/2014

I'd like to compile xserver-xorg-video-vesa from source. Why?

The long version: http://trisquel.info/en/forum/cannot-get-widescreen-resolution-and-use-multiple-monitors-trisquel-7-i-could-trisquel-6

The short version: I suspect that the version used in Trisquel 6 works better with my computer than the version used in Trisquel 7. I'd like to try get the best of both Trisquel 6 and Trisquel 7!

Moreover, it might be a good exercise to learn a bit more about compiling C code and whatever else might be involved.

I'm familiar with using the command line, text editing and JavaScript programming. I don't know much C, though, but I've successfully compiled a few C programs made by others in the past.

I have started by downloading the source code from http://packages.trisquel.info/toutatis/xserver-xorg-video-vesa (xserver-xorg-video-vesa_2.3.0.orig.tar.gz).

I then tried to run ./configure. It complains about the packages xorg-server, xproto and fontsproto not being found. None of those appear to be present for installation from the repositories.

Now I do not have any ideas on how to proceed. Any help is appreciated!

Also, if it is not possible to downgrade xserver-xorg-video-vesa without also downgrading a bunch of other packages, which in the end would produce a system more like Trisquel 6, then please tell me. Then it's easier to just use Trisquel 6. But the slightly lower screen resolution in Trisquel 7 is not _that_ bad, so I might just stick with Trisquel 7 as it is. We'll see.

tomlukeywood
Desconectado
Joined: 12/05/2014

try searching those package names in synaptic packages manager
the packages might just be under a slightly different name

lydell

I am a member!

Desconectado
Joined: 04/20/2014

Thank you! I just found the xorg-server-dev package by using Synaptic. After installing it, ./configure could be run without error messages!

lydell

I am a member!

Desconectado
Joined: 04/20/2014

I am currently trying to run 'make'. That prints an aweful lot of warnings, and then errors out.

First, 'mibstore.h' could not be found. I don't know where this file is supposed to be coming from. I tried commenting it out to be able to move on.

Then I get the following errors:

vesa.c:1134:5: error: too many arguments to function ‘pScreen->CloseScreen’
vesa.c:1273:26: error: ‘struct _ScrnInfoRec’ has no member named ‘domainIOBase’
vesa.c:1700:5: error: too many arguments to function ‘pScrn->SwitchMode’
vesa.c:1702:5: error: too many arguments to function ‘pScrn->AdjustFrame’
vesa.c:1710:5: error: too many arguments to function ‘pScrn->AdjustFrame’

I'll get back to it tommorrow.

lydell

I am a member!

Desconectado
Joined: 04/20/2014

... or just a couple of minutes later.

I just downloaded the source code for the Trisquel 7 version as well. There, I managed to run both ./configure and make without errors. src/vesa.c does not try to include mibstore.h.

It'd be useful if I could find a git repository so that I could more easily track what has changed between the versions.

lydell

I am a member!

Desconectado
Joined: 04/20/2014

I found git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-vesa. I guess that's a "proper" repo, since it comes from debian.

I also pretty quickly found a commit that remove mibstore.h

BugRep
Desconectado
Joined: 04/05/2012

Here is how you would build the version that comes with the current Trisquel release:

cd /tmp/
apt-get source xserver-xorg-video-vesa
cd xserver-xorg-video-vesa-*
sudo apt-get build-dep xserver-xorg-video-vesa
dpkg-buildpackage -uc -us

This will build the Debian package.
It might not be that hard to build the sources from a different version in a similar way.

lydell

I am a member!

Desconectado
Joined: 04/20/2014

Wow, thank you! That's super useful!

BugRep
Desconectado
Joined: 04/05/2012

I did this:

cd /tmp
wget http://archive.trisquel.info/trisquel/pool/main/x/xserver-xorg-video-vesa/xserver-xorg-video-vesa_2.3.0-7build2.dsc http://archive.trisquel.info/trisquel/pool/main/x/xserver-xorg-video-vesa/xserver-xorg-video-vesa_2.3.0.orig.tar.gz http://archive.trisquel.info/trisquel/pool/main/x/xserver-xorg-video-vesa/xserver-xorg-video-vesa_2.3.0-7build2.diff.gz
dpkg-source -x xserver-xorg-video-vesa_2.3.0-7build2.dsc
cd xserver-xorg-video-vesa-2.3.0/
dpkg-buildpackage -uc -us

But i seem to find a similar problem:

../../src/vesa.c:53:22: fatal error: mibstore.h: No such file or directory

Hope I helped.

Edit: I found the sources here.

lydell

I am a member!

Desconectado
Joined: 04/20/2014

Because of new information from http://trisquel.info/en/forum/cannot-get-widescreen-resolution-and-use-multiple-monitors-trisquel-7-i-could-trisquel-6, I will now abandon my attempts to compile the vesa driver from source, and instead focus on the radeon driver. http://www.x.org/wiki/radeonBuildHowTo/ seems helpful.

lydell

I am a member!

Desconectado
Joined: 04/20/2014

The linked guide sure is helpful. I recommend it to anyone attempting to build a radeon driver.

I cloned git://anongit.freedesktop.org/xorg/driver/xf86-video-ati and found a branch called ums. The latest commit was from 2013, even though UMS support was removed in 2012. Wow, that sounded promising!

However, the UMS removal removes a lot of code. _A lot._ Since then, it seems like many changes has been done in order to support newer versions of dependencies, such as xorg. When I tried compiling from the latest commit in the ums branch things failed, because that code was of course not updated for newer dependencies. Considering how much code I need to go through, and that I have prior experience with driver programming, or C programming at all, the task feels too big. (I actually managed to solve at least one thing -- but then 10 new problems arose). So I don't think I'll get further with this (at least for now). It was still a fun project that I learned lots from!