Variable | Value |
Edit count of the user (user_editcount) | 72 |
Name of the user account (user_name) | 'Firelizzard' |
Age of the user account (user_age) | 22760187 |
Page ID (page_id) | 354096 |
Page namespace (page_namespace) | 2 |
Page title (without namespace) (page_title) | 'Firelizzard/Framework 16' |
Full page title (page_prefixedtitle) | 'User:Firelizzard/Framework 16' |
Action (action) | 'edit' |
Edit summary/reason (summary) | '' |
Old content model (old_content_model) | 'wikitext' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | '=== GPU ===
{{CodeBox|title=Capture the dGPU with a stub driver|1=
softdep drm pre: pci-stub
options pci-stub ids=1002:7480,1002:ab30
}}
{{CodeBox|title=Fix issue with vfio driver|1=
options vfio_iommu_type1 allow_unsafe_interrupts=1
}}
=== Touchpad ===
The touchpad does not appear in <code>/dev/input/by-id</code>. The touchpad does not have ID_BUS, but more importantly it doesn't have bInterfaceNumber. The fact that the rule has the latter suggests that the rule will not work for non-USB devices (since bInterfaceNumber is a USB attribute). The following rules will add a by-id link:
{{FileBox|filename=/etc/udev/rules.d/60-touchpad-events.rules|lang=bash|1=
# determine class name for persistent symlinks
ENV{ID_INPUT_KEYBOARD}=="?*", ENV{.INPUT_CLASS}="kbd"
ENV{ID_INPUT_MOUSE}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_TOUCHPAD}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_TABLET}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_JOYSTICK}=="?*", ENV{.INPUT_CLASS}="joystick"
# set the bus ID
SUBSYSTEMS=="i2c", ENV{ID_BUS}=="", ENV{ID_BUS}="i2c"
# by-id links
KERNEL=="event*", ENV{ID_BUS}=="i2c", ENV{.INPUT_CLASS}=="?*", ATTRS{name}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$attr{name}-event-$env{.INPUT_CLASS}"
}}
=== VM ===
{{CodeBox|title=GPU passthrough (graphics, audio)|1=
<hostdev mode="subsystem" type="pci" managed="yes">
<<nowiki />source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</source>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</hostdev>
<hostdev mode="subsystem" type="pci" managed="yes">
<<nowiki />source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x1"/>
</source>
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</hostdev>
}}
Add <code>grab="all" grabToggle="ctrl-ctrl"</code> to the keyboard to capture all inputs on ctrl-ctrl.
{{CodeBox|title=Keyboard|1=
<input type="evdev">
<<nowiki />source dev="/dev/input/by-id/usb-Framework_Laptop_16_Keyboard_Module_-_ANSI_FRAKDKEN0100000000-if02-event-kbd" grab="all" grabToggle="ctrl-ctrl" repeat="on"/>
</input>
<input type="evdev">
<<nowiki />source dev="/dev/input/by-id/usb-Framework_Laptop_16_Numpad_Module_FRAKDKEN0100000000-if02-event-kbd" repeat="on"/>
</input>
}}' |
New page wikitext, after the edit (new_wikitext) | '=== systemd stub ===
https://www.reddit.com/r/systemd/comments/rgbn3z/eli5_whats_the_difference_between_systemdstub_and/
sys-apps/systemd tpm boot
=== Secure Boot ===
SecureBoot shim: https://wiki.gentoo.org/wiki/Shim
emerge sys-boot/shim sys-boot/mokutil
=== TPM ===
emerge app-crypt/tpm2-tools
https://pkg.go.dev/github.com/google/go-tpm/tpm2
=== GPU ===
{{CodeBox|title=Capture the dGPU with a stub driver|1=
softdep drm pre: pci-stub
options pci-stub ids=1002:7480,1002:ab30
}}
{{CodeBox|title=Fix issue with vfio driver|1=
options vfio_iommu_type1 allow_unsafe_interrupts=1
}}
=== Touchpad ===
The touchpad does not appear in <code>/dev/input/by-id</code>. The touchpad does not have ID_BUS, but more importantly it doesn't have bInterfaceNumber. The fact that the rule has the latter suggests that the rule will not work for non-USB devices (since bInterfaceNumber is a USB attribute). The following rules will add a by-id link:
{{FileBox|filename=/etc/udev/rules.d/60-touchpad-events.rules|lang=bash|1=
# determine class name for persistent symlinks
ENV{ID_INPUT_KEYBOARD}=="?*", ENV{.INPUT_CLASS}="kbd"
ENV{ID_INPUT_MOUSE}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_TOUCHPAD}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_TABLET}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_JOYSTICK}=="?*", ENV{.INPUT_CLASS}="joystick"
# set the bus ID
SUBSYSTEMS=="i2c", ENV{ID_BUS}=="", ENV{ID_BUS}="i2c"
# by-id links
KERNEL=="event*", ENV{ID_BUS}=="i2c", ENV{.INPUT_CLASS}=="?*", ATTRS{name}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$attr{name}-event-$env{.INPUT_CLASS}"
}}
=== VM ===
{{CodeBox|title=GPU passthrough (graphics, audio)|1=
<hostdev mode="subsystem" type="pci" managed="yes">
<<nowiki />source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</source>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</hostdev>
<hostdev mode="subsystem" type="pci" managed="yes">
<<nowiki />source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x1"/>
</source>
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</hostdev>
}}
Add <code>grab="all" grabToggle="ctrl-ctrl"</code> to the keyboard to capture all inputs on ctrl-ctrl.
{{CodeBox|title=Keyboard|1=
<input type="evdev">
<<nowiki />source dev="/dev/input/by-id/usb-Framework_Laptop_16_Keyboard_Module_-_ANSI_FRAKDKEN0100000000-if02-event-kbd" grab="all" grabToggle="ctrl-ctrl" repeat="on"/>
</input>
<input type="evdev">
<<nowiki />source dev="/dev/input/by-id/usb-Framework_Laptop_16_Numpad_Module_FRAKDKEN0100000000-if02-event-kbd" repeat="on"/>
</input>
}}' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,2 +1,20 @@
+=== systemd stub ===
+
+https://www.reddit.com/r/systemd/comments/rgbn3z/eli5_whats_the_difference_between_systemdstub_and/
+
+sys-apps/systemd tpm boot
+
+=== Secure Boot ===
+
+SecureBoot shim: https://wiki.gentoo.org/wiki/Shim
+
+emerge sys-boot/shim sys-boot/mokutil
+
+=== TPM ===
+
+emerge app-crypt/tpm2-tools
+
+https://pkg.go.dev/github.com/google/go-tpm/tpm2
+
=== GPU ===
' |
Old page size (old_size) | 2289 |
Lines added in edit (added_lines) | [
0 => '=== systemd stub ===',
1 => '',
2 => 'https://www.reddit.com/r/systemd/comments/rgbn3z/eli5_whats_the_difference_between_systemdstub_and/',
3 => '',
4 => 'sys-apps/systemd tpm boot',
5 => '',
6 => '=== Secure Boot ===',
7 => '',
8 => 'SecureBoot shim: https://wiki.gentoo.org/wiki/Shim',
9 => '',
10 => 'emerge sys-boot/shim sys-boot/mokutil',
11 => '',
12 => '=== TPM ===',
13 => '',
14 => 'emerge app-crypt/tpm2-tools',
15 => '',
16 => 'https://pkg.go.dev/github.com/google/go-tpm/tpm2',
17 => ''
] |
Lines removed in edit (removed_lines) | [] |
New page text, stripped of any markup (new_text) | 'Contents
1 systemd stub
2 Secure Boot
3 TPM
4 GPU
5 Touchpad
6 VM
systemd stub[edit]
https://www.reddit.com/r/systemd/comments/rgbn3z/eli5_whats_the_difference_between_systemdstub_and/
sys-apps/systemd tpm boot
Secure Boot[edit]
SecureBoot shim: https://wiki.gentoo.org/wiki/Shim
emerge sys-boot/shim sys-boot/mokutil
TPM[edit]
emerge app-crypt/tpm2-tools
https://pkg.go.dev/github.com/google/go-tpm/tpm2
GPU[edit]
CODE Capture the dGPU with a stub driver softdep drm pre: pci-stub
options pci-stub ids=1002:7480,1002:ab30
CODE Fix issue with vfio driver options vfio_iommu_type1 allow_unsafe_interrupts=1
Touchpad[edit]
The touchpad does not appear in /dev/input/by-id. The touchpad does not have ID_BUS, but more importantly it doesn't have bInterfaceNumber. The fact that the rule has the latter suggests that the rule will not work for non-USB devices (since bInterfaceNumber is a USB attribute). The following rules will add a by-id link:
FILE /etc/udev/rules.d/60-touchpad-events.rules # determine class name for persistent symlinks
ENV{ID_INPUT_KEYBOARD}=="?*", ENV{.INPUT_CLASS}="kbd"
ENV{ID_INPUT_MOUSE}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_TOUCHPAD}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_TABLET}=="?*", ENV{.INPUT_CLASS}="mouse"
ENV{ID_INPUT_JOYSTICK}=="?*", ENV{.INPUT_CLASS}="joystick"
# set the bus ID
SUBSYSTEMS=="i2c", ENV{ID_BUS}=="", ENV{ID_BUS}="i2c"
# by-id links
KERNEL=="event*", ENV{ID_BUS}=="i2c", ENV{.INPUT_CLASS}=="?*", ATTRS{name}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$attr{name}-event-$env{.INPUT_CLASS}"
VM[edit]
CODE GPU passthrough (graphics, audio) <hostdev mode="subsystem" type="pci" managed="yes">
<source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</source>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</hostdev>
<hostdev mode="subsystem" type="pci" managed="yes">
<source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x1"/>
</source>
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</hostdev>
Add grab="all" grabToggle="ctrl-ctrl" to the keyboard to capture all inputs on ctrl-ctrl.
CODE Keyboard <input type="evdev">
<source dev="/dev/input/by-id/usb-Framework_Laptop_16_Keyboard_Module_-_ANSI_FRAKDKEN0100000000-if02-event-kbd" grab="all" grabToggle="ctrl-ctrl" repeat="on"/>
</input>
<input type="evdev">
<source dev="/dev/input/by-id/usb-Framework_Laptop_16_Numpad_Module_FRAKDKEN0100000000-if02-event-kbd" repeat="on"/>
</input>' |
Parsed HTML source of the new revision (new_html) | '<div class="mw-parser-output"><div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#systemd_stub"><span class="tocnumber">1</span> <span class="toctext">systemd stub</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Secure_Boot"><span class="tocnumber">2</span> <span class="toctext">Secure Boot</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#TPM"><span class="tocnumber">3</span> <span class="toctext">TPM</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#GPU"><span class="tocnumber">4</span> <span class="toctext">GPU</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Touchpad"><span class="tocnumber">5</span> <span class="toctext">Touchpad</span></a></li>
<li class="toclevel-1 tocsection-6"><a href="#VM"><span class="tocnumber">6</span> <span class="toctext">VM</span></a></li>
</ul>
</div>
<h3><span class="mw-headline" id="systemd_stub">systemd stub</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Firelizzard/Framework_16&action=edit&section=1" title="Edit section: systemd stub">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p><a rel="nofollow" class="external free" href="https://www.reddit.com/r/systemd/comments/rgbn3z/eli5_whats_the_difference_between_systemdstub_and/">https://www.reddit.com/r/systemd/comments/rgbn3z/eli5_whats_the_difference_between_systemdstub_and/</a>
</p><p>sys-apps/systemd tpm boot
</p>
<h3><span class="mw-headline" id="Secure_Boot">Secure Boot</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Firelizzard/Framework_16&action=edit&section=2" title="Edit section: Secure Boot">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>SecureBoot shim: <a rel="nofollow" class="external free" href="https://wiki.gentoo.org/wiki/Shim">https://wiki.gentoo.org/wiki/Shim</a>
</p><p>emerge sys-boot/shim sys-boot/mokutil
</p>
<h3><span class="mw-headline" id="TPM">TPM</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Firelizzard/Framework_16&action=edit&section=3" title="Edit section: TPM">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>emerge app-crypt/tpm2-tools
</p><p><a rel="nofollow" class="external free" href="https://pkg.go.dev/github.com/google/go-tpm/tpm2">https://pkg.go.dev/github.com/google/go-tpm/tpm2</a>
</p>
<h3><span class="mw-headline" id="GPU">GPU</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Firelizzard/Framework_16&action=edit&section=4" title="Edit section: GPU">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<div class="gw-box"><div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #204A87">CODE</span> <strong>Capture the dGPU with a stub driver</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>softdep drm pre: pci-stub
options pci-stub ids=1002:7480,1002:ab30
</pre></div></div>
<div class="gw-box"><div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #204A87">CODE</span> <strong>Fix issue with vfio driver</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>options vfio_iommu_type1 allow_unsafe_interrupts=1
</pre></div></div>
<h3><span class="mw-headline" id="Touchpad">Touchpad</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Firelizzard/Framework_16&action=edit&section=5" title="Edit section: Touchpad">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>The touchpad does not appear in <code>/dev/input/by-id</code>. The touchpad does not have ID_BUS, but more importantly it doesn't have bInterfaceNumber. The fact that the rule has the latter suggests that the rule will not work for non-USB devices (since bInterfaceNumber is a USB attribute). The following rules will add a by-id link:
</p>
<div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/udev/rules.d/60-touchpad-events.rules</code></strong><strong></strong></div> <div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span><span class="c1"># determine class name for persistent symlinks</span>
ENV<span class="o">{</span>ID_INPUT_KEYBOARD<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span>ENV<span class="o">{</span>.INPUT_CLASS<span class="o">}=</span><span class="s2">"kbd"</span>
ENV<span class="o">{</span>ID_INPUT_MOUSE<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span>ENV<span class="o">{</span>.INPUT_CLASS<span class="o">}=</span><span class="s2">"mouse"</span>
ENV<span class="o">{</span>ID_INPUT_TOUCHPAD<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span>ENV<span class="o">{</span>.INPUT_CLASS<span class="o">}=</span><span class="s2">"mouse"</span>
ENV<span class="o">{</span>ID_INPUT_TABLET<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span>ENV<span class="o">{</span>.INPUT_CLASS<span class="o">}=</span><span class="s2">"mouse"</span>
ENV<span class="o">{</span>ID_INPUT_JOYSTICK<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span>ENV<span class="o">{</span>.INPUT_CLASS<span class="o">}=</span><span class="s2">"joystick"</span>
<span class="c1"># set the bus ID</span>
<span class="nv">SUBSYSTEMS</span><span class="o">==</span><span class="s2">"i2c"</span>,<span class="w"> </span>ENV<span class="o">{</span>ID_BUS<span class="o">}==</span><span class="s2">""</span>,<span class="w"> </span>ENV<span class="o">{</span>ID_BUS<span class="o">}=</span><span class="s2">"i2c"</span>
<span class="c1"># by-id links</span>
<span class="nv">KERNEL</span><span class="o">==</span><span class="s2">"event*"</span>,<span class="w"> </span>ENV<span class="o">{</span>ID_BUS<span class="o">}==</span><span class="s2">"i2c"</span>,<span class="w"> </span>ENV<span class="o">{</span>.INPUT_CLASS<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span>ATTRS<span class="o">{</span>name<span class="o">}==</span><span class="s2">"?*"</span>,<span class="w"> </span><span class="nv">SYMLINK</span><span class="o">+=</span><span class="s2">"input/by-id/</span><span class="nv">$env</span><span class="s2">{ID_BUS}-</span><span class="nv">$attr</span><span class="s2">{name}-event-</span><span class="nv">$env</span><span class="s2">{.INPUT_CLASS}"</span>
</pre></div>
<h3><span class="mw-headline" id="VM">VM</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Firelizzard/Framework_16&action=edit&section=6" title="Edit section: VM">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<div class="gw-box"><div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #204A87">CODE</span> <strong>GPU passthrough (graphics, audio)</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span><hostdev mode="subsystem" type="pci" managed="yes">
<source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</source>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</hostdev>
<hostdev mode="subsystem" type="pci" managed="yes">
<source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x1"/>
</source>
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</hostdev>
</pre></div></div>
<p>Add <code>grab="all" grabToggle="ctrl-ctrl"</code> to the keyboard to capture all inputs on ctrl-ctrl.
</p>
<div class="gw-box"><div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #204A87">CODE</span> <strong>Keyboard</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span><input type="evdev">
<source dev="/dev/input/by-id/usb-Framework_Laptop_16_Keyboard_Module_-_ANSI_FRAKDKEN0100000000-if02-event-kbd" grab="all" grabToggle="ctrl-ctrl" repeat="on"/>
</input>
<input type="evdev">
<source dev="/dev/input/by-id/usb-Framework_Laptop_16_Numpad_Module_FRAKDKEN0100000000-if02-event-kbd" repeat="on"/>
</input>
</pre></div></div>
' |
Unix timestamp of change (timestamp) | 1732852333 |