Score:0

Configuring OpenGL ES to work with i915 driver

ph flag

I have an old Lenovo Yoga 2 that I've been configuring as a backup laptop. This past week I put a fresh install of Ubuntu 20.04.3 on it.

I'm having issues with getting OpenGL ES to work on it properly (I think). This found while working on installing touche (the gui for touchegg), for supporting both trackpad and touchscreen gestures.

I've successfully installed touchegg and touche following these links (main, touche)

I cannot start the touche gui from the system app launcher (it tries to open, and then closes itself), and when running the flatpak run com.github.joseexposito.touche from the command line, I see the following (trimming the successful verbose output):

libEGL warning: MESA-LOADER: failed to retrieve device information

libEGL warning: DRI2: could not open /dev/dri/card0 (No such file or directory)
libGL error: MESA-LOADER: failed to retrieve device information

...

(com.github.joseexposito.touche:2): Gtk-CRITICAL **: 23:37:59.852: gtk_grid_attach: assertion '_gtk_widget_get_parent (child) == NULL' failed

(com.github.joseexposito.touche:2): Gtk-CRITICAL **: 23:37:59.852: gtk_grid_attach: assertion '_gtk_widget_get_parent (child) == NULL' failed

...

No provider of glGetShaderiv found.  Requires one of:
    Desktop OpenGL 2.0
    OpenGL ES 2.0

I'm pretty unfamiliar with configuring my linux setup still, but was able to suss out that my hardware doesn't support above OpenGL ES 2.1 (link1 link2)

When I run glxinfo | grep 'version', I get the following, showing I'm running OpenGL ES 3.0:

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 4.2
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 4.2 (Core Profile) Mesa 21.2.4 - kisak-mesa PPA
OpenGL core profile shading language version string: 4.20
OpenGL version string: 3.0 Mesa 21.2.4 - kisak-mesa PPA
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.2.4 - kisak-mesa PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

OpenGL ES should be backwards compatible. If my hardware can only support OpenGL ES 2.1, and this application needs OpenGL ES 2.0, perhaps having 3.0 installed means OpenGL ES just won't work at all? ?

I looked into trying to understand whether I needed to downgrade, but it seems like the answer might be no, or that doing so would be potentially difficult.

I dug very briefly into whether I needed to do something with my kernel (perhaps a downgrade?), but most of the references seemed to point to upgrades solving issues, and I didn't look as closely into it.

I also confirmed that /dev/dri/card0 exists, and tried this solution (plus a fresh reboot), but am still seeing the same behavior.

gabby@tiny:/dev/dri$ ls -al
total 0
drwxr-xr-x   3 root root        100 Oct 25 20:53 .
drwxr-xr-x  22 root root       4600 Oct 25 22:05 ..
drwxr-xr-x   2 root root         80 Oct 25 20:53 by-path
crw-rw----+  1 root video  226,   0 Oct 25 22:05 card0
crw-rw----+  1 root render 226, 128 Oct 25 22:05 renderD128

I considered potentially using a different *nix os, but my performance otherwise is fine. The only issue (so far as I can tell) is related to not being able to run OpenGL properly. (ex: I also cannot launch the dropbox gui, which makes me think this would affect a lot of different apps potentially)

  • if changing OS's is the solution though, I'd really appreciate a distro recommendation (and version, if i need an older one)

Here's more info about my system:

output of inxi -Fxxxrz

System:    Kernel: 5.11.0-38-generic x86_64 bits: 64 compiler: N/A Desktop: Gnome 3.36.9 wm: gnome-shell 
           dm: GDM3 3.36.3 Distro: Ubuntu 20.04.3 LTS (Focal Fossa) 
Machine:   Type: Laptop System: LENOVO product: 20332 v: Lenovo Yoga 2 11 serial: <filter> Chassis: type: 10 
           v: Lenovo Yoga 2 11 serial: <filter> 
           Mobo: LENOVO model: AIUU1 v: 31900049WIN serial: <filter> UEFI: LENOVO v: 92CN30WW(V1.10) date: 05/16/2014 
