OpenGL on a GMA3150

For drivers and kernel modules.
Post Reply
Message
Author
Thaumaturge
Posts: 6
Joined: Wed 07 Nov 2018, 16:17

OpenGL on a GMA3150

#1 Post by Thaumaturge »

Before I begin, let me say that I'm rather new to Puppy, and not the most familiar with Linux in general.

I have an old netbook that I'd like to make use of. Alas, it doesn't have a working hard-drive, but with Puppy I'm able to boot from a USB drive and store data on an SD card. As far as that goes, it works, and seems to work well.

The problem lies with getting OpenGL to work properly--for at least some of the purposes that I have in mind, OpenGL support seems to be called for.

As mentioned in the subject-line, the machine has an Intel GMA 3150 graphics chip.

(I have had it working on this machine, as I recall. However, that was some time ago, back when the machine had a working hard-drive, and when I was running Ubuntu on it.)

Having searched around somewhat already, I've installed "driconf" and applied the two settings that I've seen suggested. (I believe that those were "Enable limited ARB_fragment_shader_support on 915/945" and "Enable stub ARB_occlusion_query support on 915/945", one of which was already set, I think.)

Nevertheless, OpenGL 2 support seems to elude me.

At one point I discovered (as a result of a forum post somewhere, I think) that certain OpenGL symlinks in /usr/lib were pointing to invalid locations.

Now, I seem to have (at least) two folders related to OpenGL libraries: "/usr/X11R7", and "/usr/lib/mesa". Both contain versions of OpenGL ".so" files, it seems, although the former has more.

If I point the symlinks at the "X11R7" directory, attempts to run "glxgears" or "glxinfo" produce "BadValue" errors.

If I point them at the "mesa" directory, things work, and "glxinfo" even reports an OpenGL version string of "2.1". (And a Mesa version of "17.0.7".) However, attempts to run other 3D applications, in particular Blender and a model-viewing application that comes with a particular game-engine, fail.

The model-viewer reports "Unable to load: /usr/lib/libGL.so.1: undefined symbol: drmOpenOnce". Blender simply reports a segmentation fault. :/

So, any insight into this? How might I get OpenGL working properly?

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#2 Post by bigpup »

What is the computer?
Make and model?

What version of Puppy are you trying to use?

Not all Puppy versions are the same.
Intel graphics hardware support, is very different, depending on what version of Puppy you are trying to use.

After you give us the info about the computer.
You may just be trying to use the wrong version of Puppy.

The newest version of Puppy would be best to try if the computer will handle it.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

Thaumaturge
Posts: 6
Joined: Wed 07 Nov 2018, 16:17

#3 Post by Thaumaturge »

Thank you for the response. ^_^

The computer is a Gigabyte Q2005. You can see the spec. for it at this link, I believe.

As for Puppy, I hope that I'm looking in the right place--this is from the file "/etc/DISTRO_SPECS". If I should be looking elsewhere, please tell me!

According to that file:

The "distro name" is "xenialpup"
The "distro version" is "7.5"
The "distro binary compat" is "ubuntu"

The full contents of the file follow:

Code: Select all

#One or more words that identify this distribution:
DISTRO_NAME='xenialpup'
#version number of this distribution:
DISTRO_VERSION=7.5
#The distro whose binary packages were used to build this distribution:
DISTRO_BINARY_COMPAT='ubuntu'
#Prefix for some filenames: exs: xenialsave.2fs, xenial-7.5.sfs
DISTRO_FILE_PREFIX='xenialpup'
#The version of the distro whose binary packages were used to build this distro:
DISTRO_COMPAT_VERSION='xenial'
#read by /usr/bin/xwin to bypass Xorg Wizard at first boot:
DISTRO_XORG_AUTO='yes'
DISTRO_KERNEL_PET='Huge_Kernel'
DISTRO_DB_SUBNAME='xenial'
DISTRO_ARCHDIR='i386-linux-gnu'
DISTRO_TARGETARCH='x86'
BUILD_FROM_WOOF='testing;5030138;2017-11-19 15:20:27 +0200'
#Puppy default filenames...
#Note, the 'SFS' files below are what the 'init' script in initrd.gz searches for,
#for the partition, path and actual files loaded, see PUPSFS and ZDRV in /etc/rc.d/PUPSTATE
DISTRO_PUPPYSFS='puppy_xenialpup_7.5.sfs'
DISTRO_ZDRVSFS='zdrv_xenialpup_7.5.sfs'
DISTRO_FDRVSFS='fdrv_xenialpup_7.5.sfs'
DISTRO_ADRVSFS='adrv_xenialpup_7.5.sfs'
DISTRO_YDRVSFS='ydrv_xenialpup_7.5.sfs'
DISTRO_PUPPYDATE='Nov 2017'
#multiarch distros, such as Ubuntu, will have this. ex: /usr/lib/i386-linux-gnu, so DISTRO_ARCHDIR=i386-linux-gnu
DISTRO_ARCHDIR='i386-linux-gnu'

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#4 Post by bigpup »

