From minimal to X configuration

Hello Community! I am looking for some assistance setting up an x.org configuration. I do not need a desktop environment. The goal is to setup something similar to kiosk mode…in that the goal is to: on boot, auto login as user X, use user X’s .xinitrc to launch my_app (which is a GUI application & primary function of the system)
I started with Rocky Linux-9.1 minimal installation and have been adding packages as I need. I am now at the point of installing and setting up xorg, but I am getting hung up on installing a windows manager. I wanted to go with something simple and familiar like twm, but I cannot figure out how to get it installed on Rocky Linux.

Currently installed list of xorg packages:
xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch
xorg-x11-server-common-1.20.11-11.el9.x86_64
xorg-x11-drv-libinput-1.0.1-3.el9.x86_64
xorg-x11-server-Xorg-1.20.11-11.el9.x86_64
xorg-x11-drv-wacom-serial-support-1.0.0-1.el9.x86_64
xorg-x11-drv-vmware-13.2.1-18.el9.x86_64
xorg-x11-drv-wacom-1.0.0-1.el9.x86_64
xorg-x11-drv-evdev-2.10.6-12.el9.x86_64
xorg-x11-drv-v4l-0.3.0-10.el9.x86_64
xorg-x11-drv-fbdev-0.5.0-11.el9.x86_64
xorg-x11-drv-dummy-0.3.7-17.el9.x86_64
xorg-x11-drivers-2021-4.el9.x86_64
xorg-x11-fonts-ethiopic-7.5-33.el9.noarch
xorg-x11-fonts-Type1-7.5-33.el9.noarch
xorg-x11-fonts-100dpi-7.5-33.el9.noarch
xorg-x11-fonts-75dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-1-75dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-14-100dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-14-75dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-15-100dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-15-75dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-2-100dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-2-75dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-9-100dpi-7.5-33.el9.noarch
xorg-x11-fonts-ISO8859-9-75dpi-7.5-33.el9.noarch
xorg-x11-fonts-cyrillic-7.5-33.el9.noarch
xorg-x11-fonts-misc-7.5-33.el9.noarch
xorg-x11-utils-7.5-40.el9.x86_64
xorg-x11-util-macros-1.19.3-4.el9.noarch
xorg-x11-proto-devel-2021.4-2.el9.noarch
xorg-x11-server-utils-7.7-44.el9.x86_64
xorg-x11-xauth-1.1-10.el9.x86_64
xorg-x11-xinit-1.4.0-11.el9.x86_64
xorg-x11-server-Xvfb-1.20.11-11.el9.x86_64

from here i was trying to install twm, but not having any luck. Anyone have time to help me along? would be greatly appreciated

On second thought, I probably don’t even need a window manager as my_app should run full screen and not be moveable. Looks like I still need help with x configuration though. If I try to:
startx
or
startx my_app, x does not start.
If I run:
X -configure
I get the error that: No devices to configure
in the list of video drivers I do not see anything for the on board Intel graphics, I take this to mean there are not any xorg-intel drivers installed because if I search for the intel kernel module it is there. I search as follows:
lspci -nn | grep -i vga
output:
00:02.0 VGA compatible controller [0300]: Intel Corporation Elkhart Lake [UHD Graphics Gen11 16EU] [8086:4555] (rev 01)

grep -i 8086 /lib/modules/$(uname -r)/modules.* | grep -i 4555
output:
/lib/modules/5.14.0-162.6.1.el9_1.x86_64/modules.alias:alias pci:v00008086d00004555svsdbc03sci i915

however: dnf search intel doesn’t reveal any packages that look like: xorg-x11-intel or the like?

The i915 drivers seem to be in the kernel-modules package for both R8 and R9.
Try
lsmod
and see if i915 is listed as loaded.

Yes, lsmod shows the i915 drivers are loaded.

