ฉันจะทำให้การซ้อนทับของ Mumble ทำงานได้อย่างไร


14

Mumble และ Team Fortress 2 (TF2) ทำงานได้ดีสำหรับฉันทีละคน แต่ฉันไม่สามารถทำงานซ้อนทับได้ไม่ว่าจะเป็นอิสระหรือภายใน TF2

ฉันได้ลองใส่ตัวเลือกการเปิดตัวต่อไปนี้ในคุณสมบัติของ TF2 ใน Steam ซึ่งไม่ได้ผล (NB ฉันใช้ bumblebee และคอมพิวเตอร์ 64 บิตด้วย)

mumble-overlay primusrun %command%
mumble-overlay primusrun %command% -nod3d9ex
mumble-overlay primusrun %command% -d3d9ex -32bit
LD_PRELOAD=/usr/lib/mumble/libmumble.so.1.2 primusrun %command%

TF2 อยู่ในโหมดหน้าต่างดังนั้นฉันจะมีความสุขกับการพึมพำผลิตภาพซ้อนทับของตัวเองที่ไม่ได้ถูกฉีดเข้าไปใน TF2


คุณกำลังใช้ Mumble รุ่นใด ดูเหมือนว่าเป็นข้อผิดพลาดที่ได้รับการแก้ไขใน 1.2.5 - wiki.mumble.info/wiki/Overlay

@nwildner ฉันกำลังพึมพำ 1.2.12 ล่าสุด primusrunหยุดทำงานเพื่อฉันเมื่อเร็ว ๆ นี้ดังนั้นฉันจึงต้องเปลี่ยนกลับไปใช้วิธี "เก่า" ของการเปิดตัว TF2 ฉันพยายามแทรกคำสั่ง mumble ดังต่อไปนี้ แต่ TF2 ล้มเหลวในการเปิดตัวเลย LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 mumble-overlay optirun %command%. ฉันตรวจสอบบันทึกการอัปเดตของฉันและดูเหมือนว่าฉันกำลังเรียกใช้ 1.2.6 ในวันที่ 10 มิถุนายน 14 ดังนั้นฉันคิดว่าฉันมีปัญหานี้≥1.2.5
Sparhawk

1
คุณลองวิธีแก้ปัญหาโดยละเอียดที่นี่หรือไม่? reddit.com/r/tf2/comments/393upg/…
Natecat

@Natecat ไม่ฉันไม่ได้ทำ ขอบคุณสำหรับลิงค์ อย่างไรก็ตามนั่นฟังดูเป็นเรื่องที่รุกรานเกินไปเพราะฉันใช้งานผู้ประพันธ์ (ใน KDE Plasma) แล้ว ถ้าฉันต้องออกจากระบบและทุกครั้งฉันอาจใช้การบูทคู่ ขอบคุณอยู่ดี
Sparhawk

คำตอบ:


1

เนื่องจากการแก้ไขนี้อาศัยการแก้ไขตัวจัดการแบบรวมและคุณสามารถมีตัวจัดการแบบรวมได้ครั้งละหนึ่งตัวเท่านั้นจึงเป็นการยากที่จะทำเว้นแต่คุณจะใช้ระบบที่ไม่มีตัวจัดการแบบรวมอยู่แล้ว ฉันสงสัยว่าเป็นไปได้ที่จะใช้ LD_PRELOAD กับตัวจัดการคอมโพสิตใด ๆ แต่ตัวจัดการคอมโพสิตนั้นใช้เฉพาะกับทุกระบบปฏิบัติการและสภาพแวดล้อมเดสก์ท็อป ฉันยังสงสัยว่าคุณสามารถบังคับให้ระบบปฏิบัติการของคุณใช้คอมพ์ตันและการแก้ไข แต่อีกครั้งที่เฉพาะกับ OS / Desktop Environment

ถ้าคุณมีตัวจัดการแบบผสมข้ามส่วนถัดไปนี้ถ้าคุณไม่มีตัวจัดการแบบประกอบทำตามขั้นตอนเหล่านี้:

Install compton

Run the following command in your terminal and you will be all set, note that you must rerun this command every time you login, so I suggest putting this in your .bash_profile or .zprofile (if using ZSH).

LD_PRELOAD=/usr/lib/mumble/libmumble.so compton -CGb --backend glx --paint-on-overlay

The flags -CG disable shadow effects
The flag -b runs it in the background as a daemon
The flag --backend glx runs it using OpenGL

The flag --paint-on-overlay paints on X Composite overlay window instead of on root window. You can add the flag --vsync with an argument to enable vsync.

Run mumble. Because of the nature of the fix, you can start mumble after TF2 and still have the overlay show up. The overlay will appear whenever you are connected to a mumble server.

หากคุณเป็นเหมือนคนส่วนใหญ่และมีตัวจัดการคอมโพสิตที่มาพร้อมกับระบบปฏิบัติการของคุณงานนี้จะเกี่ยวข้องมากขึ้นเพราะคุณไม่สามารถมีผู้แต่งสองคนที่ทำงานพร้อมกันได้ โปรดทราบว่าการแก้ไขนี้ค่อนข้างน่าเกลียดและต้องใช้เวลาในการตั้งค่าและคุณต้องออกจากระบบทุกครั้งที่คุณต้องการใช้การซ้อนทับพึมพำ ขั้นตอนต่อไปนี้ถูกถอดความและแก้ไขจากคู่มือนี้

Install compton and openbox (you can optionally install obconf and obmenu, but they are not necessary)

Create the directory ~/.config/openbox if it does not exist

In that directory create a file called autostart

In that file, place the following (any line starting with a # is a comment and it will not be run)

# Starts compton and is necessary for the overlay to work, look at the above section on compton to decide what flags you want to use
LD_PRELOAD=/usr/lib/mumble/libmumble.so compton -CGb --backend glx --paint-on-overlay &

# Autostarts steam
steam &

# Autostarts mumble (comment out to stop mumble from automatically starting)
mumble &

# You also can place any program in here that you wish to start
# Use a & at the end of the name so that your computer does no wait until
# that program is fully started before it start the next program.

When you wish to play a game, logout of you account, and then select openbox as your desktop environment. This requires a login manager than supports multiple desktop environments. Most do, but it may require you to look around to find out how to switch desktop environments. If you are using startx/.xinitrc, make sure that you use exec openbox-session rather than exec openbox because exec openbox does not automatically load the autostart file.

To return to your normal desktop, logout of your account and then select your normal desktop environment from you login manager.

ขอบคุณสำหรับคำตอบ. น่าเสียดาย (ตามความเห็นของฉันด้านบน) ฉันได้เปิดผู้ประพันธ์แล้ว การเข้าและออกเป็นสิ่งที่ฉันทำเกินไป ฉันอาจบูตดูอัลเช่นกัน +1 อยู่ดี
Sparhawk

@Sparhawk, อ่า, ขอโทษที่ได้ยินมันไม่ได้ทำงานคน ฉันจะพยายามดูว่าฉันคิดอะไรอีกไหม
kommander0000
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.