Battery:   ID-1: BAT0 charge: 9.0 Wh condition: 29.1/34.0 Wh (86%) volts: 7.2/7.4 model: Lenovo Yoga 2 11 
           type: Unknown serial: <filter> status: Discharging 
CPU:       Topology: Quad Core model: Intel Pentium N3530 bits: 64 type: MCP arch: Silvermont rev: 8 
           L2 cache: 1024 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 17333 
           Speed: 566 MHz min/max: 500/2582 MHz Core speeds (MHz): 1: 524 2: 690 3: 1065 4: 614 
Graphics:  Device-1: Intel Atom Processor Z36xxx/Z37xxx Series Graphics & Display vendor: Lenovo driver: i915 
           v: kernel bus ID: 00:02.0 chip ID: 8086:0f31 
           Display: x11 server: X.Org 1.20.11 driver: i915 compositor: gnome-shell resolution: 1366x768~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics (BYT) v: 4.2 Mesa 21.2.4 - kisak-mesa PPA compat-v: 3.0 
           direct render: Yes 
Audio:     Device-1: Intel Atom Processor Z36xxx/Z37xxx Series High Definition Audio vendor: Lenovo 
           driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:0f04 
           Sound Server: ALSA v: k5.11.0-38-generic 
Network:   Device-1: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter vendor: Lenovo driver: ath9k v: kernel 
           port: 1000 bus ID: 01:00.0 chip ID: 168c:0036 
           IF: wlp1s0 state: up mac: <filter> 
           Device-2: Qualcomm Atheros AR3012 Bluetooth 4.0 type: USB driver: btusb bus ID: 1-2.4:11 chip ID: 0cf3:3004 
Drives:    Local Storage: total: 223.57 GiB used: 12.61 GiB (5.6%) 
           ID-1: /dev/sda vendor: PNY model: CS900 240GB SSD size: 223.57 GiB speed: 3.0 Gb/s serial: <filter> 
           rev: 0J13 scheme: GPT 
Partition: ID-1: / size: 218.57 GiB used: 12.58 GiB (5.8%) fs: ext4 dev: /dev/sda2 
Sensors:   System Temperatures: cpu: 56.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Repos:     Active apt repos in: /etc/apt/sources.list 
           1: deb http://us.archive.ubuntu.com/ubuntu/ focal main restricted
           2: deb http://us.archive.ubuntu.com/ubuntu/ focal-updates main restricted
           3: deb http://us.archive.ubuntu.com/ubuntu/ focal universe
           4: deb http://us.archive.ubuntu.com/ubuntu/ focal-updates universe
           5: deb http://us.archive.ubuntu.com/ubuntu/ focal multiverse
           6: deb http://us.archive.ubuntu.com/ubuntu/ focal-updates multiverse
           7: deb http://us.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
           8: deb http://security.ubuntu.com/ubuntu focal-security main restricted
           9: deb http://security.ubuntu.com/ubuntu focal-security universe
           10: deb http://security.ubuntu.com/ubuntu focal-security multiverse
           Active apt repos in: /etc/apt/sources.list.d/kisak-ubuntu-kisak-mesa-focal.list 
           1: deb http://ppa.launchpad.net/kisak/kisak-mesa/ubuntu focal main
           Active apt repos in: /etc/apt/sources.list.d/touchegg-ubuntu-stable-focal.list 
           1: deb http://ppa.launchpad.net/touchegg/stable/ubuntu focal main
Info:      Processes: 262 Uptime: 2h 36m Memory: 3.73 GiB used: 2.40 GiB (64.3%) Init: systemd v: 245 runlevel: 5 
           Compilers: gcc: 9.3.0 alt: 9 Shell: bash v: 5.0.17 running in: gnome-terminal inxi: 3.0.38 

Thank you in advance for any help you can provide for solving this puzzle!

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.