menu>System>Pup-sysinfo>Devices>Display>Summary

What driver does it say is being used?

Should also have info about OpenGL.

If you highlight this info.
Right click and select copy.
You can paste it in your next post.

You should have working OpenGL if everything is working correctly.

In a console.
Enter

Code: Select all

glxgears
That will give you a OpenGl running test program.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

Thaumaturge
Posts: 6
Joined: Wed 07 Nov 2018, 16:17

#5 Post by Thaumaturge »

The output from "PupSysInfo"

Code: Select all

Display Specifications:
• Monitor VertRefresh: 60.00 times/s
• Screen Dimensions: 1024x600 pixels (270x158 millimeters)
• Screen Depth: 24 bits (planes)

Xorg Startup Log (/var/log/Xorg.0.log):
• Xorg Driver in use: intel
• Loaded Modules: dbe dri2 fbdevhw glx kbd mouse present
• X.Org version: 1.18.4

OpenGL 2D/3D Rendering:
• Direct Rendering: Yes
• Vendor: Intel Open Source Technology Center
• Renderer: Mesa DRI Intel(R) Pineview M x86/MMX/SSE2
• Version: 2.1 Mesa 17.0.7

VGA controller [0300]: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller [8086:a011] (rev 02)
• Kernel Driver: i915
• Memory Used by Driver: 921.30 KB
• Path: /lib/modules/4.4.95/kernel/drivers/gpu/drm/i915/i915.ko
• Description: Intel Graphics
• Video RAM: 256M
As to "glxgears", it does indeed run, but other than giving a frame-rate, it doesn't seem to indicate what level of OpenGL support is present. (And I think that it ran before I used the above-mentioned "driconf" fixes, when OpenGL 1 was being reported.)

Again, this holds when the symlinks mentioned above are pointed at the "mesa" folder; when they're pointed at the "X11R7" folder not even "glxgears" or "glxinfo" run, if I recall correctly.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#6 Post by bigpup »

"/usr/X11R7"
In my install of a clean Xenialpup 7.5 I do not have this.

Is this what you tried to do?
http://www.murga-linux.com/puppy/viewto ... 395#976395

I am wondering if you got a good install of Xenialpup 7.5 and a good download of the iso.

The USB flash drive you used.
Was it ever used by Windows?
If yes.
If you did not do a fresh format of the drive partition, there is a good chance Windows fragmented the file system.
If you install Xenialpup to it. Xenialpup will be fragmented and that can cause all kinds of problems.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

Thaumaturge
Posts: 6
Joined: Wed 07 Nov 2018, 16:17

#7 Post by Thaumaturge »

bigpup wrote:
"/usr/X11R7"
In my install of a clean Xenialpup 7.5 I do not have this.
Odd. o_0

I've tried a few things in attempting to get OpenGL 2 working, so it's possible that I've installed something and forgotten about it.

It might be worth nothing that, if I recall correctly, when I first discovered the broken symlinks they were attempting to point at a directory named "X11" (without the "R7"), which doesn't exist.
bigpup wrote: Is this what you tried to do?
http://www.murga-linux.com/puppy/viewto ... 395#976395
That looks like more or less the same thing, yes--save that I did it through "driconf"'s graphical interface.

Hmm... Looking at what they say there, I wonder whether it might not be a good idea to attempt to load an older version of the Mesa drivers. What do you think?
bigpup wrote: I am wondering if you got a good install of Xenialpup 7.5 and a good download of the iso.

