Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
---
title: "Monado - Running on Tegra"
layout: main
---
glslang is not available on Ubuntu 18.04. It can be compiled and installed with the usual procedure:
```
https://github.com/KhronosGroup/glslang.git
cd glslang
cmake . -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -Bbuild
ninja -C build install
```
Otherwise the instructions from [Getting Started]({% link getting-started.md %}) work on Tegra for extended mode on X11.
# Direct Mode
The Vulkan driver for nvidia Tegra does not support vulkan based direct mode (VK_EXT_acquire_xlib_display, VK_EXT_direct_mode_display).
[Response from nvidia](https://forums.developer.nvidia.com/t/vk-ext-direct-mode-display-not-present-in-vulkan-1-2-on-jetpack-4-4/161593/2):
> VK_EXT_direct_mode_display is not required for doing direct mode through Vulkan on Jetson. VK_KHR_display and VK_KHR_display_swapchain are supported and those can be used for direct display mode.
See the `Vulkan on KMS/DRM` section in [Direct Mode]({% link direct-mode.md %}) for details of the implementation in Monado.
## Applications that require X11
Graphical applications do not properly connect to a normally running X server.
It is possible to run an offscreen X server that runs graphical applications.
Save a modified copy of the xorg.conf file as
/etc/X11/xorg.conf.offscreen
```
# Copyright (c) 2011-2013 NVIDIA CORPORATION. All Rights Reserved.
#
# This is the minimal configuration necessary to use the Tegra driver.
# Please refer to the xorg.conf man page for more configuration
# options provided by the X server, including display-related options
# provided by RandR 1.2 and higher.
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
SubSection "Display"
Virtual 1920 1080
EndSubSection
Option "UseDisplayDevice" "none"
EndSection
Section "Module"
Disable "dri"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection
Section "Device"
Identifier "Tegra0"
Driver "nvidia"
# Allow X server to be started even if no display devices are connected.
Option "AllowEmptyInitialConfiguration" "true"
EndSection
```
Then run an X server with the command `Xorg -config ./xorg.conf.offscreen :10`. It should drop to a text vt console.
Now it is possible to use both `XRT_COMPOSITOR_FORCE_VK_DISPLAY=0` to let the Monado compositor use the display, and to start an OpenGL application that requires an X server with `DISPLAY=:10`, for example `DISPLAY=:10 hello_xr -G OpenGL`.