Menu

#2081 Windows GTK UI Broken

v3.x
pending-fixed
compyx
None
User Interface
2024-12-10
2024-10-22
Fungus
No

Since R45356 the GTK Window UI is completely broken. Going to help > about VICE gets CTD, settings menu doesn't function at all, etc.

Reverting to R45355 works again.

OS Windows 11 Pro, latest patch, drivers etc.

Discussion

1 2 > >> (Page 1 of 2)
  • gpz

    gpz - 2024-10-23

    Are you building VICE yourself or something?

    https://sourceforge.net/p/vice-emu/code/45356/

    no way this is breaking anything :)

     
    • Fungus

      Fungus - 2024-10-23

      No, I am not building it myself.

      I'm just the messenger. It most certainly doesn't work, tried it again.

      I used default settings too.

       

      Last edit: Fungus 2024-10-23
  • Querino

    Querino - 2024-10-23

    works for me, windows 11

     
  • Fungus

    Fungus - 2024-10-23

    It was the font registration, had to reboot.

    Someone should really make an installer...

     
    • Fungus

      Fungus - 2024-10-23

      Scratch that, it's broken here. Checked wrong archive.

       
  • Fungus

    Fungus - 2024-10-23

    43456 works 43459 doesn't.

     
    • Querino

      Querino - 2024-10-24

      no idea why, but as said, r43459 works for me in windows 11.

      but i got crashes when i opened the monitor font settings on my older windows 7. not sure if this always happens. and yeah, i get it, windows 7 isn't supported anymore.

       
  • Fungus

    Fungus - 2024-10-24

    I get no menu options , the expansion arrows are missing. Also the crash when opening the help menu and selecting about vice.

    I am not using Windows 7, I am using 11 pro.

     

    Last edit: Fungus 2024-10-24
  • docdoster

    docdoster - 2024-10-24

    On Windows 10 . Similar crashes to desktop upon selection of menu items. Using https://github.com/VICE-Team/svn-mirror/releases/tag/r45359, vice.log attached. Something to do with loading svg files?
    R45355 also works for me. To note, the libpixbufloader-svg.dll file is in place under \lib\gdk-pixbuf-2.0\2.10.0\loaders in this build and is absent in R45359.
    Maybe a build script problem?

     

    Last edit: docdoster 2024-10-24
    • compyx

      compyx - 2024-10-25

      Indeed sounds like something goes wrong copying the required DLLs for VICE. Perhaps MSYS has updated its Gtk packages, moving the libpixbufload-svg.dll to some other location, making our bindist script fail.

      I'll take a look. I haven't updated MSYS for a while, so if the bindist script still works locally that would definitely point to an issue with our script and MSYS.

       
    • Querino

      Querino - 2024-10-25

      Ah i see, my fault, i didn't overwrite these files...

      for me, as a workaround, i replaced the \lib\gdk-pixbuf-2.0\2.10.0\loaders.cache with the older one, and copy over the missing \lib\gdk-pixbuf-2.0\2.10.0\loaders\libpixbufloader-svg.dll that seems to work.

      or, simply copy/overwrite the whole \lib\ folder with an older one.

       

      Last edit: Querino 2024-10-26
  • John Doe

    John Doe - 2024-10-27

    Not an update of the GTK3 package is causing the problem, but the update of librsvg from Version 2.58.0 --> 2.59.1, where libpixbufloader-svg.dll is part of. From Version 2.59.1 the DLL changed its name to pixbufloader_svg.dll (and increased much in size alongside). That is the reason why the bindist script cannot find the DLL anymore and therefore it is missing in the bindist. As a workaround just copy the file mingw64\lib\gdk-pixbuf-2.0\2.10.0\loaders\pixbufloader_svg.dll in your msys2 folder into the lib\gdk-pixbuf-2.0\2.10.0\loaders folder of your VICE installation. loaders.cache can stay as it is. The make-bindist_win32.sh script needs to be updated in one of the next snapshots.

     

    Last edit: John Doe 2024-10-27
  • Zibri

    Zibri - 2024-10-31
    Post awaiting moderation.
  • compyx

    compyx - 2024-11-06

    I've committed a fix in r45361, changing the wildcards in the copying of the pixbuf loaders to allow for both the old and the new name of the SVG loader to be copied. Due to the limited nature of wildcards, copying will break if GdkPixbuf ever changes its version from 2.10.x

     
    • radius75

      radius75 - 2024-11-06

      Win7x64
      r45362

      Error - Failed to obtain pixbuf for vice-logo-black.svg, Error: Unable to load image-loading module: D:\Gry\_Commodore64\GTK3VICE\lib\gdk-pixbuf-2.0\2.10.0\loaders\pixbufloader_svg.dll: 'D:\Gry\_Commodore64\GTK3VICE\lib\gdk-pixbuf-2.0\2.10.0\loaders\pixbufloader_svg.dll': Nie można odnaleźć określonej procedury.
      
       
      • compyx

        compyx - 2024-11-07

        Odd that it works for me on a Win11 laptop. I'll look into generating the loader.cache file from the available loaders instead of the current hack. Looks like gdk-pixbuf-query-loaders.exe might do what I want.

         
  • radius75

    radius75 - 2024-11-07

    Maybe it's because there are more paths to libpixbuf
    https://github.com/search?q=org%3AVICE-Team%20pixbufloader&type=code

     
    • compyx

      compyx - 2024-11-09

      The gdk-pixbuf-query-loaders normally returns the system-wide path of the loaders, meaning the loaders.cache it generates will point to C:\msys64\mingw64\lib\gdk-pixbuf-2.0, files that are specific to my machine.
      I managed to get gdk-pixbuf-query-loaders to scan the VICE bindir for loaders and generate the appropiate loaders.cache, but in the process somehow broke the rest of the make-bindist script (it's a bit of a mess).

      I'll get back to this when I'm at work the coming week, my Win11 PC is in storage to make room for fun stuff (not Windows :)), so I'll use a laptop at work for this.

       
      👍
      1
      • compyx

        compyx - 2024-11-12

        I've updated the make-bindist_win32.sh script to generate the loaders.cache file from the GdkPixbuf loaders copied into the VICE bindist's lib/ dir, as mentioned above. This appears to work on the laptop I'm using: I renamed temporarily renamed my msys2 dir to make sure any system pixbuf loaders mentioned in the loaders.cache file cannot be found, and the SVG and PNG pixbuf loaders required for the settings dialog's treeview and the VICE logo in the About dialog are properly shown.

        The new builds can be obtained from here

         
        • radius75

          radius75 - 2024-11-12

          On windows10 it works without errors for me.
          On windows7 error on startup and then error on crash.

          Error - Failed to obtain pixbuf for C64.svg, Error: Unable to load image-loading module: C:\Users\Krzysztof\Desktop\BBS\GTK3VICE\lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll: 'C:\Users\Krzysztof\Desktop\BBS\GTK3VICE\lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll': Nie można odnaleźć określonej procedury.

          Error - Failed to obtain pixbuf for vice-logo-black.svg, Error: Unable to load image-loading module: C:\Users\Krzysztof\Desktop\BBS\GTK3VICE\lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll: 'C:\Users\Krzysztof\Desktop\BBS\GTK3VICE\lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll': Nie można odnaleźć określonej procedury.

           
          • compyx

            compyx - 2024-11-14

            Could very well be librsvg or one of its dependencies no longer works on Windows 7, MSYS2 has dropped Windows 7 support for some time now.

            I don't have access to a Windows 7 machine, so I cannot test this. nor am I interested in supporting an OS that's been end-of-life for nearly five years now.

             
            👍
            1
            • radius75

              radius75 - 2024-11-19

              For Win7 users (like me;), I can suggest an ad hoc solution on their own computers. Delete the file GTK3VICE\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache. The emulator stops crashing.

               
              • compyx

                compyx - 2024-11-19

                Do the arrows in the settings menu still show up? I noticed MSYS' gdkpixbuf has changed a build parameter to package all loaders built-in:
                https://github.com/msys2/MINGW-packages/commit/18e87fe0e957ba315636ae34f2a42a2471c84e61

                So perhaps the PNG loader still works, which is essential for many widgets to display properly.

                As for the pixbufloader_svg.dll file, perhaps it's missing some dependency and I have to run ntldd on it to copy the proper DLLs it requires into our bindist (the Polish error message seems to indicate some procedure in some DLL is missing).

                Some googling shows issues on Win7 with system32\bcryptPrimitives.dll, a dependency of pixbufloader_svg.dll, so it still could be a Win7 issue.

                 
                • radius75

                  radius75 - 2024-11-19

                  I haven't noticed any problems with the emulator's operation yet.

                   

                  Last edit: radius75 2024-11-19
                • radius75

                  radius75 - 2024-11-19

                  What arrows do you mean?

                  Edit
                  This?

                   

                  Last edit: radius75 2024-11-19
1 2 > >> (Page 1 of 2)

Log in to post a comment.

MongoDB Logo MongoDB