Does it work with glasses?
Unfortunate, this seems like something that should be pretty trivial on the surface but I can see why I'd need a non react solution.
I'll probably break out of react and walk the dom, seems like it will work best for me.
Thanks for the help!
The intent of this hoc is to generate a minimap for the wrapped component, it walks down the tree finding all h1, h2 etc components and generates a new minimap (a list of clickable links to the sections) from that data in a fragment. That fragment is then rendered.

Count child elements HOC
I'm looking to write an HOC that counts and prints to the console the number of
<h1/>
elements in the wrapped component. For example:undefined
const Foo: FC<{}> = ({}) => { return ( <div> <h1>Foo</h1> <p>Bar</p> </div> ) } export default countH1(Foo)
this should print 1 and then return Foo as is for rendering.
undefined
React.Children.forEach(child => {...})
seems to be about the explicit children property and not descendant html elements. How can I achieve this?
Variable refresh rate is cool but 99% of my games are low res or 2d pixel art, so I haven't been too interested in HDR. Very cool though will tinker with it :)
Well, that didn't work so I proceeded with the fresh install.
It works right out of the box. No strange behavior and it's lightning fast. I'm both relieved to have it working and a little sad that the answer was "kill it with fire" as I've learned nothing.
Anyway, thank you for your help. :) Time to go get everything up again
looks like it is.
undefined
ii libvulkan1:amd64 1.3.280.0-1pop1~1722439676~22.04~a41a7d6 amd64 Vulkan loader library ii libvulkan1:i386 1.3.280.0-1pop1~1722439676~22.04~a41a7d6 i386 Vulkan loader library ii mesa-vulkan-drivers:amd64 24.0.3-1pop1~1711635559~22.04~7a9f319 amd64 Mesa Vulkan graphics drivers ii mesa-vulkan-drivers:i386 24.0.3-1pop1~1711635559~22.04~7a9f319 i386 Mesa Vulkan graphics drivers ii vulkan-tools 1.3.204.0+dfsg1-1 amd64 Miscellaneous Vulkan utilities ➜ ~
The whole log is too large for lemmy, but here is a pastebin link: https://pastebin.com/sxU2QYTc
System76 is advising I go full nuclear and reinstall from recovery partition, which I don't really think would fix anything and I'm hesitant to do.
This removes that "Failed to get adapters" error from the proton log but the behavior remains the same and the VK_ERROR_INITIALIZATION_FAILED still persists
Well, back at it again. Tried ProtonGE with the same results. But the vulkan logs are interesting!
cat ~/steam-220200.log | grep err
undefined
err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED
EDIT: more context
undefined
info: Presenter: Actual swapchain properties: info: Format: VK_FORMAT_B8G8R8A8_SRGB info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR (dynamic: no) info: Buffer size: 1920x1080 info: Image count: 4 err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED
It's filled with this error. The entire log is massive I cant even upload it to pastebin. If you want me to search for something specific lmk or how I can supply the entire log.
EDIT2: also found:
undefined
99664.262:00d4:00d8:err:xrandr:xrandr14_get_adapters Failed to get adapters 99670.682:0180:0184:err:ole:com_get_class_object class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered 99670.683:00e8:033c:warn:threadname:NtSetInformationThread Thread renamed to L"wine_rpcrt4_io" 99670.683:0180:0184:err:ole:create_server class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered 99670.684:0180:0184:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported 99670.684:0180:0184:err:ole:com_get_class_object no class object {82c5ab54-c92c-4d52-aac5-27e25e22604c} could be created for context 0x15
When I select proton-experimental as the version under force proton runtime, I actually see usage in rocm-smi, however I get a black screen or that weird "see behind my window effect I screenshotted" in another comment. When I let it choose, I can see the game but sit at 0% utilization.
What do you mean? There are the following:
Proton experimental Steam Linux runtime 1.0 Legacy runtime 1.0 Proton hotfix Proton 9.0-4 ....
If you mean just the global checkbox, yes that's on
Yeah I've tried several Steam Play options. I get different behavior from crashing to some wonky rendering of the windows behind it, but none work
Well I've installed BG3 just for the sake of testing and the DX11 launch results in a black screen. The Vulkan launch options crashing immediately...
Here is my steam logs when launching KSP I think the only thing of interest is this:
undefined
pressure-vessel-wrap[42106]: W: "opt/amdgpu/share/libdrm" is unlikely to appear in "/run/host" pressure-vessel-wrap[42106]: W: "opt/amdgpu/share/drirc.d" is unlikely to appear in "/run/host"
undefined
Adding process 42106 for gameID 220200 Adding process 42107 for gameID 220200 pressure-vessel-wrap[42106]: I: pv_runtime_provide_container_access: Setting up runtime without using bwrap pressure-vessel-wrap[42106]: I: EGL ICD #0 at /usr/share/glvnd/egl_vendor.d/50_mesa.json: libEGL_mesa.so.0 pressure-vessel-wrap[42106]: I: Vulkan ICD #0 at /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so pressure-vessel-wrap[42106]: I: Vulkan ICD #1 at /usr/share/vulkan/icd.d/radeon_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so pressure-vessel-wrap[42106]: I: Vulkan ICD #2 at /usr/share/vulkan/icd.d/intel_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_intel.so pressure-vessel-wrap[42106]: I: Vulkan ICD #3 at /usr/share/vulkan/icd.d/virtio_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_virtio.so pressure-vessel-wrap[42106]: I: Vulkan ICD #4 at /usr/share/vulkan/icd.d/intel_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_intel.so pressure-vessel-wrap[42106]: I: Vulkan ICD #5 at /usr/share/vulkan/icd.d/radeon_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_radeon.so pressure-vessel-wrap[42106]: I: Vulkan ICD #6 at /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so pressure-vessel-wrap[42106]: I: Vulkan ICD #7 at /usr/share/vulkan/icd.d/lvp_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_lvp.so pressure-vessel-wrap[42106]: I: Vulkan ICD #8 at /usr/share/vulkan/icd.d/virtio_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so pressure-vessel-wrap[42106]: I: Vulkan ICD #9 at /usr/share/vulkan/icd.d/lvp_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so pressure-vessel-wrap[42106]: I: Vulkan explicit layer #0 at /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json: libVkLayer_INTEL_nullhw.so pressure-vessel-wrap[42106]: I: Vulkan explicit layer #1 at /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json: libVkLayer_MESA_overlay.so pressure-vessel-wrap[42106]: I: Vulkan implicit layer #0 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json: /home/zamithal/.steam/debian-installation/ubuntu12_32/libVkLayer_steam_fossilize.so pressure-vessel-wrap[42106]: I: Vulkan implicit layer #1 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json: /home/zamithal/.steam/debian-installation/ubuntu12_64/libVkLayer_steam_fossilize.so pressure-vessel-wrap[42106]: I: Vulkan implicit layer #2 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json: /home/zamithal/.steam/debian-installation/ubuntu12_32/steamoverlayvulkanlayer.so pressure-vessel-wrap[42106]: I: Vulkan implicit layer #3 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json: /home/zamithal/.steam/debian-installation/ubuntu12_64/steamoverlayvulkanlayer.so pressure-vessel-wrap[42106]: I: Vulkan implicit layer #4 at /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json: libVkLayer_MESA_device_select.so pressure-vessel-wrap[42106]: I: Capturing glvnd loadable module #0: /usr/share/glvnd/egl_vendor.d/50_mesa.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: libEGL_mesa.so.0 pressure-vessel-wrap[42106]: I: Captured glvnd loadable module #0: /usr/share/glvnd/egl_vendor.d/50_mesa.json pressure-vessel-wrap[42106]: I: Implementation on x86_64-linux-gnu: SONAME pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #0: /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #1: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #2: /usr/share/vulkan/icd.d/intel_icd.x86_64.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/libvulkan_intel.so pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #3: /usr/share/vulkan/icd.d/virtio_icd.i686.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_virtio.so pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #4: /usr/share/vulkan/icd.d/intel_icd.i686.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_intel.so pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #5: /usr/share/vulkan/icd.d/radeon_icd.i686.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_radeon.so pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #6: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
So steam play was already enabled, it looks like it defaults to "steam Linux runtime 1.0 (scout). When I select different versions of proton runtime I get different behavior dependig on which one I select.
Proton 9 says that it cannot switch to my monitors resolution,
Proton experimental and hot fix launch the game (I can hear it!), but things are ... Weird. It only renders the windows behind it and the custom game cursor. When I alt enter to bring it into Windows mode, it's still just the windows/desktop that would be behind the game but now it's scaled differently.

