Files
vimix/docs/notes.md

4.2 KiB

Various Notes and reminders

Copyright 2024 Bruno Herbelin

Publishing new a release

Mac OSX specificities

  • Settings are saved in /Users/[username]/Library/Application Support/vimixInstructions to reset in finder, do "Go to folder" (shift+command+G),enter /Users/[username]/Library/Application Support/vimix and delete the folder 'vimix'

  • Generate and sign package

    • cd build

      cpack

      cd ..

      cmake --build build --target notarize

  • POST INSTALL DMG SIGNING AND NOTARIZATION (done by --target notarize)

  1. SIGN DMG

    codesign --force --sign "Developer ID Application: <identityIdentifier>" <pathToDMG>
    

    verify with:

    codesign --verify --verbose=2 <pathToDMG>
    
  2. SUBMIT TO NOTARIZATION

    xcrun notarytool submit <pathToDMG> --keychain-profile "vimix" --wait
    

    verify with:

    xcrun notarytool log xxxx-xxxx-xxx  --keychain-profile "vimix"
    

    NB: "vimix" is the name of the app-specific password in keychain generated online: https://support.apple.com/en-us/102654

  3. STAPLE THE TICKET TO THE DISK IMAGE

    xcrun stapler staple <pathToDMG>
    
  4. VERIFY NOTARIZATION

    spctl -a -vv -t install <pathToDMG>
    

    NB: more info at https://wiki.lazarus.freepascal.org/Notarization_for_macOS_10.14.5%2B

flatpack Development

The flatpak manifest for flathub is at https://github.com/flathub/io.github.brunoherbelin.Vimix

To build the vimix flatpak with code from local folder (debugging), change the following:

{    "name": "vimix",    "buildsystem": "cmake",    "config-opts": [        "-DCMAKE_BUILD_TYPE=Release"    ],    "sources": [        {        "type":"dir",        "path": "[your_development_dir]/vimix",        }    ]}

Run this to use the custom local desc

flatpak-builder --user --install --force-clean build [your_development_dir]/flatpak/io.github.brunoherbelin.Vimix.json

Testing performance

Linux perf command

  • Allow perf on your system

    sudo sysctl -w kernel.perf_event_paranoid=-1
    
  • Launch command to record

    perf record ./vimixperf record --pid=XXXXX
    

    e.g.;

    __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia   perf record --call-graph dwarf ./build/src/vimix
    
  • Analyse using https://github.com/KDAB/hotspot

Memcheck

To generate memory usage plots in massif format:

G_SLICE=always-malloc valgrind --tool=massif ./vimix

To check for memory leaks:

G_SLICE=always-malloc valgrind --leak-check=full --log-file=vimix_mem.txt ./vimix