pop-os / pop

A project for managing all Pop!_OS sources
https://system76.com/pop
2.48k stars 87 forks source link

Vice 3.4, 3.6, 3.6.1 are all broken due to vertex shader problems after update to LTS release. #2497

Open sam-falvo opened 2 years ago

sam-falvo commented 2 years ago

Distribution (run cat /etc/os-release):

 kc5tja@pop-os:~/Downloads/vice-3.6.1/data/SCPU64$ cat /etc/os-release
NAME="Pop!_OS"
VERSION="22.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 22.04 LTS"
VERSION_ID="22.04"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
LOGO=distributor-logo-pop-os

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

kc5tja@pop-os:~/Downloads/vice-3.6.1/data/SCPU64$ apt policy vice
vice:
  Installed: 3.6.1+dfsg-2
  Candidate: 3.6.1+dfsg-2
  Version table:
 *** 3.6.1+dfsg-2 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages
        100 /var/lib/dpkg/status

Issue/Bug Description:

I recently performed a Pop_OS! update to the latest version, indicated above. I tried running Vice, but it broke. I figured, no biggie, I'll delete the source build I created, and update to the latest package instead. The package installed without errors. However, when running the xscpu64 binary, it remains broken. This suggests the problem is not with Vice, but is with something to do with the graphics subsystem instead, and that is a Pop_OS! thing.

kc5tja@pop-os:~/Downloads/vice-3.6.1/data/SCPU64$ xscpu64
...
DriveROM: Error - D9090/9060 ROM image not found. Hardware-level D9090/9060 emulation is not available.
Drive: Finished loading ROM images.
VIC-II: Initializing chip model "MOS8565" (63 cycles per line, 312 raster lines).
Error - Failed to obtain pixbuf for SCPU64.svg, Error: The resource at “/org/pokefinder/vice/SCPU64.svg” does not exist
using GTK3 backend: OpenGL
GLX version: 1.4
Getting matching framebuffer configs
Found 112 matching FB configs.
Obtained OpenGL 4.6 context
      Vendor: Intel
    Renderer: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
     Version: 4.6 (Core Profile) Mesa 22.0.1
      Legacy: no
Direct GLX rendering context obtained
Swap control support. glXSwapIntervalMESA: 1 glXSwapIntervalEXT: 1 glXSwapIntervalSGI: 1
Error - Could not open vertex shader: viewport.vert

(xscpu64:385641): Gdk-CRITICAL **: 19:48:11.634: gdk_frame_clock_idle_end_updating: assertion 'priv->updating_count > 0' failed

Steps to reproduce (if you know):

See above.

Expected behavior:

I expected a window with the "Commodore BASIC V2" banner to be displayed.

Other Notes:

pararaum commented 9 months ago

I had the same problem, this was caused by setting the directory for system files with "-directory" and a missing "GLSL" directory. These files are needed to run the vice emulator.