I have lingering setup and I can still access the container but for what ever reason Podman seems to be unable to access the GPU for no apparent reason.

I think this may be an issue with systemd but I’m not entirely sure.

Solution: you need to be logged in for it to work. I accomplished this on a separate VM with autologin to icewm.

  • metiulekm
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    Random guess: your GPU is managed by logind and bound to your session. When your session ends, logind takes away the permissions. This kind of makes sense, if somebody else were to physically login on your PC, they should get (probably exclusive) access to the GPU.

    Not sure if this is even a good idea since I have never researched this, but maybe you can just write some udev rules to ensure that your user always has permissions to access the device?

      • metiulekm
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        9 months ago

        Actually there probably is one. I thought that the classic way of managing permission by the video group is gone, but in all my installs (Arch and NixOS) the GPU devices (/dev/video* EDIT: /dev/dri/card*, the previous one is your webcam) are still owned by root:video. Maybe just adding your user to video group will work? Arch Wiki even suggests this in this case:

        There are some notable exceptions which require adding a user to some of these groups: for example if you want to allow users to access the device even when they are not logged in.

        • Possibly linux@lemmy.zipOPM
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          For me it is owned by the video user and the render group.

          I don’t mind running iceWM in a VM as it has a fairly small overhead. Its not like I’m actually using the desktop so it takes pennies worth of ram and no CPU

            • Possibly linux@lemmy.zipOPM
              link
              fedilink
              English
              arrow-up
              2
              ·
              9 months ago

              I already did that so that podman could access the device. (Podman runs as a local user). What was strange was that podman couldn’t access it without a graphical session running but my local user could.

              • metiulekm
                link
                fedilink
                English
                arrow-up
                1
                ·
                9 months ago

                No idea then :( AFAIK the logind mechanism I mentioned originally is based only on permissions, but I had never really needed to look into it further.