Hhmm. I know what I’m trying to do can work. If instead of installing Rocky Linux Minimal, If I select “Workstation” and install GNOME desktop and all the other bells and whistles, I can launch my_app and it executes just fine. I am trying to install from the minimal direction However and am having a hard time tracking down what the “Workstation” installation is installing and configuring that I am not. I have followed few tutorials on setting up and configuring X, but of course the tutorials and wikis are always slightly different.
Will keep searching and update post as I find solutions

The Workstation environment group does pull in some groups:

# dnf -q group info workstation
Environment Group: Workstation
 Description: Workstation is a user-friendly desktop system for laptops and PCs.
 Mandatory Groups:
   Common NetworkManager submodules
   Core
   Fonts
   GNOME
   Guest Desktop Agents
   Hardware Support
   Internet Browser
   Multimedia
   Printing Client
   Standard
   Workstation product core
   base-x
 Optional Groups:
   Backup Client
   GNOME Applications
   Headless Management
   Internet Applications
   Office Suite and Productivity
   Remote Desktop Clients
   Smart Card Support

The base-x group should pull in the X11 components:

# dnf -q group info base-x
Group: base-x
 Description: Local X.org display server
 Mandatory Packages:
   glx-utils
   mesa-dri-drivers
   plymouth-system-theme
   xorg-x11-drv-evdev
   xorg-x11-drv-fbdev
   xorg-x11-drv-libinput
   xorg-x11-drv-vmware
   xorg-x11-drv-wacom
   xorg-x11-server-Xorg
   xorg-x11-utils
   xorg-x11-xauth
   xorg-x11-xinit
   xorg-x11-xinit-session

I do tend to install the “Minimal Install” environment. Then I add the following groups, if machine will have GNOME or MATE desktop environment:

Core
Fonts
internet-browser
Multimedia
print-client
Standard
base-x

(And naturally groups/packages for GNOME or MATE, as desired.)

Just recapping a little and adding some output. Steps so far:
Run Live USB Rocky Linux-9.1 installation.
Select Minimal from Left Software selection.
Select standard from Right software selection tab. Along with a couple extra tools like rpm & development tools
on first login: dnf group isntall base-x
dnf install dbus
dnf install “xorg-drv
dnf update

from here, if I: startx, X fails to start.
output from lshw -c display:

  *-display
       description: VGA compatible controller
       product: Elkhart Lake [UHD Graphics Gen11 16EU]
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=1280x800 resolution=1280,800 visual=truecolor xres=1280 yres=800
       resources: iomemory:600-5ff iomemory:400-3ff irq:34 memory:6000000000-6000ffffff memory:4000000000-400fffffff ioport:5000(size=64) memory:c0000-dffff

output from X -configure:


X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System:  5.4.188-104.359.amzn2.x86_64 
Current Operating System: Linux unknown00045f44274c.home 5.14.0-162.18.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Mar 1 22:02:24 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(hd1,gpt2)/vmlinuz-5.14.0-162.18.1.el9_1.x86_64 root=/dev/mapper/rl-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap acpi=off rhgb quiet
Build Date: 29 July 2022  12:00:00AM
Build ID: xorg-x11-server 1.20.11-11.el9 
Current version of pixman: 0.40.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 27 13:03:59 2023
List of video drivers:
	vmware
	modesetting
	fbdev
No devices to configure.  Configuration failed.
(EE) Server terminated with error (2). Closing log file.

something I just noticed. from Xorg.0.log:

Xorg.0.log:
[  2315.539] 
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[  2315.540] Build Operating System:  5.4.188-104.359.amzn2.x86_64 
[  2315.541] Current Operating System: Linux unknown00045f44274c.home 5.14.0-162.18.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Mar 1 22:02:24 UTC 2023 x86_64
[  2315.541] Kernel command line: BOOT_IMAGE=(hd1,gpt2)/vmlinuz-5.14.0-162.18.1.el9_1.x86_64 root=/dev/mapper/rl-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap acpi=off rhgb quiet
[  2315.542] Build Date: 29 July 2022  12:00:00AM
[  2315.542] Build ID: xorg-x11-server 1.20.11-11.el9 
[  2315.543] Current version of pixman: 0.40.0
[  2315.544] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[  2315.544] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  2315.547] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 27 13:31:54 2023
[  2315.547] (II) Loader magic: 0x5595fe822d40
[  2315.547] (II) Module ABI versions:
[  2315.547] 	X.Org ANSI C Emulation: 0.4
[  2315.547] 	X.Org Video Driver: 24.1
[  2315.547] 	X.Org XInput driver : 24.1
[  2315.547] 	X.Org Server Extension : 10.0
[  2315.547] (--) using VT number 2

