savage driver and DRI (obsoleted in Mesa?)

Everything about X, Gnome, KDE, ... and everything running on it

savage driver and DRI (obsoleted in Mesa?)

Postby shugyo » 2020-04-25 15:30

Hi all,

I received help on how to set up the savagefb framebuffer on my Toshiba Dynabook DB65P/4RC with a S3 Savage IX MV (PCI ID 0x8c12) AGP 2X card, with 8MB SGRAM onboard:
viewtopic.php?f=7&t=145992

I would like to use the savage driver also in X.org also, and there are 2 issues:
  1. The driver did work with Debian Lenny, Squeeze, Wheezy, and Jessie, albeit I do not have a record of whether DRI was enabled or not. It no longer works with Stretch or Buster (I recently upgraded my system from Squeeze through to Buster, using command line though and only checked X.org functionality briefly at Wheezy).
  2. Currently, running Buster with the distributed X.org and Mesa libraries, with a kernel from one of Wheezy or Jessie (as I can no longer easily install ones from Lenny or Squeeze), I can get the savage driver to work (presumably that driver is from the corresponding kernel), but cannot get DRI to become enabled. I have no idea what version of DRI is needed, but I assume DRI1 (more below).
For newer kernels than Wheezy (3.2.0-4) or Jessie (3.16.0-6), in other words for Stretch (4.9.0-12) and Buster (4.19, also 5.4 from backports) the following error is logged, and X.org never starts up:
Code: Select all
(EE) SAVAGE(0): Internal error: could not map aperture range (22, Invalid argument).

Searching for this turns up a few hits online but no information on a solution.
Refs:
https://www.reddit.com/r/linuxquestions ... d_not_map/
https://www.vivaolinux.com.br/topico/Ha ... ture-range

I have left that for now, and tried to get a baseline system working with an older kernel, and focus on what functionality is possible. The most important of these seems to be DRI. Other functionality of the savage driver otherwise appears to work, just speed is inadequate with software rendering without DRI.

My first research was the X.org documentation on the savage driver. Even setting savage option DRI does not do anything (it is on by default), and loading X.org module dri also nothing, since the module is already built-in.
https://www.x.org/releases/current/doc/ ... ge.4.xhtml

Based on web searches, I also tried setting the savage option AccelMethod to EXA, since XAA is supposedly no longer available. Again, no change, DRI still not enabled (and from what I could tell, it seems the savage driver would have been updated to use EXA by default).

So after some more searching I found that Mesa has possibly removed support for DRI1 and all affected drivers, including savage, in 2012:
https://lists.freedesktop.org/archives/ ... 10959.html
As I understand it, DRI is used in X.org for 2D and 3D, and the vehicle for implementing that in reality is Mesa.
If the savage driver can only use DRI1, then this would explain the issue, if no backporting has been undertaken by Debian.
Wikipedia indicates the DRI1 must no longer be used:
https://en.wikipedia.org/wiki/Direct_Re ... astructure

Unfortunately, I cannot find any corroboration on the X.org savage driver page, or Debian's savage driver page of:
  1. Does the savage driver only support DRI1?
    (perhaps driver was updated to work with DRI2)
  2. Does Debian's Mesa support DRI1?
    (or need to go back to a Debian distribution with a sufficiently old Mesa DRI1 library?)
  3. Does X.org support DRI1?
    (the module is built-in so I assume yes, although if Mesa does not support it, how would that work?)
  4. Is there any alternative to Mesa if DRI1 is required?
    (if there is an alternative I could try that)
Any advice would be most appreciated.
shugyo
 
Posts: 98
Joined: 2009-08-24 08:56

Re: savage driver and DRI (obsoleted in Mesa?)

Postby shugyo » 2020-04-26 13:52

I have managed to answer my questions, hopefully it will be helpful to others:
  1. Does the savage driver only support DRI1?
    -> Yes.
  2. Does Debian's Mesa support DRI1?
    No, only up to Squeeze, which has Mesa 7.10. Wheezy uses Mesa 8.0, from which DRI1 supported was removed. I have no information that any backporting was done (I am considering testing if I can add DRI1 back into Mesa and compile the libraries, the edits look fairly simple, the compile on the other hand is an unknown to me).
  3. Does X.org support DRI1?
    -> Yes! Both the kernel (well, except that kerns after Jessie produce an error) still contain the DRI1 drivers.
  4. Is there any alternative to Mesa if DRI1 is required?
    -> No. The relevant DRI1 drivers are written for Mesa.
shugyo
 
Posts: 98
Joined: 2009-08-24 08:56

Re: savage driver and DRI (obsoleted in Mesa?)

Postby shugyo » 2020-05-06 17:50

Conclusion:

So, it turns out it was a futile effort to attempt to use DRI with cards requiring DRI1, past Debian Squeeze, which was the last version to use libgl1-mesa-dri < 8 (Squeeze uses 7.1.6).

I reinstalled Squeeze on the drive, set up X with the best options possible for this card, i.e., Option AGPMode 2, and Option DRI True, and reinstalled the Yamaha YMF-754 firmware, so all works again topnotch.

Since I am using this machine to test ALPS printers with connected via parallel, USB and PCMCIA SCSI cards, an out of date system is not much of a hindrance.
shugyo
 
Posts: 98
Joined: 2009-08-24 08:56

Re: savage driver and DRI (obsoleted in Mesa?)

Postby vp1147 » 2020-06-09 21:31

Hi! Remember me?
I'm the author of the 2 questions.
I've found a workaround for this issue.
First, remove the savage driver package:
$ sudo apt remove xserver-xorg-video-savage
Then, open the grub config file:
$ sudo vim /etc/default/grub
or
$ sudo nano /etc/default/grub
Uncomment the option GRUB_GFXMODE, add your monitor resolution. Then add the option GRUB_GFX_PAYLOAD_LINUX, it should look like this

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1024x768
GRUB_GFX_PAYLOAD_LINUX=keep

Save and update the grub config file:
$ sudo update-grub
Then, finally, reboot:
$ sudo reboot
Now xorg 'll use the kernel modeset, which is slower, but does the job.

vp1147
vp1147
 
Posts: 1
Joined: 2020-06-09 21:21


Return to Desktop & Multimedia

Who is online

Users browsing this forum: No registered users and 9 guests

fashionable