มีคำแนะนำที่ทำให้เข้าใจผิดและคำแนะนำที่ไม่ถูกต้องที่นี่ดังนั้นมาสรุปสิ่งที่เป็นปัญหาและวิธีแก้ปัญหาที่มี
TL; DR
Ubuntu รุ่นล่าสุดตั้งแต่ 12.10 (Quantal) มีเวอร์ชั่นของ patched library หากคุณยังพบปัญหาเกี่ยวกับวิดีโอสีน้ำเงิน (ไม่รวมBlue Man Group ) ให้ตรวจสอบคำตอบนี้ - ชื่อห้องสมุดของ Flash Player จะต้องไม่libflashplayer.so
เช่นนั้น libvdpau จะไม่ใช้วิธีแก้ไขปัญหา คุณอาจจะดู/etc/vdpau_wrapper.cfg
ไฟล์ คุณสามารถปิดใช้งานการแก้ไขปัญหาที่ใช้โดย libvdpau ได้
หากคุณมี Oneiric (11.10) หรือแม่นยำ (12.04) ให้ติดตั้ง libvdpau ที่ได้รับการติดตั้งแล้ว:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
มิฉะนั้นคุณสามารถแก้ไขไลบรารีของ Flash Player:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
อ่านโพสต์ทั้งหมดก่อนแสดงความคิดเห็น
ปัญหา
Flash Player ตั้งแต่รุ่น 11.2 ใช้การเร่งความเร็ววิดีโอฮาร์ดแวร์บนแพลตฟอร์มส่วนใหญ่ น่าเสียดายที่การเร่งความเร็วใน Linux ไม่ได้รับการสนับสนุนเพียงอย่างเดียว Flash Player สลับสีในวิดีโอภายใต้เงื่อนไขดังต่อไปนี้:
- คุณกำลังใช้ Nvidia GPU ที่ค่อนข้างใหม่พร้อมการรองรับVDPAU
- คุณกำลังใช้ไดรเวอร์ไบนารีของ Nvidia รุ่นปัจจุบัน (เวอร์ชั่นเก่ากว่าไม่รองรับ VDPAU)
- คุณมี
libvdpau1
แพ็คเกจที่ติดตั้ง
- โปรแกรมเล่นบนไซต์ใช้วิดีโอระดับ - นั่นเป็นเหตุผลว่ามีผลกระทบกับ YouTube และผู้เล่นอื่นเพียงเล็กน้อย
ดูคำอธิบายโดย Pierre-Loup Griffais จาก Nvidia
นี่ไม่ใช่ข้อผิดพลาดในไดรเวอร์ของ Nvidia Nvidia ตระหนักถึงปัญหานี้และพวกเขาได้สร้างวิธีแก้ไขปัญหาแล้ว คนขับนูโวไม่ได้รับผลกระทบอาจจะเป็นเพราะการสนับสนุนถอดรหัสวิดีโอยังไม่เสร็จสมบูรณ์
นี่ไม่ใช่ข้อผิดพลาดใน libvdpau libvdpau เป็นเพียง wrapper ที่อนุญาตให้เครื่องเล่นวิดีโอใช้การถอดรหัส VDPAU (ดูคำอธิบายของ Stephen Warren )
นี่ไม่ใช่ข้อผิดพลาดเฉพาะของ Ubuntu การแจกแจงอื่น ๆ ได้รับผลกระทบเช่นกันเช่นArch
ข้อผิดพลาดอาจเป็นไปได้มากใน Flash Player - แม้ว่า Adobe จะพยายามตำหนิ Nvidia และผู้ใช้ที่ไร้ความสามารถ มีรายงานหลายรายการเกี่ยวกับตัวแก้ไขข้อผิดพลาดของ Adobe ทั้งหมดถูกปฏิเสธว่าเป็น "ไม่สามารถทำซ้ำ":
จะไม่มีการแก้ไขอย่างเป็นทางการจาก Adobe เนื่องจาก Flash Player ที่ใช้ NPAPI ได้รับเฉพาะแพตช์ความปลอดภัยจนถึงปี 2560 หวังว่าเราจะไม่ต้องการ Flash Player ในเวลานั้น
วิธีแก้ปัญหา
ใช้ libvdpau 0.5
มีอยู่ในที่เก็บอย่างเป็นทางการตั้งแต่ Ubuntu 12.10 libvdpau 0.4.1-6
libvdpau รุ่นนี้มีวิธีการแก้ปัญหาโดย Stephen Warren ที่อธิบายไว้ด้านล่าง
ดูประกาศการเปิดตัว
ติดตั้ง libvdpau ที่ได้รับการติดตั้ง (patch ที่เหมาะสม)
Stephen Warren ได้สร้าง patch ที่ดีสำหรับ libvdpauซึ่งตรวจจับ Flash Player และใช้วิธีแก้ปัญหาเฉพาะสำหรับมัน แพตช์สามารถควบคุมได้โดยใช้/etc/vdpau_wrapper.cfg
ไฟล์
Patched libvdpau แก้ไขสีและอนุญาตให้ Flash Player ใช้ VDPAU สำหรับการวางซ้อนฮาร์ดแวร์ซึ่งยังคงให้ประโยชน์ด้านประสิทธิภาพบางประการ
เพื่อให้ wrapper ใช้งานได้นั้นจำเป็นต้องรู้จักการใช้งาน Flash ดังนั้นห้องสมุดแฟลชจะต้องมีการตั้งชื่อlibflashplayer.so
และเสื้อคลุมปลั๊กอินจะต้องมีการเปิดใช้งานใน Firefox (ในabout:config
, dom.ipc.plugins.enabled.libflashplayer.so
และdom.ipc.plugins.enabled
ควรจะกำหนดให้true
)
สำหรับ Precise (12.04) และ Oneiric (11.10) คุณสามารถติดตั้ง libvdapu ที่ได้รับการติดตั้งแล้วจากPPA ของ Maxim Thikonovโดยใช้คำสั่งต่อไปนี้:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
การเปลี่ยนแปลงควรมีผลบังคับใช้หลังจากรีบูตเครื่อง (หรืออาจเร็วกว่านั้น)
ป้องกัน Flash Player จากการค้นหา libvdpau
(Via Daniel Mario Vega บน Launchpad )
ค้นหาlibflashplayer.so
ในระบบของคุณ - สำหรับ Ubuntu มันอาจอยู่ใน/usr/lib/adobe-flashplugin/
หากคุณมีadobe-flashplugin
แพ็คเกจที่ติดตั้งหรือ/usr/lib/flashplugin-installer/
สำหรับflashplugin-installer
แพ็คเกจ ดูที่เบราว์เซอร์ของabout:plugins
คุณหากคุณมีปัญหาในการค้นหาไฟล์ ( อาจต้องมีการปรับแต่งเล็กน้อยในกรณีที่ใช้ Firefox )
รันคำสั่งต่อไปนี้โดยสมมติว่าคุณได้ติดตั้งอย่างใดอย่างหนึ่งflashplugin-installer
หรือadobe-flasplugin
:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
การเปลี่ยนแปลงจะมีผลหลังจากรีสตาร์ทเบราว์เซอร์
สิ่งนี้จะแก้ไขไบนารีของ Flash Player เพื่อค้นหาไลบรารี่ "lixvdpau" ที่ไม่มีอยู่แทน "libvdpau" ดังนั้นจึงไม่พยายามใช้งานนำเสนอ VDPAU เลย
คำสั่งสร้างการสำรองข้อมูล libflashplayer.so.bak ของไบนารีในกรณีที่คุณพบปัญหาใด ๆ
คุณต้องเรียกใช้คำสั่งนี้ทุกครั้งที่มีการอัปเดต Flash Player เนื่องจากการเปลี่ยนแปลงของคุณจะถูกเขียนทับ
ด้วยวิธีแก้ปัญหานี้คุณสามารถเปิดใช้งานการเร่งความเร็ว HW ติดตั้ง libvdpau1 และใช้งานได้ง่ายมากเมื่อเทียบกับการปะแก้ libvdpau
ใช้ Google Chrome กับ PepperFlash
ตั้งแต่เวอร์ชัน 20, Google Chrome มาพร้อมกับ "Pepper" Flash Player 11.3 พร้อมการรองรับ PPAPI (แทน 11.2 สำหรับ NPAPI ที่ Firefox ใช้และอื่น ๆ ) PepperFlash ดูเหมือนจะไม่ได้รับผลกระทบจากปัญหานี้เนื่องจากดูเหมือนว่าจะใช้การเร่งด้วยฮาร์ดแวร์แบบเต็ม
PepperFlash สามารถใช้กับ Chromiumได้ แต่น่าเสียดายที่ไม่มีเบราว์เซอร์อื่นที่สนับสนุน PPAPI
ปิดใช้งานการเร่งความเร็วฮาร์ดแวร์ของ Flash Player
การแก้ไขที่ง่ายที่สุดและรบกวนน้อยที่สุดคือปิดการเร่งความเร็ว HWของ Flash Player ในการตั้งค่าการแสดงผล - คลิกขวาที่แฟลชเลือกการตั้งค่า ...
อย่างไรก็ตามสิ่งนี้ไม่ใช่เรื่องง่ายเนื่องจากหน้าต่างการตั้งค่าไม่ตอบสนองภายใต้ตัวจัดการแบบรวม (Compiz, Unity มาตรฐาน) และหากเบราว์เซอร์แสดงแถบเลื่อน
การปิดการเร่งฮาร์ดแวร์เปิดวิดีโอใด ๆ (เช่นบน YouTube) ในหน้าจอและจากนั้นเปิดการตั้งค่า ... หน้าต่าง หรือคุณสามารถเปลี่ยนเป็น Unity 2D หรือ WM แบบไม่คอมโพสิตอื่นชั่วคราว
การเปลี่ยนแปลงจะมีผลหลังจากรีเฟรช
ข้อเสียเปรียบ:เป็นการปิดใช้งานการเร่งความเร็ว HW ใน Flash Player แม้สำหรับการดำเนินการเวกเตอร์และบิตแมป เกม Flash และภาพยนตร์บางเกมอาจมีประสิทธิภาพที่แย่ลงและ / หรือกราฟิกแย่ลง
ถอนการติดตั้ง libvdpau
หากคุณต้องการเปิดใช้งานการเร่งความเร็ว HW ใน Flash Player คุณอาจถอนการติดตั้ง libvdpau จากระบบซึ่งจะป้องกันไม่ให้ Flash Player ใช้ VDPAU ได้อย่างมีประสิทธิภาพ
วิ่ง:
sudo apt-get remove libvdpau1
ข้อเสียเปรียบ:ผู้เล่นเดสก์ท็อป (เช่น Totem และ Mplayer) จะไม่สามารถใช้การถอดรหัสวิดีโอฮาร์ดแวร์ได้เช่นกัน สิ่งนี้จะนำไปสู่การใช้งาน CPU ที่สูงขึ้นในระหว่างการเล่น นอกจากนี้ประสิทธิภาพการเล่นวิดีโออาจได้รับผลกระทบ (เช่นเฟรมลดลงหรือภาพที่ตรึงอย่างสมบูรณ์) โดยเฉพาะถ้าคุณมี CPU ที่ช้ากว่าและคุณกำลังรับชมวิดีโอ 1080p
เปิดใช้งานการถอดรหัสวิดีโอฮาร์ดแวร์ Flash Player
ผู้ใช้ส่วนใหญ่รายงานว่าสิ่งนี้นำไปสู่การล่มบ่อยของ Flash Player (อาจเกิดจากปัญหาการใช้งานพร้อมกันในการถอดรหัส) แต่ถ้าคุณโชคดีลองใช้ดู
และนี่ก็เป็นวิธีเดียวกับที่ใช้แฟลช-Aid addon มันจะไม่ทำให้ดีขึ้น
วิ่ง:
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
สิ่งนี้จะสร้างไฟล์ /etc/adobe/mms.cfg ที่มีEnableLinuxHWVideoDecode=1
เนื้อหา นี่เป็นวิธีเดียวที่จะบังคับให้ Flash Player ถอดรหัสวิดีโอบน GPU ได้และ Adobe ไม่รองรับอย่างเป็นทางการ
หากต้องการเลิกทำสิ่งนี้ให้เรียกใช้:
sudo rm /etc/adobe/mms.cfg
เพื่อลบไฟล์ mms.cfg
คุณสามารถพยายามที่จะปรับปรุงความมั่นคง Flash Player กับVDPAU_NVIDIA_NO_OVERLAY=1
ตัวแปรสภาพแวดล้อมให้ดูฟอรั่มของ Nvidia
แทนที่ผู้เล่น Flash
(ตามที่แนะนำโดยbowser บน Launchpad )
ใช้FlashVideoReplacer Firefox add-on, Literna Mágicaหรือโซลูชันอื่น ๆ เพื่อแทนที่ผู้เล่นมาตรฐานใน Flash ด้วยปลั๊กอินเครื่องเล่นวิดีโอแบบฝัง (เช่น Totem - totem-mozilla
- หรือ VLC - mozilla-plugin-vlc
) ไม่มี Flash Player ไม่มีปัญหา
Patch libvdpau (vdpau_trace แฮ็ค)
มีโปรแกรมแก้ไขอย่างไม่เป็นทางการโดย Nvidiaซึ่งแก้ไขข้อบกพร่องของ Flash Player ในระดับ libvdpau โดยการแฮ็ค vdpau_trace
โปรดทราบว่าการปรับปรุงดังกล่าวโดย Stephen Warren นั้นเหนือกว่าในทางเทคนิคและควรใช้แทน
ไม่ใช่วิธีแก้ไขปัญหา
วิธีแก้ไขปัญหาต่อไปนี้จะใช้งานได้เพียงบางส่วนเท่านั้นหรืออาจมีข้อเตือนใจบางประการ
เปิดใช้งาน HTML5 ที่ YouTube
การเปิดใช้งานโปรแกรมเล่น HTML5 ที่http://www.youtube.com/html5จะไม่ทำงานกับวิดีโอทั้งหมด วิดีโอ YouTube บางรายการไม่สามารถเล่นได้ในโปรแกรมเล่น HTML5 (ตัวอย่างเช่นเนื่องจากขาดการสนับสนุนโฆษณา) อย่างไรก็ตามวิดีโอ HTML5 นั้นยอดเยี่ยมและคุณควรใช้ต่อไป
ปรับลดรุ่นเป็น Flash Player 11.1
มีช่องโหว่ที่รู้จักใน FP 11.1 ซึ่งได้รับการแก้ไขใน 11.2 หากคุณต้องการเสี่ยงคุณควรรู้ว่าคุณกำลังทำอะไร
หากคุณยังต้องการดาวน์เกรดลองใช้ Flash Player 10.3 ซึ่งยังคงอยู่ - คุณสามารถรับได้ในที่เก็บถาวรของ Adobe
สลับไปใช้ GPU อื่น
ดูเหมือนว่า Nvidia GPU น้อยมากจะไม่ได้รับผลกระทบโดยเฉพาะ Quadro 2000 และ GeForce GT 430 ทั้งคู่มีฟีเจอร์ VDPAU ที่ตั้งค่า Cแต่มิฉะนั้นฟีเจอร์การตั้งค่า C GPU ส่วนใหญ่ก็เช่นกัน หากคุณมี GPU ดังกล่าวข้างต้นโปรดบอกเราใน Launchpadว่าข้อบกพร่องนี้ส่งผลกระทบต่อคุณหรือไม่