Bug 2279910 - gnubg is missing GL rendering
Summary: gnubg is missing GL rendering
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnubg
Version: 40
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL: https://kojipkgs.fedoraproject.org/wo...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-05-09 18:21 UTC by Nikolas Nyby
Modified: 2024-05-23 01:13 UTC (History)
1 user (show)

Fixed In Version: gnubg-1.08.003-4.fc40 gnubg-1.08.003-4.fc39
Clone Of:
Environment:
Last Closed: 2024-05-14 15:58:23 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Nikolas Nyby 2024-05-09 18:21:42 UTC
gnubg's build process assumes --with-board3d by default, which looks for
certain libraries which are missing in the current build. See:
    
https://kojipkgs.fedoraproject.org/work/tasks/7635/117407635/build.log
```
    checking for glu... no
    configure: WARNING: no glu support
...
    checking for gtkglext-1.0 >= 1.0... no
    configure: WARNING: no gtkglext support
```

These warnings prevent the 3d rendering options from being enabled in Fedora's build for this package.

It looks like we need to add the following lines to the gnubg.spec file:
BuildRequires: gtkglext-devel
BuildRequires: mesa-libGLU-devel
Requires: gtkglext-libs
Requires: mesa-libGLU

Reproducible: Always

Steps to Reproduce:
1. Open gnubg
2. Click Settings -> Board Appearance 
3. Click "General" tab

Actual Results:  
3D rendering options are not available

Expected Results:  
3D options are available (https://www.gnu.org/software/gnubg/manual/html_node/Appearance.html)

Screenshot of Fedora's build missing 3D options:
https://i.ibb.co/0y7Fv3k/Screenshot-2024-05-09-14-17-58.png

Comment 1 Gwyn Ciesla 2024-05-09 20:29:10 UTC
Thank you, good catch. We actually only need

BuildRequires: gtkglext-devel
BuildRequires: mesa-libGLU-devel

Because the rpm build will detect the linked library dependency and require the binary packages.

However, when I build it as such, it works, and gives me a 3D board option, but then crashes during my first move.

I'll dig a bit.

Comment 2 Gwyn Ciesla 2024-05-09 20:50:02 UTC
Ah, if I build with the gtk3 interface rather than gtk2, it's fine.

Still doesn't make me any good at backgammon...

Update coming PDQ.

Comment 3 Fedora Update System 2024-05-09 21:17:36 UTC
FEDORA-2024-072e6a534e (gnubg-1.08.003-2.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-072e6a534e

Comment 4 Fedora Update System 2024-05-09 21:17:37 UTC
FEDORA-2024-b4d45bfd58 (gnubg-1.08.003-2.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-b4d45bfd58

Comment 5 Nikolas Nyby 2024-05-09 22:24:31 UTC
Interesting, yeah I was able to make my own build using the default gtk2 + GL and it worked fine on my Fedora 40 system.. but if gtk3 resolves your issue maybe it's best to go with that. The upstream configure.ac notes that gtk3 support in gnubg is "Experimental"... but that was noted in 2016 and it may be in a more stable place now.

Comment 6 Fedora Update System 2024-05-10 01:50:58 UTC
FEDORA-2024-072e6a534e has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-072e6a534e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-072e6a534e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2024-05-10 02:18:47 UTC
FEDORA-2024-b4d45bfd58 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-b4d45bfd58`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-b4d45bfd58

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Nikolas Nyby 2024-05-10 13:39:43 UTC
I'm seeing glitchy behavior on the gtk3 build. To reproduce: 
* Start a game with the appearance set to 3D boards 
* Click Settings -> Board Appearance 
* Click right to the various texture settings - these textures are all blank 
* Cancel out of this dialog, and attempt to play the game

I see "OpenGL error: invalid value" in the shell, and sometimes "Segmentation fault (core dumped)"

It looks to be a known issue - gtk3 support is in place for 2D boards, but there are still some upstream changes necessary for full gtk3 support: https://www.mail-archive.com/bug-gnubg@gnu.org/msg07817.html

Comment 9 Gwyn Ciesla 2024-05-10 17:11:30 UTC
Ok, I'll revert to gtk2 and see what's what.

Comment 10 Gwyn Ciesla 2024-05-10 17:27:08 UTC
(In reply to Nikolas Nyby from comment #5)
> Interesting, yeah I was able to make my own build using the default gtk2 +
> GL and it worked fine on my Fedora 40 system.. but if gtk3 resolves your
> issue maybe it's best to go with that. The upstream configure.ac notes that
> gtk3 support in gnubg is "Experimental"... but that was noted in 2016 and it
> may be in a more stable place now.

Can you attach your spec? Mine still crashes, even after applying a few upstream patches from master that I thought might help.

Comment 11 Nikolas Nyby 2024-05-10 18:10:54 UTC
So, I wasn't using a spec file for my custom build, I was just doing it manually, with
the configure command something like this:

./configure --with-python=no --with-board3d --with-gtk --prefix=$HOME/local
make
make install

These steps make a usable gnubg on my system.

The crash you are seeing may actually be a bug in the upstream 3D code - 
it looks like Ubuntu's build for this package disables the 3D board because of
some Mesa issues, which may be what you're seeing.
https://git.launchpad.net/ubuntu/+source/gnubg/tree/debian/rules#n44

Maybe it's best to follow Ubuntu's method of just disabling the 3D board, and that
way we can still update to gtk3 because it's apparently stable with the 2D board.


If someone really wants to make use of the 3D board they can just do a manual build
with gtk2 like I did. I might take a look at the code and see if I can fix things up
there as I'm kind of curious if they can be fixed now.

Comment 12 Fedora Update System 2024-05-10 21:47:23 UTC
FEDORA-2024-d4dd0ffb09 (gnubg-1.08.003-3.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-d4dd0ffb09

Comment 13 Fedora Update System 2024-05-10 21:47:23 UTC
FEDORA-2024-4d25e7c8fb (gnubg-1.08.003-3.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-4d25e7c8fb

Comment 14 Fedora Update System 2024-05-11 02:43:21 UTC
FEDORA-2024-d4dd0ffb09 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-d4dd0ffb09`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-d4dd0ffb09

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2024-05-11 03:52:26 UTC
FEDORA-2024-4d25e7c8fb has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-4d25e7c8fb`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-4d25e7c8fb

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Nikolas Nyby 2024-05-14 15:58:23 UTC
I'm closing this bug as I opened it specifically for GL rendering, but it turns out there are upstream issues that must be addressed first.

Comment 17 Fedora Update System 2024-05-15 14:53:57 UTC
FEDORA-2024-08ec2eac7a has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-08ec2eac7a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-08ec2eac7a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 18 Fedora Update System 2024-05-15 16:16:35 UTC
FEDORA-2024-b0bc7353e9 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-b0bc7353e9`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-b0bc7353e9

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 19 Fedora Update System 2024-05-23 01:08:37 UTC
FEDORA-2024-b0bc7353e9 (gnubg-1.08.003-4.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 20 Fedora Update System 2024-05-23 01:13:51 UTC
FEDORA-2024-08ec2eac7a (gnubg-1.08.003-4.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.