Hi again,
finally found the issue: libudev1 i smissing. I was confused because this lin was actually present in the system but not properly referenced apparently.
This command add it and then sound is present:
sudo apt install libudev1:i386
Would be nice to add it to the wiki https://github.com/FAForever/faf-linux/blob/master/README.md#setup-instructions
Posts
-
RE: FAF on Linux: almost there!
-
RE: FAF Client No longer starts up. Doesn't even go to log in.
Yep, just download previous version https://github.com/FAForever/downlords-faf-client/releases/download/v2025.5.0/faf_windows-x64_2025_5_0.exe
And don't update too soon
-
Error duplicate key on leaderboards 1v1 League
Hi,
quite often when I click on "Leaderboards" tab, 1v1 League reports the error:Client Version: 2026.1.0 java.lang.IllegalStateException: Duplicate key 493344 (attempted merging values [399,LeagueSeasonScore(super=AbstractEntity(id=1907363))] and [401,LeagueSeasonScore(super=AbstractEntity(id=1907363))]) at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:135) at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$0(Collectors.java:182) at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:723) at com.faforever.client.leaderboard.LeaderboardService.mapLeagueEntryDtoToBean(LeaderboardService.java:212) at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:165) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2093) at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:117) at reactor.core.publisher.FluxIndexFuseable$IndexFuseableSubscriber.onComplete(FluxIndexFuseable.java:153) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) at reactor.core.publisher.FluxReplay$UnboundedReplayBuffer.replayNormal(FluxReplay.java:606) at reactor.core.publisher.FluxReplay$UnboundedReplayBuffer.replay(FluxReplay.java:713) at reactor.core.publisher.FluxReplay$ReplaySubscriber.onComplete(FluxReplay.java:1380) at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:373) at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:726) at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onComplete(FluxFlattenIterable.java:275) at reactor.core.publisher.FluxExpand$ExpandBreathSubscriber.drainQueue(FluxExpand.java:168) at reactor.core.publisher.FluxExpand$ExpandBreathSubscriber.onComplete(FluxExpand.java:147) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:263) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1862) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:354) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:373) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:75) at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:246) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:307) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:296) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:480) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:130) at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:153) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:172) at reactor.core.publisher.MonoZip$ZipInner.onSubscribe(MonoZip.java:472) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) at reactor.core.publisher.MonoZip$ZipCoordinator.request(MonoZip.java:219) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:293) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:129) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:166) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:130) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:184) at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:100) at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:179) at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:246) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:307) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:540) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:130) at reactor.core.publisher.MonoReduce$ReduceSubscriber.onComplete(MonoReduce.java:197) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:263) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:419) at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:465) at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:519) at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:957) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:434) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:361) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:325) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:249) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:354) at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1540) at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1398) at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1449) at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:172) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445) at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388) at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596) at io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:541) at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:514) at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484) at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1474)Any idea on how to fix this? Same error for 3v3 League but did not did that for 2v2 nor 4v4.
Not blocking at all, just annoying.
Cheers,
Jean -
FAF on Linux: almost there!
Hi,
I'm setting up FAF on Zorin OS (Ubuntu derivative) on my laptop.
After some struggle with video card (GeForce GTX 1050) for which I had to install version 535 instead of latest 580 (else Create3D error), I can start a game from FAF, video is very smooth, but no sound at all.When I start ForgedAlliance from Steam, video is damn slow but there is audio.
Audio 32 and 64bit packages are installed (libpulse0:amd64 libpulse0:i386).
Followed guide https://github.com/FAForever/faf-linux/blob/master/README.md#setup-instructionsAny clue?
Thanks,
Jean