EDIT:
It's hard to tell but the above screenshot is the game window
Gotcha, today is the first business day since filing my ticket. They've requested logs but no solutions yet.
I don't appear to have this.
It doesn't appear to be set and additionally I don't appear to have the libgl1-mesa-swx11
package mentioned in that post.
set|strings|grep LIBGL
undefined
apt list | grep libgl1-mesa
undefined
libgl1-mesa-dev/jammy 24.0.3-1pop1~1711635559~22.04~7a9f319 amd64 libgl1-mesa-dev/jammy 24.0.3-1pop1~1711635559~22.04~7a9f319 i386 libgl1-mesa-dri/jammy,now 24.0.3-1pop1~1711635559~22.04~7a9f319 amd64 [installed,automatic] libgl1-mesa-dri/jammy,now 24.0.3-1pop1~1711635559~22.04~7a9f319 i386 [installed,automatic] libgl1-mesa-glx/jammy-updates 23.0.4-0ubuntu1~22.04.1 amd64 libgl1-mesa-glx/jammy-updates 23.0.4-0ubuntu1~22.04.1 i386
This does remind me that while developing a webgl canvas based javascript app the other day I was forced to go into firefox's about:config and set webgl.force-enabled = true. I should have dug deeper on that.
Yeah I'm pleasantly surprised by the unanimous responses that AMD seems to be the way to go in this space. At this point I know it's not using my GPU at all, so you are right that nvidia wouldn't be any different
Now i'm starting to doubt since this these responses have been so ubiquitous, but it's definitely not plugged into the motherboard's gpu slot. The motherboard has a single hdmi and displayport port. It, like all the other motherboard ports have a matte-black finish that matches the case. The displays are plugged into the glossy silver PCIE aligned hdmi and display ports, which doesn't match the rest of the case. The card is doublewide, occupying 2 pcie slots and is labeled "ASROCK".
It's definitely plugged into the GPU. I've had plenty of opportunity to get acquainted with the back of my machine at this point. :,)
Yeah it appears my card isn't being used at all, which explains the poor performance. Honestly the fact the system runs as well as it does without it is impressive. I'm reaching out to system76 for their diagnostics on why this might be

How can I tell if my GPU is being utilized properly?
I purchased a system76 Thelio Mira Elite With a AMD Radeon RX 7900 XT. I kinda regret not going with Nvidia at this point but it is what it is. I primarily use it as a developer workstation, but want to play games on it as well so I can be rid of my windows box.
I didn't expect it to be able to play the latest and greatest games but I did expect it to be able to play older titles reasonably well. Games launch from steam and seem to work, but I'm getting between 0 and 10 fps on the title screen of Kerbal Space Program. Other games are similarly functional but poorly performing.
Where do I start? How can I ensure my GPU is being leveraged? Is this as good as it gets?

Graduating from user to power user
I've got a Pop_OS system76 machine that runs well straight out of the box. I love it and it's my daily driver. However I'd like to learn more about how it works, Linux internals and how to use it to the best of its capabilities. I want to learn about things like system-d Wayland, error logging (there seems to be a few of them) directory structure and drivers. For instance, how do I know that my and GPU is being leveraged to the fullest?
I DONT want to build a system from the ground up, which I expect to be a common suggestion.
I'd prefer to read literature, blogs, and articles relevant to me, my system and not dated.
Any suggestions? Thanks in advance