Cannot play any Linux games anymore for about a year now

FreeBSD amd 64 11.1-p9, nvidia-driver-390.48, linux_base-c6-6.9_6, Geforce 750 GTX, all packages up to date.

I have always played all Linux games on that machine, but since some update of packages in the past, absolutely NO Linux game works anymore on that machine, I don't know if that is due to a newer version of nvidia-driver or the linuxulator. I always get a message like this with all games, no matter if linux-doom3, linux-quake4-demo, etqw or whatever:

Code:
----- R_InitOpenGL -----
Setup X display connection
dlopen(libGL.so.1)
Initializing OpenGL display
Using XFree86-VidModeExtension Version 2.2
DGA DirectVideo Mouse (Version 2.0) initialized
Free86-VidModeExtension Activated at 640x480
Using 8/8/8 Color bits, 8 Alpha bits, 24 depth, 8 stencil display.
Fatal X Error:
  Major opcode of failed request: 153
  Minor opcode of failed request: 3
  Serial number of failed request: 42
BadValue (integer parameter out of range for operation)
Fatal X Error:
  Major opcode of failed request: 153
  Minor opcode of failed request: 5
  Serial number of failed request: 45
BadMatch (invalid parameter attributes)
GL_RENDERER: (null)
GL_EXTENSIONS: (null)

My kldstat shows this:

Code:
$ kldstat
Id Refs Address            Size     Name
 1   66 0xffffffff80200000 1f6e480  kernel
 2    1 0xffffffff82170000 22fa0    firewire.ko
 3    3 0xffffffff82193000 abe08    linux.ko
 4    4 0xffffffff8223f000 dfa0     linux_common.ko
 5    1 0xffffffff8224d000 170b28   nvidia-modeset.ko
 6    2 0xffffffff823be000 13481c8  nvidia.ko
 7    1 0xffffffff83707000 147f8    tmpfs.ko
 8    1 0xffffffff8371c000 e690     cuse.ko
 9    1 0xffffffff8372b000 1a8d8    fuse.ko
10    3 0xffffffff83746000 89ca8    vboxdrv.ko
11    1 0xffffffff83a19000 5936     fdescfs.ko
12    1 0xffffffff83a1f000 a8c4     linprocfs.ko
13    1 0xffffffff83a2a000 2ed4b    vboxguest.ko
14    1 0xffffffff83a59000 2986     uhid.ko
15    1 0xffffffff83a5c000 10913    snd_uaudio.ko
16    1 0xffffffff83a6d000 245c     ulpt.ko
17    1 0xffffffff83a70000 3650     ums.ko
18    2 0xffffffff83a74000 2cbf     vboxnetflt.ko
19    2 0xffffffff83a77000 c57d     netgraph.ko
20    1 0xffffffff83a84000 43da     ng_ether.ko
21    1 0xffffffff83a89000 4016     vboxnetadp.ko
22    1 0xffffffff83a8e000 3c947    linux64.ko
23    1 0xffffffff83acb000 1518e    ext2fs.ko
24    1 0xffffffff83ae1000 51fa     geom_linux_lvm.ko
$

But here is one interesting thing: On two other PC's, one with an old nvidia card (6600 I think) that uses nvidia-driver-304, FreeBSD amd64 10.4 and another with FreeBSD amd64 11.1 and some integrated ATI HD3000 chip, Linux games DO work. If on those I install e.g. linux-doom3-demo, linux_base-c6-6.9 just gets installed the same as dependency like on my main PC and the game starts. And as all FreeBSD's are amd64, it is the same linux_base package on the tree PC's.
I did observe though that on the other two PC's a klstat only shows "linux.ko" but no "linux64.ko".

I thought then that doing a kldunload of "linux64.ko" would do the trick, but that does not work either, so what is wrong here with my main PC?

Does it have something to do with the nvidia-driver for newer cards and kmod (because, as I said the old card with nvidia-driver-304 works and ATI as well) or with the 6.9-version of the linuxulator in conjunction with nvidia-driver? I really don't know what to do.
 
Thanks for your reply, shkhln. I just downloaded nvidia-driver 384.111 from the nvidia-site and installed that, but it doesn't work either. In the past I had already tried with 384.59 (even older version) and it did not work either. So I don't know if the version would have to be even older or what, but this cannot be the proper solution anyway. Is it possible that it has to do something with this?

https://reviews.freebsd.org/D5141