The USB flash drive you used.
Was it ever used by Windows?
If yes.
If you did not do a fresh format of the drive partition, there is a good chance Windows fragmented the file system.
If you install Xenialpup to it. Xenialpup will be fragmented and that can cause all kinds of problems.
It is likely that the drive has been used by Windows, although I think that I've formatted the drive since then. Indeed, looking at the drive, I'm reminded that I used Ubuntu's "Disk Image Writer" to write a puppy ISO onto the drive, which I seem to recall formats it.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#8 Post by bigpup »

After doing the below suggestions.
Now try only what it says to do here:
http://www.murga-linux.com/puppy/viewto ... 395#976395

With Puppy and the way Puppies file system works. You have to be careful doing too much, that does not follow the Puppy way of doing things.

Finding symbolic links that do not point to correct locations is not normal.
A cleanly installed Xenialpup should have all symbolic links working. Yes there are some in Xenialpup.

I would try:
A fresh new download of the Xenialpup 7.5 iso
http://distro.ibiblio.org/puppylinux/pu ... 5-uefi.iso
A fresh new clean install of Xenialpup 7.5
If you have one, use a different USB flash drive.
Nothing on it and freshly formatted.
New USB flash drives are going to come formatted fat32.
The format is up to you. However, some installer programs are only going to want to see fat32.

Probably not needed, but you never know.
Always good to work from a good known condition.

Just to make sure, I would use Gparted program in Xenialpup to check the drive before using it.
The drive has to be unmounted.
Start Gparted with the new USB drive selected as the one to look at.
Right click on a displayed partition.
Select check.
That runs a complete file-system check and repair.

Now booted with this clean fresh install of Xenialpup 7.5.
First shutdown making a save. ( make a big save)
Reboot after making a save.
Now running Xenialpup, using a save, try the OpenGL fix.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#9 Post by bigpup »

Understand that Linux programs that were not compiled for Puppy, usually can have problems.

This is just something you have to deal with in Linux.


best to get stuff from this forum.
Still need to look at what version of Puppy it says it should work on.

The Puppy Package Manager.
It can get stuff from non-Puppy repositories that will work, but sometimes they make no menu entries or do not install all needed dependencies.

Xenialpup has Quickpet that offers stuff specifically for Xenialpup.

If you can get this OpenGL 2 issue fixed.

If a Linux program you want to use is not working OK.
Post a new topic about it.
With some help, usually someone on this forum can get you to a working program.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#10 Post by bigpup »

Xenialpup 7.5 is the 32bit version.
Xenialpup64 7.5 is the 64bit version.

You say you are using Xenialpup 7.5 (32bit)

The programs you are trying to get working are 32bit Linux programs?
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

Thaumaturge
Posts: 6
Joined: Wed 07 Nov 2018, 16:17

#11 Post by Thaumaturge »

bigpup wrote:Understand that Linux programs that were not compiled for Puppy, usually can have problems.
Aah, it looks as though my problems lay in part here. Prompted by your post, I explored this possibility further, and seem to have made progress.

To start with, Blender: I had been using a copy of Blender 2.78c downloaded from the Blender website, and unzipped to a directory. Done that way, it didn't work.

However, a copy of Blender installed from the package manger did work.

Unfortunately, the version of Blender in the package manager is 2.76b. To be confident of files loading and exporting correctly, and of it operating with the exporter that I use, I'd very much prefer to have the same version running on Puppy as I have on my primary computer. I may well make another thread for this!

Second, regarding the game-engine's model-viewer: with much hunting around, installing of additional components, and the aid of an old thread on the game engine's forum, I seem to have it working!

So, in the end it seems that OpenGL 2 might well be working on my machine! ^_^

Thank you very much for the help, and my apologies for the mistaken diagnosis of the problem on my part!

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#12 Post by bigpup »

Great to see I was some help!

In the Puppy Package Manager(PPM)
PPM>configure>Update Database>Update Now
Update the database and see if there may now be a newer version of Blender listed.

I am using Bionicpu64 7.9.6 which access some newer Ubuntu repositories.
PPM shows Blender 2.79.b for download.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

Thaumaturge
Posts: 6
Joined: Wed 07 Nov 2018, 16:17

#13 Post by Thaumaturge »

Hmm... Updating my Xenial-based version doesn't seem to show a new version of Blender, alas.

As to the Bionic-based version, I'm downloading "UPupBB" from this thread. Hopefully this is the correct version! (I don't see one called "BionicPup", offhand.) It's good to know that a newer version of Blender is indeed available! ^_^

Post Reply