diff options
Diffstat (limited to 'scripts/runqemu')
-rwxr-xr-x | scripts/runqemu | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/runqemu b/scripts/runqemu index ef24ddc6b2..ea44600e64 100755 --- a/scripts/runqemu +++ b/scripts/runqemu | |||
@@ -1374,8 +1374,18 @@ to your build configuration. | |||
1374 | render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one suitable for mesa llvmpipe software renderer.""" | 1374 | render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one suitable for mesa llvmpipe software renderer.""" |
1375 | try: | 1375 | try: |
1376 | content = os.listdir("/dev/dri") | 1376 | content = os.listdir("/dev/dri") |
1377 | if len([i for i in content if i.startswith('render')]) == 0: | 1377 | nodes = [i for i in content if i.startswith('renderD')] |
1378 | raise RunQemuError("No render nodes found in /dev/dri: %s. %s" %(content, render_hint)) | 1378 | if len(nodes) == 0: |
1379 | raise RunQemuError("No render nodes found in /dev/dri/: %s. %s" %(content, render_hint)) | ||
1380 | for n in nodes: | ||
1381 | try: | ||
1382 | with open(os.path.join("/dev/dri", n), "w") as f: | ||
1383 | f.close() | ||
1384 | break | ||
1385 | except IOError: | ||
1386 | pass | ||
1387 | else: | ||
1388 | raise RunQemuError("None of the render nodes in /dev/dri/ are accessible: %s; you may need to add yourself to 'render' group or otherwise ensure you have read-write permissions on one of them." %(nodes)) | ||
1379 | except FileNotFoundError: | 1389 | except FileNotFoundError: |
1380 | raise RunQemuError("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint)) | 1390 | raise RunQemuError("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint)) |
1381 | 1391 | ||