Set up OpenGL, that uses nouveau driver for GeForce Go 7300

Hi! I’m new to Manjaro, my old laptop has:

inxi -F
System:
  Host: daisg Kernel: 5.15.65-1-MANJARO arch: x86_64 bits: 64 Desktop: Xfce
    v: 4.16.1 Distro: Manjaro Linux
Machine:
  Type: Laptop System: LENOVO product: 0769K3G v: 3000 N200
    serial: <superuser required>
  Mobo: LENOVO model: IEL10 v: REFERENCE serial: <superuser required>
    BIOS: LENOVO v: 68ET37WW date: 06/11/2008
Battery:
  ID-1: BAT1 charge: 48.8 Wh (100.0%) condition: 48.8/48.8 Wh (100.0%)
    volts: 11.1 min: 11.1
CPU:
  Info: dual core model: Intel Core2 Duo T8300 bits: 64 type: MCP cache:
    L2: 3 MiB
  Speed (MHz): avg: 1196 min/max: 800/2401 cores: 1: 1143 2: 1250
Graphics:
  Device-1: NVIDIA G72M [Quadro NVS 110M/GeForce Go 7300] driver: nouveau
    v: kernel
  Device-2: Chicony USB 2.0 Camera type: USB driver: uvcvideo
  Display: x11 server: X.Org v: 21.1.4 driver: X: loaded: nouveau
    unloaded: modesetting gpu: nouveau resolution: 1680x1050~60Hz
  OpenGL: renderer: NV46 v: 2.1 Mesa 22.1.7
Audio:
  Device-1: Intel 82801H HD Audio driver: snd_hda_intel
  Sound Server-1: ALSA v: k5.15.65-1-MANJARO running: yes
  Sound Server-2: PulseAudio v: 16.1 running: yes
  Sound Server-3: PipeWire v: 0.3.57 running: yes
Network:
  Device-1: Intel PRO/Wireless 4965 AG or AGN [Kedron] Network
    driver: iwl4965
  IF: wlp4s0 state: up mac: 00:1f:3b:16:f1:cd
  Device-2: Broadcom NetLink BCM5906M Fast Ethernet PCI Express driver: tg3
  IF: enp6s0 state: down mac: 00:1b:38:0e:2a:84
Bluetooth:
  Device-1: Broadcom BCM2045 Bluetooth type: USB driver: btusb
  Report: rfkill ID: hci0 state: up address: see --recommends
Drives:
  Local Storage: total: 348.57 GiB used: 24.06 GiB (6.9%)
  ID-1: /dev/mmcblk0 vendor: Apacer model: APPSD size: 125 GiB
  ID-2: /dev/sda vendor: Kingston model: SA400S37240G size: 223.57 GiB
Partition:
  ID-1: / size: 219 GiB used: 24.06 GiB (11.0%) fs: ext4 dev: /dev/sda1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 47.0 C mobo: N/A gpu: nouveau temp: 63.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 178 Uptime: 41m Memory: 3.83 GiB used: 1.45 GiB (37.9%)
  Shell: Bash inxi: 3.3.21

I noticed that some applications that use OpenGL crash all the time or display garbage. Same laptop on Debian 11 LXQT, with same nouveau driver showed same applications correctly but slowly. I suppose it’s because of some settings for OpenGL. If I try in terminal glxgears, it tries to start, but crashes with message: Segmentation fault (core dumped). So, that’s a symptom.
Could somebody tell me how I can repair it?

I cannot tell how to “repair it”, but how one would diagnose it.

Terminal:

glxinfo | grep "OpenGL"
journalctl --dmesg --grep "nouveau"
sudo dmesg | greo "nouveau"

However a 16years old gpu … I don’t give it much chance to stays alive properly on a rolling release and even if it survived a long time.

Ok, let’s diagnose.

[dais@daisg ~]$ glxinfo | grep "OpenGL"
OpenGL vendor string: nouveau
OpenGL renderer string: NV46
OpenGL version string: 2.1 Mesa 22.1.7
OpenGL shading language version string: 1.20
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 22.1.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:

dais@daisg ~]$ journalctl --dmesg --grep "nouveau"
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: vgaarb: deactivate vga console
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: NVIDIA G72 (046700a3)
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: bios: version 05.72.22.54.22
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: fb: 256 MiB DDR2
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: VRAM: 252 MiB
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: GART: 512 MiB
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: TMDS table version 1.1
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: TMDS table script pointers not stubbed
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB version 3.0
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB outp 00: 03005323 00000004
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB outp 01: 01010300 00000028
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB outp 02: 020323f1 00a0c030
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 00: 0000
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 01: 1130
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 02: 0210
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 03: 0211
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 04: 0213
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 05: 0340
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: DCB conn 06: 2431
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: MM: using M2MF for buffer copies
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: Calling LVDS script 6:
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: 0xC28D: Parsing digital output script tab>
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: Setting dpms mode 3 on TV encoder (output>
Sep 20 10:41:33 daisg kernel: nouveau 0000:01:00.0: DRM: allocated 1680x1050 fb: 0x9000, bo 000000>
Sep 20 10:41:33 daisg kernel: fbcon: nouveaudrmfb (fb0) is primary device
Sep 20 10:41:34 daisg kernel: nouveau 0000:01:00.0: DRM: Calling LVDS script 2:
Sep 20 10:41:34 daisg kernel: nouveau 0000:01:00.0: DRM: 0xC303: Parsing digital output script tab>
Sep 20 10:41:34 daisg kernel: nouveau 0000:01:00.0: DRM: Calling LVDS script 5:
Sep 20 10:41:34 daisg kernel: nouveau 0000:01:00.0: DRM: 0xC27E: Parsing digital output script tab>
Sep 20 10:41:34 daisg kernel: nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
Sep 20 10:41:34 daisg kernel: [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0
lines 1-31/31 (END)

[dais@daisg ~]$ sudo dmesg | grep "nouveau"
[sudo] password for dais: 
[    8.148088] nouveau 0000:01:00.0: vgaarb: deactivate vga console
[    8.148231] nouveau 0000:01:00.0: NVIDIA G72 (046700a3)
[    8.190530] nouveau 0000:01:00.0: bios: version 05.72.22.54.22
[    8.191271] nouveau 0000:01:00.0: fb: 256 MiB DDR2
[    8.331224] nouveau 0000:01:00.0: DRM: VRAM: 252 MiB
[    8.331227] nouveau 0000:01:00.0: DRM: GART: 512 MiB
[    8.331232] nouveau 0000:01:00.0: DRM: TMDS table version 1.1
[    8.331234] nouveau 0000:01:00.0: DRM: TMDS table script pointers not stubbed
[    8.331237] nouveau 0000:01:00.0: DRM: DCB version 3.0
[    8.331240] nouveau 0000:01:00.0: DRM: DCB outp 00: 03005323 00000004
[    8.331243] nouveau 0000:01:00.0: DRM: DCB outp 01: 01010300 00000028
[    8.331246] nouveau 0000:01:00.0: DRM: DCB outp 02: 020323f1 00a0c030
[    8.331248] nouveau 0000:01:00.0: DRM: DCB conn 00: 0000
[    8.331251] nouveau 0000:01:00.0: DRM: DCB conn 01: 1130
[    8.331253] nouveau 0000:01:00.0: DRM: DCB conn 02: 0210
[    8.331255] nouveau 0000:01:00.0: DRM: DCB conn 03: 0211
[    8.331257] nouveau 0000:01:00.0: DRM: DCB conn 04: 0213
[    8.331259] nouveau 0000:01:00.0: DRM: DCB conn 05: 0340
[    8.331261] nouveau 0000:01:00.0: DRM: DCB conn 06: 2431
[    8.332491] nouveau 0000:01:00.0: DRM: MM: using M2MF for buffer copies
[    8.349482] nouveau 0000:01:00.0: DRM: Calling LVDS script 6:
[    8.349494] nouveau 0000:01:00.0: DRM: 0xC28D: Parsing digital output script table
[    8.644317] nouveau 0000:01:00.0: DRM: Setting dpms mode 3 on TV encoder (output 2)
[    9.000883] nouveau 0000:01:00.0: DRM: allocated 1680x1050 fb: 0x9000, bo 0000000010ab2b3b
[    9.070528] fbcon: nouveaudrmfb (fb0) is primary device
[    9.197704] nouveau 0000:01:00.0: DRM: Calling LVDS script 2:
[    9.197713] nouveau 0000:01:00.0: DRM: 0xC303: Parsing digital output script table
[    9.388375] nouveau 0000:01:00.0: DRM: Calling LVDS script 5:
[    9.388383] nouveau 0000:01:00.0: DRM: 0xC27E: Parsing digital output script table
[    9.390936] nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
[    9.417361] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0

@dais

Nothing strange in the logs… which applications do you mean?

Note that any application which needs anything higher than OpenGL 2.1, will just crash or don’t work as expected.

Run this in the terminal to follow the logs:

sudo dmesg --follow

and run your OpenGL Application. Any errors there?

Also run your OpenGL Application in the terminal. Most have a verbose output there.

So applications:

[dais@daisg ~]$ kicad
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!
temp:75 - out of temps!!

and garbage on a screen, yet:



Screen resolution of 1280x1024 works but 1920x1080 or higher is recommended. At lower resolutions toolbar buttons may be hidden but corresponding commands should be reachable via menu.

Graphics card with OpenGL 2.1 or greater that supports hardware shaders. Check the OpenGL specs of the card:

    Intel: cards that are reported working start from model HD2000 and higher.

    NVIDIA: from NVIDIA support page: http://www.nvidia.com/object/nv_ogl2_support.html NVIDIA support for OpenGL 2.0 begins with the Release 75 series of drivers. GeForce FX (NV3x), GeForce 6 Series (NV4x), NV3xGL-based Quadro FX and NV4xGL-based Quadro FX GPUs, and all future NVIDIA GPUs support OpenGL 2.0.

    AMD/ATI: should work any modern Radeon GPU

SweetHome3D in its log is barking at Java, so I have problem with java also.

Possible that the application doesn’t read the opengl version correctly… last approach I would try this:

MESA_GL_VERSION_OVERRIDE=2.1 kicad

However… overwriting the version number can work, but it is a hacky way, since it reports to the application, that the gpu is capable of more opengl functions than it really can.

1 Like

This way its not working ether. Thank you for your help. I’ll try to find it out anyways because it is working on Debian 11. I’ll take a look there.