We don't have a source license to Coherent, so we don't get to control what they link to. Also, it looks like libudev.so doesn't exist on most machines. You have to explicitly choose one. This appears to be the solution that Chrome is using. (And I'm assuming they know more about the situation than we do...)
It doesn't exist on most machines because it's considered a "development library" when it doesn't have the suffix, so you will only get that file if you install libudev-dev (on Ubuntu).
I now get a black screen upon start as the game loads both libudev.so.0 and libudev.so.1 (cf. FS#1275) As far as I can tell it causes the following errors during startup: Code: libGL error: MESA-LOADER: could not create udev device for fd 10 12578 12:22:28.957811 W | PID: 12582 | 12582 12:22:28.945723 [12582:12582:ERROR:(0)] ContextGroup::Initialize failed because too few texture units. 12578 12:22:28.957865 W | PID: 12582 | 12582 12:22:28.945753 [12582:12582:ERROR:(0)] GpuScheduler::InitializeCommon failed because group failed to initialize. 12578 12:22:28.957878 W | PID: 12582 | 12582 12:22:28.951188 [12582:12582:ERROR:(0)] ContextGroup::Initialize failed because too few texture units. 12578 12:22:28.957890 W | PID: 12582 | 12582 12:22:28.951208 [12582:12582:ERROR:(0)] GpuScheduler::InitializeCommon failed because group failed to initialize. 12578 12:22:28.957901 W | PID: 12582 | 12582 12:22:28.956177 [12582:12582:ERROR:(0)] ContextGroup::Initialize failed because too few texture units. 12578 12:22:28.957913 W | PID: 12582 | 12582 12:22:28.956199 [12582:12582:ERROR:(0)] GpuScheduler::InitializeCommon failed because group failed to initialize. 12578 12:22:28.974984 W | PID: 12582 | 12582 12:22:28.960929 [12582:12582:ERROR:(0)] ContextGroup::Initialize failed because too few texture units. 12578 12:22:28.975040 W | PID: 12582 | 12582 12:22:28.960950 [12582:12582:ERROR:(0)] GpuScheduler::InitializeCommon failed because group failed to initialize. 12578 12:22:28.975576 W | PID: 12582 | 12598 12:22:28.966335 [12617:12641:ERROR:command_buffer_proxy_impl.cc(166)] Failed to initialize command buffer service. 12578 12:22:28.975855 W | PID: 12582 | 12598 12:22:28.968714 [12614:12635:ERROR:command_buffer_proxy_impl.cc(166)] Failed to initialize command buffer service. 12578 12:22:28.978349 W | PID: 12582 | 12598 12:22:28.974722 [12610:12646:ERROR:command_buffer_proxy_impl.cc(166)] Failed to initialize command buffer service. 12578 12:22:28.978635 W | PID: 12582 | 12582 12:22:28.976701 [12582:12582:ERROR:(0)] ContextGroup::Initialize failed because too few texture units. 12578 12:22:28.978651 W | PID: 12582 | 12582 12:22:28.976718 [12582:12582:ERROR:(0)] GpuScheduler::InitializeCommon failed because group failed to initialize. 12578 12:22:28.991372 W | PID: 12582 | 12582 12:22:28.981818 [12582:12582:ERROR:(0)] ContextGroup::Initialize failed because too few texture units. 12578 12:22:28.991427 W | PID: 12582 | 12582 12:22:28.981837 [12582:12582:ERROR:(0)] GpuScheduler::InitializeCommon failed because group failed to initialize. 12578 12:22:28.991440 W | PID: 12582 | 12598 12:22:28.988730 [12614:12635:ERROR:command_buffer_proxy_impl.cc(166)] Failed to initialize command buffer service. 12578 12:22:28.991505 W | PID: 12582 | 12598 12:22:28.988882 [12608:12628:ERROR:command_buffer_proxy_impl.cc(166)] Failed to initialize command buffer service. I found two workarounds for that: start the game with --software-ui replace PA/steam-runtime/amd64/lib/x86_64-linux-gnu/libudev.so.0 with a symlink to /usr/lib/libudev.so.1