Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Vulkan support #28

Merged
merged 1 commit into from Sep 11, 2019

Conversation

@galgalesh
Copy link
Contributor

commented Sep 11, 2019

I saw your post here: https://forum.snapcraft.io/t/do-snaps-apps-support-vulkan/10534/8?u=galgalesh

This PR gets the build working again. Retroarch starts correctly if I enable the vulkan driver and I can run super mario 64 on paraLLel so I'm guessing Vulkan works correctly?

  • I moved the layout stuff to the "root" of the snapcraft.yaml. Layouts are defined for the entire snap, not for an app.
  • I commented the stage lines of the retroarch part because this triggered a build error. Note: if you don't specify stage; everything gets staged. Afaik, this keyword is mostly used to reduce the size of your snap by only staging stuff that is required.
  • I moved to the new base syntax for a few reasons:
    • So we don't need passthrough anymore.
    • So snapcraft uses multipass (so I can easily and quickly develop 16.04 and 18.04 snaps on Ubuntu 19.04).
    • So it's easy to upgrade to core18.
  • Moving to the base syntax also required copying the qt-desktop part to your snapcraft.yaml
  • I added a .gitignore script so I don't accidentally commit the built snap etc.
  • I added some metadata in snapcraft.yaml itself. I like it better when the metadata is in snapcraft.yaml so the community has a chance to propose updates using pr's.

Note: it might also be useful to debug and test on Ubuntu instead of through github. With the switch to base, you can now use any Ubuntu version. Just run snapcraft in the root folder of this repository and it will create a VM with the correct Ubuntu version for you and do all the building inside of that VM. Moreover, it keeps the VM around so that next time you run snapcraft, only the steps that changed are re-run. This saves A LOT of time, each time you try something.

@hizzlekizzle

This comment has been minimized.

Copy link
Member

commented Sep 11, 2019

oh man, this looks great, and the comments are very informative. Thanks so much!

@hizzlekizzle hizzlekizzle merged commit 093e81d into libretro:master Sep 11, 2019

1 check failed

WIP Title contains "WIP"
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.