diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2021-08-22 22:22:58 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-23 08:25:53 +0100 |
commit | 46a8566183b180422810418a11112c7694d74bdb (patch) | |
tree | c310587d38646c5802bb13e17d51cdbfaf1611aa /meta/lib | |
parent | 6f4afe940c90be9d03041a54f320719508cb14cc (diff) | |
download | poky-46a8566183b180422810418a11112c7694d74bdb.tar.gz |
qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent
This is particularly useful for llvm-accelerated GL rendering from qemu guest to
an offscreen buffer (accessible over vnc or spice) using llvmpipe on the
host, rather than using unaccelerated swrast renderer in the guest.
This is the best that can be done in the absence of a host GPU with render node
support (such as old Matrox cards common in servers, or fully virtualized cloud
environments with no GPU at all).
Note: even though NVidia blob drivers do support render nodes, they do not
support gbm (yet?), and so rendering will fall back to llvmpipe as well even when
the system has a 3000 euro NVidia GPU. Cue Linus picture.
(From OE-Core rev: 9b1daa173481f7f560e00e0dc22b4010ff1dc0ec)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oeqa/selftest/cases/runtime_test.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 4cfec94d85..129503de63 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py | |||
@@ -212,12 +212,14 @@ class TestImage(OESelftestTestCase): | |||
212 | Author: Alexander Kanavin <alex.kanavin@gmail.com> | 212 | Author: Alexander Kanavin <alex.kanavin@gmail.com> |
213 | """ | 213 | """ |
214 | import subprocess, os | 214 | import subprocess, os |
215 | |||
216 | render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one sutable for mesa llvmpipe sofware renderer.""" | ||
215 | try: | 217 | try: |
216 | content = os.listdir("/dev/dri") | 218 | content = os.listdir("/dev/dri") |
217 | if len([i for i in content if i.startswith('render')]) == 0: | 219 | if len([i for i in content if i.startswith('render')]) == 0: |
218 | self.skipTest("No render nodes found in /dev/dri: %s" %(content)) | 220 | self.skipTest("No render nodes found in /dev/dri: %s. %s" %(content, render_hint)) |
219 | except FileNotFoundError: | 221 | except FileNotFoundError: |
220 | self.skipTest("/dev/dri directory does not exist; no render nodes available on this machine.") | 222 | self.skipTest("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint)) |
221 | try: | 223 | try: |
222 | dripath = subprocess.check_output("pkg-config --variable=dridriverdir dri", shell=True) | 224 | dripath = subprocess.check_output("pkg-config --variable=dridriverdir dri", shell=True) |
223 | except subprocess.CalledProcessError as e: | 225 | except subprocess.CalledProcessError as e: |