[  2315.547] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[  2315.548] (II) xfree86: Adding drm device (/dev/dri/card0)
[  2315.558] (--) PCI:*(0@0:2:0) 8086:4555:10d7:0846 rev 1, Mem @ 0x6000000000/16777216, 0x4000000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/131072
[  2315.558] List of video drivers:
[  2315.559] 	vmware
[  2315.560] 	modesetting
[  2315.561] 	fbdev
[  2315.561] (II) LoadModule: "vmware"
[  2315.561] (II) Loading /usr/lib64/xorg/modules/drivers/vmware_drv.so
[  2315.577] (II) Module vmware: vendor="X.Org Foundation"
[  2315.577] 	compiled for 1.20.11, module version = 13.2.1
[  2315.578] 	Module class: X.Org Video Driver
[  2315.578] 	ABI class: X.Org Video Driver, version 24.1
[  2315.578] (II) LoadModule: "modesetting"
[  2315.578] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[  2315.578] (II) Module modesetting: vendor="X.Org Foundation"
[  2315.578] 	compiled for 1.20.11, module version = 1.20.11
[  2315.578] 	Module class: X.Org Video Driver
[  2315.578] 	ABI class: X.Org Video Driver, version 24.1
[  2315.578] (II) LoadModule: "fbdev"
[  2315.578] (II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
[  2315.578] (II) Module fbdev: vendor="X.Org Foundation"
[  2315.578] 	compiled for 1.20.11, module version = 0.5.0
[  2315.578] 	Module class: X.Org Video Driver
[  2315.578] 	ABI class: X.Org Video Driver, version 24.1
[  2315.579] No devices to configure.  Configuration failed.
[  2315.579] (EE) Server terminated with error (2). Closing log file.

so the only thing that stand out to me here is:
xfree86: Adding drm device (/dev/dri/card0)
because the display info indicates:
logical name: /dev/fb0

I have a somewhat dated page on getting X after a minimal install. While written around the time of RHEL6, it should still be fairly valiid. Minimal Desktop on RedHat based systems.

Hey thanks for the link. Unfortunately, Followed along and at the point it was declared “Now you should have an X environment” I still do not :(. I am still working to resolve the issue and will update as I go. I am currently laboring under the impression that i am just missing some package that “workstation” group installs that I am missing. that is a 350+ package diff though…

dnf install gdm

Ok, progress. not what I had in mind but not bad; maybe someone can fill in the details for me(?). I finally got startx to init an xsession after I installed gdm. Not exactly what I wanted as I see it also installed gnome-desktop (it is the gnome display manager so I guess…). I tried just going with lightdm but the results of startx ./myapp were the same, bumpkis

I can mark this thread solved, but it would be nice if someone could comment on an alternative to installing gdm (there are a lot of dependencies that get installed by gong this route)

One more page of mine might do it. This one is fairly recent, about using RHEL9. (I’m going to have to go back to the old page when I have time and see what is missing.)

https://srobb.net/rhel9.html
Enable the crb repo and epel-release first.
I made a few cosmetic updates to the first link I gave, but that was mostly things like changing yum to dnf. I’ll have to put in a VM and see what was missing.

I did some playing around, and I think the problem is that you first have to install a window manager, such as openbox, then add as the last line of $HOME/.xinit
exec openbox-session

Replacing openbox-session with your window manager of choice.