And that therefore some ports should be installed with certain options?

Another question: Installing the old nvidia-driver with "make install" does not create a package. So how do you cleanly uninstall?
 
I just downloaded nvidia-driver 384.111 from the nvidia-site and installed that
Installing the old nvidia-driver with "make install" does not create a package.

See https://forums.freebsd.org/threads/fetch-older-version-of-a-certain-port.39602.

So how do you cleanly uninstall?

Hm... I think (but haven't verified) in that particular case installing nvidia-driver from ports would overwrite all these files. Don't bother.
 
Hm... I think (but haven't verified) in that particular case installing nvidia-driver from ports would overwrite all these files. Don't bother.

Yes, I can confirm that now, was no problem. But what do you think about the information in the link I mentioned? Did you actually run into the same problem as I and do Linux games (32 bit) work for you right now with nvidia-driver?
 
I don't actually run games under Linux emulation (wine is vastly easier in practice), but OpenGL did work for me until 390.x.
 
Last edited:
I don't know if your problem is the same as what I have experienced, but one issue I have had with trying to play Linux games under FreeBSD is that the libdrm version currently in CentOS (I'm using the CentOS 7 packages) is an out-of-date version with a known bug where it isn't able to load the gl driver properly. I've been waiting patiently for an upgrade, but CentOS is slow to upgrade packages. I suppose the primary audience for Linux compatibility is people running server software, but it seems to me that a more up-to-date set of Linux packages such as from Fedora would be a nice option for people like us who want to run games. Now that I think about it, your issue is probably different if you're using the nVidia driver because the issue I'm having would only come up when using the open source drivers such as for Intel or AMD.
 
I'm pretty sure Nvidia broke OpenGL under Linuxulator. In general, their driver reliability seems to be on the decline since the introduction of nvidia-modeset kernel module, so it's not entirely unexpected. It would be nice to see reports from other users, though.
 
wine is vastly easier in practice

I've just realized Nvidia "forgot" to put a 32-bit libGL.so into NVIDIA-FreeBSD-x86_64-396.24.tar.gz (they do so for Linux). And they deprecated the x86 distribution altogether... Now, that is an actual PITA.
 
I've just realized Nvidia "forgot" to put a 32-bit libGL.so into NVIDIA-FreeBSD-x86_64-396.24.tar.gz (they do so for Linux). And they deprecated the x86 distribution altogether... Now, that is an actual PITA.

So that's it? They just "forgot to put a 32-bit libGL.so into..., and they do so for Linux". Can't this be reported?!?!?
 
The only solution I know is downgrading nvidia-driver to 384.111 with portdowngrade utility. That should be enough to make 32-bit Linux OpenGL apps work. If that doesn't help you then please post (as attachment) full truss output for linux-doom3/linux-quake4-demo/etqw/whatever.
 
Because presumably newer version have more features and less bugs, as it usually happens with software in general.
There are some exclusions (say, firefox degraded since v57, so no power users use firefox more recent than v56), so if that is the case - I'd like to know.
 
Thanks, that's what I wanted to know.
In my experience linuxulator was always broken in FreeBSD.
Could you provide some prooflink to the ticket in issue tracker?
 
The only solution I know is downgrading nvidia-driver to 384.111 with portdowngrade utility. That should be enough to make 32-bit Linux OpenGL apps work. If that doesn't help you then please post (as attachment) full truss output for linux-doom3/linux-quake4-demo/etqw/whatever.

Portdowngrade did not show 384.111 in the list, but I found 384.90. But unfortunately when running it with the according revision I got this:

Code:
# portdowngrade x11/nvidia-driver r451134
svn: E200029: Couldn't perform atomic initialization
svn: E200030: SQLite compiled for 3.24.0, but running with 3.23.1
Something went wrong with svn...  Ensure you have the correct revision!

I cannot attach an output of truss linux-doom3-demo. If I do truss linux-doom3-demo > linux-doom3-demo.txt I get an empty Textfile.
 
OK, did an upgrade of base and userland and managed to install nvidia-driver-384.90 which is below 384.11, right? But still no luck. This time I am attaching the output. But I would like to ask you something: When you state that one should downgrade to 384.111 to solve the problem, are you actually able to run 32-bit linux-games? Does e.g. linux-doom3-demo work on your machine?
 

Attachments

  • linux-doom3-demo.txt
    1.4 MB · Views: 228
Back
Top