Commit Graph

4627 Commits

Author SHA1 Message Date
Xi Ruoyao
14176436f0
kernel-config: Update the script
1. Don't throw unspecified entries too early.  Doing so caused various
   rendering glitches.  And we can now also check if an entry is
   selected but it's parent not.
2. "menu"s in Kconfig can also have dependencies...

Some pre-existing .toml data files are found problematic after the
change, fix them and regenerate all rendered -kernel.xml files.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
4e37f01a45
kernel-config: Do not include kernel version in every generated file
This is stupid and it will cause meaningless diffs in version control
(like this commit does :( ).

Remove the kernel version from the generated XML files.  Add
kernel.version file into git to track the kernel version.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
c36db1c461
Convert the remaining of X to use the new kernel-config system 2023-07-31 21:44:36 +08:00
Xi Ruoyao
d9e1464442
.gitignore: Don't ignore generated kernel configuration
We don't expect every editor to run kernel-config.py!
2023-07-31 21:44:36 +08:00
Xi Ruoyao
831ba20acd
kernel-config: Handle if/endif pairs in Kconfig, and allow to set "forced" attribute for options
For example, CONFIG_INPUT is forced w/o CONFIG_EXPERT.

libevdev kernel section needs these features to be rendered
successfully.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
5ca8d70839
kernel-config: Allow setting comments for options, and convert Mesa 2023-07-31 21:44:35 +08:00
Xi Ruoyao
604355989a
Add kernel-config infrastructure
The kernel-config.py script takes a toml file containing a set of
kernel configuration key-value pairs.  Then it parses the Kconfig files
in a kernel source tree and render the given configuration as a
LFS-style <screen> in a separate XML file.  The XML file can be used in
the book with xinclude.

Some "features":

1. The lines are limited to 80 columns.
   If the text of the configuration option is too long, it will be
   trimmed; if the symbolic name of the option cannot fit in this line,
   a separate line will be used for it.
2. If a configuration option is given but it does not exist in Kconfig
   files, the script will abort immediately.  This helps catching
   removed options.
3. The script also aborts immediately if a configuration option is
   illegal, for example setting an option to 'M' while it cannot be a
   module.
4. The infrastructure is not wired into the main Makefile.  It's because
   not all editors have the latest kernel tree, and even if they do the
   locations of the kernel tree are still different.  To update the
   generated XML files, use
   "make -C kernel-config KERNEL_TREE=/sources/linux-x.y.z".

Backword incompatible change:

The script no longer outputs "CONFIG_" prefix for the symbolic name.  It
really does not make too much sense to waste 7 characters here because
it's a common prefix for all options!

A limitation:

The script does not really validate the configuration.  Generally
validating the configuration requires to solve the 3-CNF-SAT problem,
which is NP-complete.
2023-07-31 21:44:35 +08:00
Bruce Dubbs
6886d518bc Typos 2023-07-28 12:10:23 -05:00
Xi Ruoyao
7affde51e6
xorg-config: Further refine the condition where vga_arbiter is needed
Let's stop people from messing with vga_arbiter because they have two
state-of-art NVIDIA or AMD GPUs.
2023-07-26 17:58:30 +08:00
Xi Ruoyao
1473268a08
xorg-config: Remove xf86-video-* remnant from PRIME configuration
Hmm, it may be hard to distinguish two "modesetting"s here.  But anyway
this command is said to be unnecessary with the modesetting driver.
2023-07-26 17:03:45 +08:00
Xi Ruoyao
9871a7a6a8
xorg-config: Update the DRI checking example after xf86-video-* removal 2023-07-26 16:46:23 +08:00
Xi Ruoyao
4ada352178
xorg-config: Some reword about the TearFree control
1. Move the configuration file into /etc, to be consistent with other
   configuration files created in BLFS.
2. We no longer need a separate "configure the graphic card" example
   because the TearFree configuration file is already a good example.
3. Tearing issue is really not new after xf86-video-* removal.  In some
   xf86-video-* drivers a TearFree option is available but rarely
   enabled by default (only the amdgpu driver when the output is rotated
   or transformed).  So this is actually the first time we document it
   in BLFS.
4. It's really not difficult to observer the tearing by dragging a
   window in twm, despite twm only renders the window border during
   dragging.
2023-07-26 16:04:06 +08:00
Xi Ruoyao
2ac99448b1
xorg-config: Remove "AIGLX error" section
With modesetting driver, $HOME/.local/share/xorg/Xorg.0.log contains:

    [ 65817.713] (II) AIGLX: Loaded and initialized crocus

And there is no more "AIGLX error" messages.
2023-07-26 16:04:05 +08:00
Xi Ruoyao
1903174c9f
twm: Comment out xorg-legacy dependency
I really don't understand what it is for.  And I can run twm without it.

If someone has a good reason to use legacy fonts, please revert, but you
should at least consider marking it runtime and maybe demoting it to
optional.
2023-07-26 16:04:05 +08:00
Xi Ruoyao
50bf1ac670
x: Use <xref> for some references to wget
It would be easier for the user to just follow the link to wget page if
they've not installed wget yet.
2023-07-25 11:07:49 +08:00
Douglas R. Reno
c0d220f830 Update to icewm-3.4.1 2023-07-23 13:04:18 -05:00
Douglas R. Reno
ea667b9c80 Update to glu-9.0.3 2023-07-23 13:03:36 -05:00
Douglas R. Reno
18d398b5f8 Update to mesa-23.1.4 2023-07-23 13:02:35 -05:00
Douglas R. Reno
810935e2b5 Xorg-config: Add a section about configuring Tearfree.
We might want to consider reviewing that page now that we don't carry
any of the other Xorg drivers now.
2023-07-21 20:15:47 -05:00
Douglas R. Reno
053e0a13af Update to WebKitGTK+-2.41.6 2023-07-21 19:58:51 -05:00
Douglas R. Reno
a1ea6d4e94 Add the TearFree option back to Xorg-Server. Patch by Rahul Chandra 2023-07-21 11:51:31 -05:00
Xi Ruoyao
141e445095
qt5-alternate: Add editor note link
I'm too frustrated to continue playing with Qt5 now.  But I'll add some
editor notes for this little (failed) shake-down course...
2023-07-20 13:29:46 +08:00
Xi Ruoyao
d949cb08c8
qt5-alternate: Add xcb-util-* for Qt5
Or any Qt5 app will complain:

    qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""

Let's recommended them.  On Wayland-based DEs we can export
QT_QPA_PLATFORM=wayland to avoid depending on xcb though.
2023-07-20 11:57:38 +08:00
Xi Ruoyao
441801a487
qt5 (and alternative): Add some dependencies
It looks like we've forgotten some dependencies for Qt5 all the time.
And many dependencies of Qt5 are also needed by the alternative.  I
gathered them via

    readelf -d $(find -name \*.so) | grep NEEDED | grep -o '\[.*\]' |
      sort | uniq | grep -v Qt 2>/dev/null

in the Qt5 alternative build directory.
2023-07-20 11:22:05 +08:00
Xi Ruoyao
d18a047b32
qt5-alternate: Remove a stale command explanation
-skip-qtwebengine is now included in tempconf, so it's not a separate
option anymore.
2023-07-20 10:45:07 +08:00
Xi Ruoyao
07067aaff2
qt5-alternate: sed -ir should be sed -i -r
In the regex we use `|` which is extended regex.  So the `-r` (or `-E`,
or `--regexp-exteneded`) option is needed.  We cannot squash them into
`-ir` because `-i[PREFIX]` has a special meaning: make a backup named
`tempconf[PREIX]`.
2023-07-20 09:27:12 +08:00
Xi Ruoyao
14771c47a3
qt5 (and alternate): Don't pathappend /usr/bin
When QT5DIR is /usr, we don't need to pathappend $QT5DIR/bin.
2023-07-20 08:43:31 +08:00
Xi Ruoyao
f4d129763c
/usr/libexec/Xorg does not exist anymore
With -Dsuid_wrapper=true removed from xorg-server, /usr/bin/Xorg is the
Xorg server itself.
2023-07-19 03:54:44 +08:00
Xi Ruoyao
b952db2ee8
xorg-server: "a even" -> "an even" 2023-07-19 03:54:44 +08:00
Bruce Dubbs
e77c478989 Merge branch 'trunk' into lxqt 2023-07-18 16:51:51 +00:00
Douglas R. Reno
16bfa72765 sddm: changes for systemd and typos/rewords 2023-07-17 22:46:12 -05:00
Xi Ruoyao
cb88494ae6
xorg-server: Align kernel config 2023-07-18 02:27:04 +08:00
Douglas R. Reno
81a1d5fbda qt-components: Fix building qtlocation with gcc-13.
It's not in qt5-alternate though, so we can remove the fix from that
page.
2023-07-17 13:08:53 -05:00
Douglas R. Reno
6895424949 qt-components: Apply the KF5 patches before building anything.
All of the modules listed in the page have fixes in the KF5 patchset, so
let's make sure that we apply that prior to building anything
2023-07-17 13:02:36 -05:00
Douglas R. Reno
38703f5dca qt5-components: some minor tweaks to the Contents list 2023-07-17 12:56:22 -05:00
Douglas R. Reno
e917814212 qt5-alternate: Use <command> around $(cat tempconf) in short
descriptions.

Also fix a typo in the short description
2023-07-17 12:50:06 -05:00
Douglas R. Reno
7d09c400db Qt5-alternate: Remove an extra newline for systemd instructions 2023-07-17 12:49:08 -05:00
Douglas R. Reno
04f2bf409b Qt5 and Qt5-alternate: mention LXQt as a major user. 2023-07-17 12:47:52 -05:00
Bruce Dubbs
f2cb575d78 Clanup sddm 2023-07-14 20:01:02 -05:00
Bruce Dubbs
ad65d19678 Intermediate sddm changes 2023-07-14 17:16:20 -05:00
Bruce Dubbs
80f933b34a Initial add of sddm 2023-07-14 11:28:53 -05:00
Bruce Dubbs
b3867c5f8c Add qt5-components page.
Also create an ENTITY for qt5 or qt5-alternate and use that
to specify the qt5 dependenies.

The complete KF5/plasma packages should use the full qt5 build, but
the lxqt kf5/plasma components only need qt5-alternate.
2023-07-13 20:23:08 -05:00
Xi Ruoyao
5c7ad049db
Move Xorg mode line setting from qemu to xorg-config
It's not really QEMU specific.

By the way, move the "additional cfg unneeded on most systems" into the
bottom of the page, and adjust it to refer modesetting driver instead of
radeon driver.
2023-07-13 19:56:08 +08:00
Bruce Dubbs
32936bc2c2 lxqt and qt5-alternate cleanups 2023-07-13 01:17:52 -05:00
Xi Ruoyao
797182d11a
xorg-server: Add kernel configuration section 2023-07-13 03:12:04 +08:00
Xi Ruoyao
c97d35e2f6
xorg-server: Force -Dglamor=true
With the DDX drivers gone, we must use Glamor to provide the modeset
driver or X server won't start.
2023-07-13 01:45:49 +08:00
Xi Ruoyao
22c1bfc373
Archive xf86-video-* 2023-07-13 01:39:51 +08:00
Xi Ruoyao
ed848370ef
xorg-server: Create /tmp/.{X11,ICE}-unix
So we don't need to reboot.
2023-07-13 01:32:34 +08:00
Thomas Trepl
bd42330127 Upgrade xterm-384 2023-07-11 08:07:36 +02:00
Xi Ruoyao
117b4e97f3
mesa: Add kernel cfg section into the index 2023-07-11 02:07:22 +08:00