কোনও ল্যাপটপে এইচডিএমআই সক্রিয় করতে পরিচালনা করবেন না (এতে অপটিমাস / বাম্বল রয়েছে)


17

আমি ডেবিয়ান (প্রসারিত) দিয়ে একটি পিসি (এইচপি জেডবুক) এ এইচডিএমআই আউটপুট ব্যবহার করার চেষ্টা করছি। আমি বাম্বলবি কনফিগার করেছি, এটি ভাল কাজ করে (গ্লাকসিনফো এবং অপ্টেরুন গ্লাক্সিনফো প্রত্যাশিত তথ্যের রিপোর্ট করে এবং আমি জটিল জিএলএসএল শেডারগুলিও পরীক্ষা করে দেখি যা প্রত্যাশা অনুযায়ী কাজ করে)।

এখন আমি এইচডিএমআইতে একটি ভিডিওপ্রজেক্টর প্লাগ করতে সক্ষম হতে চাই। আমি এখানে [1] পড়েছি যে এইচডিএমআই যখন এনভিডিয়া বোর্ডের সাথে সংযুক্ত থাকে (xrandr দ্বারা ম্যানিপুলেট করা যায় এমন একটি ভার্চুয়াল আউটপুট ব্যবহার করে) তখন এটি কনফিগার করতে ইন্টেল-ভার্চুয়াল-আউটপুট ব্যবহার করা যেতে পারে। তবে, ইন্টেল-ভার্চুয়াল-আউটপুট বলে:

 no VIRTUAL outputs on ":0"

আমি যখন করি তখন xrandr -qকোনও ভার্চুয়াল আউটপুট তালিকাভুক্ত হয় না, আমার কেবলমাত্র:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1920x1080     60.02*+  59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   ... other video modes ...
   400x300       60.32    56.34  
   320x240       60.05  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

Xserver-xorg-video-intel এর আমার ইনস্টল করা সংস্করণটি হ'ল: xserver-xorg-video-intel_2.99.917 + git20160706-1_amd64.deb

আপডেট (শনি। ডিসেম্বর 09, 2016) আমি ডেবিয়ান আপডেট করেছি, এবং এখন কিছু ক্রিয়াকলাপ সক্রিয় যখন দ্বিতীয় মনিটর সক্রিয় থাকে তখন এক্স ক্র্যাশ হয় (উদাহরণস্বরূপ xemacs)। সপ্তাহিক সংক্ষিপ্ত বিবরণ 17 ডিসেম্বর 2016: হ্যাঁ, খুঁজে পেয়েছি! (উত্তর আপডেট হয়েছে)।

আপডেট (বুধ সেপ্টেম্বর 27 2017) পদ্ধতিটি 99% ক্ষেত্রে কাজ করে, তবে গত সপ্তাহে আমি এমন একটি বিমারের চেষ্টা করেছি যা কেবল 50Hz মোড গ্রহণ করে, এবং 60Hz ছাড়া অন্য কিছু পেতে পারে না (তাই এটি কার্যকর হয়নি)। 50Hz মোডগুলিকে কীভাবে জোর করাতে হয় জানেন?

আপডেট (মঙ্গল 01 অক্টোবর 2019) আরগ! আবার ভাঙা: এক্স এবং এনভিডিয়া ড্রাইভার আপডেট করার পরে, অপটিরন এখন ক্র্যাশ হয়ে গেছে ( /var/log/Xorg.8.logওসলুকআপক্লোর + 0x139-তে ক্র্যাশ হয়েছে)। আপডেট (07 অক্টোবর 2019) একটি অস্থায়ী সমাধান (আপডেট উত্তর) খুঁজে পেয়েছে

[1] https://github.com/Bumblebee- প্রোজেক্ট / বোম্বলবি / উইকি / মাল্টি- মনিটর- সেটআপ


1
কোনও উত্তর নয় কারণ এটি এনভিডিয়া জিপিইউ ব্যবহার করে না, তবে একটি এফওয়াইআই হিসাবে - এনভিডিয়া 960 মিটি অপ্টাস ল্যাপটপ (ডিসেম্বর 2016 ডেল ইন্সপায়রন 15) দিয়ে ফেডোরা 25 চলছে, আমি কোনও এনভিডিয়া বা বাম্বলবি ড্রাইভার ইনস্টল না করে বহিরাগত এইচডিএমআই মনিটর ব্যবহার করতে পারি। এই সেটআপটি দিয়ে, আমি যদি বুটের পরে এটি প্লাগ ইন করি তবে বাহ্যিক এইচডিএমআই মনিটর সনাক্ত করতে পারে না। এই কাজটি পেতে, বুটের আগে এইচডিএমআই মনিটর প্লাগ ইন করুন এবং গ্রাব মেনুতে একটি মিররযুক্ত মনিটর পেতে ওয়েলল্যান্ডের সাথে এক্স-এ লগইন করুন এবং একটি বর্ধিত মনিটর পেতে Fn-F8 মনিটর স্যুইচারটি ব্যবহার করুন।
carlsborg

উত্তর:


20

হ্যাঁ, খুঁজে পেয়েছি! ইন্টেল ড্রাইভারের ভার্চুয়াল আউটপুট সক্রিয় করার জন্য, আপনাকে 20-intel.confএক্সর্গ কনফিগারেশন ডিরেক্টরিতে একটি ফাইল তৈরি করতে হবে (দেবিয়ান স্ট্রেচের /usr/share/X11/xorg.conf.dঅধীনে, পড়ার দ্বারা সন্ধান করা হয়েছে /var/log/Xorg.0.log)

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

আমার /etc/bumblebee/xorg.conf.nvidia নিম্নরূপ:

Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    Option "ProbeAllGpus" "false"
    Option "NoLogo" "true"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "DiscreteNVidia"
EndSection

কিছু ব্যাখ্যা: এটির জন্য একটি "স্ক্রিন" বিভাগ প্রয়োজন, অন্যথায় এটি 20-ইন্টেলকন্টে ঘোষিত ইন্টেল ডিভাইসটি ব্যবহার করার চেষ্টা করে (যা আমরা ঠিক আগে যুক্ত করেছি, ওহ আমার ...)। কোনও বাহ্যিক মনিটর সংযুক্ত না থাকলে অপ্টিরুন দিয়ে শুরু করতে সক্ষম থাকার জন্য এটি "AllowEmptyInitialConfigration" দরকার।

এই কনফিগারেশন এবং শুরু করার সাথে সাথে intel-virtual-outputআমি আমার এইচডিএমআই পোর্টটি অ্যাক্সেস করতে সক্ষম হয়েছি। ইয়েহাহা !!!

সমস্যা সমাধান: যদি কাজ না করে optirunবা intel-virtual-outputকাজ করে না, তবে একবার দেখুন /var/log/Xorg.8.log(ভোম্বলবি প্রদর্শন সহ একটি এক্স সার্ভার তৈরি করে: 8 অভ্যন্তরীণভাবে ব্যবহৃত)।

নোট আমি বিভিন্ন জায়গায় যে পড়া KeepUnusedXServerএ সেট করা উচিত trueএবং PMMethodকরতে noneমধ্যে /etc/bumblebee/bumblebee.conf, আমি করিনি এবং এটি কাজ করে জরিমানা। আমি যদি এটি করি তবে এটি কাজ করে, তবে অপ্টিরান-এড অ্যাপ্লিকেশনটি বের করার পরে বা ইন্টেল-ভার্চুয়াল-আউটপুট হত্যার পরেও বিচ্ছিন্ন জিপিইউ থাকবে।

আরও নোট অন্য কিছু যা আমাকে প্রাচীরের উপরে মাথা ঠেলে দিয়েছিল নুভাউকে নিষ্ক্রিয় করে ইন্টেল এক্স সার্ভারটি শুরু করছিল: এটি GRUB পরামিতিগুলিতে উল্লিখিত কার্নেলের কাছে দেওয়া পতাকা দ্বারা করা দরকার। ইন /etc/defaults/grub, আমি নিম্নলিখিত লাইন আছে:

GRUB_CMDLINE_LINUX_DEFAULT="quiet blacklist.nouveau=1 i915.modeset=1 gfxpayload=640x480 acpi_backlight=vendor acpi_osi=! acpi_osi=\"Windows 2009\""

(উদ্ধৃতি এবং পলায়নের উদ্ধৃতি সাবধান)

কিছু ব্যাখ্যা: এটি নুউউ লোড করা এড়ায় (এটি এনভিডিয়া এক্স সার্ভারের সাথে সঙ্গতিপূর্ণ নয়) এবং বুট করার সময় ইন্টেল ড্রাইভারকে গ্রাফিক্স মোডে যেতে বলে। যদি আপনি এটি না করেন, তবে ইন্টেল এক্স সার্ভারটি আরম্ভ করতে পারে না এবং এটি সিপিইউ-সাইড 3 ডি রেন্ডারিং সহ একটি পুরানো VESA সার্ভারে ফিরে যায়। acpi_xxxপতাকার এই নির্দিষ্ট মেশিন একটি BIOS বাগ এটি বিপর্যয় যখন বিযুক্ত জিপিইউ বন্ধ রেখে গ্রাফিক্স মোডে যাচ্ছে তোলে পরাস্ত উপর প্রয়োজন হয়। মনে রাখবেন যে এটি এই নির্দিষ্ট নোটবুকের জন্য নির্দিষ্ট (এইচপি জেডবুক পোর্টেবল ওয়ার্কস্টেশন), এটি অপ্রয়োজনীয় বা অন্য ল্যাপটপের ক্ষেত্রে পৃথক হতে পারে।

আপডেট (ডিসেম্বর 6 2017) সর্বশেষতম দেবিয়ান ডিস্ট্রো (বাস্টার) এর সাথে, "915.মোডেসেট = 1 জিএফপ্সেলোড = 640x480" অপ্রয়োজনীয়। নুউউউ মুছে ফেলার জন্য আমার /etc/modprobe.d এ একটি "ব্ল্যাকলিস্ট নুভাউ" দিয়ে একটি নুওউকনফ ফাইল তৈরি করতে হবে, তারপরে "আপডেট-থ্রোরামস-ইউ" দিয়ে রামডিস্কটি পুনরায় তৈরি করুন। পুনরায় বুট করুন এবং "lsmod | গ্রেপ নুওউ" দিয়ে "নুউউ" আর লোড হয় না তা নিশ্চিত করুন।

আপডেট (ডিসেম্বর 17 2016) সর্বশেষতম xorg-সার্ভারের সাথে (1.19), র্যান্ডআর ফাংশনে এমন একটি সমস্যা আছে যা গামা ব্যবহার করার সময় পরিচালনা করে intel-virtual-output। এখানে জেসারভার প্যাচ করার এবং এটির কাজ করার পদ্ধতিটি এখানে রয়েছে:

sudo apt-get build-dep xserver-xorg-core
apt-get source xorg-server

hw / xfree86 / মোডগুলি / xg86RandR12.c লাইন 1260 সম্পাদনা করুন, "রিটার্ন" (োকান (যাতে ফাংশনটি xf86RandR12CrtcComputeGamma()কিছু না করে)

dpkg-buildpackage -rfakeroot -us -uc
cd ..
sudo dpkg -i xserver-xorg-core_n.nn.n-n_amd64.deb

( n.nn.n-nসঠিক সংস্করণ দিয়ে প্রতিস্থাপন ), রিবুট এবং ইয়োহা !! আবার কাজ! (তবে এটি দ্রুত এবং নোংরা সমাধান)

আপডেট একটি ত্রুটি প্রতিবেদন দায়ের করেছে (ইতিমধ্যে জানা ছিল, এবং এটি সবেমাত্র স্থির ছিল): https://bugs.freedesktop.org/show_bug.cgi?id=99129

আমি কীভাবে বুঝতে পেরেছি: এসএসএসের মাধ্যমে অন্য মেশিন থেকে ইনস্টল xserver-xorg-core-dbgকরেছিলাম gdb /usr/lib/xorg/Xorg <xorg pid>

আপডেট (জানুয়ারী 17 17) মনে হয় যে বাগটি এখন সর্বশেষতম দেবিয়ান প্যাকেজগুলিতে স্থির হয়েছে।

আপডেট (জানুয়ারী 24 18) আপনি যখন একটি উপস্থাপনা করার জন্য একটি বিমর প্লাগ করতে চান এবং শুরু করার আগে সবকিছু ঠিকঠাক করে ফেলতে চান (ইন্টেল-ভার্চুয়াল-আউটপুট + xrandr), তখন এটি স্ট্রেসযুক্ত হতে পারে। এখানে একটি ছোট স্ক্রিপ্ট রয়েছে যা কাজটি করে (অস্বীকৃতি: স্টাইল ইত্যাদি সম্পর্কিত উন্নতির জন্য অনেক জায়গা ...):

# beamer.sh: sets Linux display for doing a presentation, 
#  for bumblebee configured on a laptop that has the HDMI
#  plugged on the NVidia board.
#
# Bruno Levy, Wed Jan 24 08:45:45 CET 2018
#
# Usage: 
#    beamer.sh widthxheight
#    (default is 1024x768)


# Note: output1 and output2 are hardcoded below,
#  change according to your configuration.
output1=eDP1
output2=VIRTUAL1

# Note: I think that the following command should have done
# the job, but it does not work. 
#    xrandr --output eDP1 --size 1024x768 --output VIRTUAL1 --size 1024x768 --same-as eDP1
# My guess: --size is not implemented with VIRTUAL devices.
# Thus I try to find a --mode that fits my needs in the list of supported modes.

wxh=$1

if [ -z "$wxh" ]; then
  wxh=1024x768
fi

# Test whether intel-virtual-output is running and start it.
ivo_process=`ps axu |grep 'intel-virtual-output' |egrep -v 'grep'`
if [ -z "$ivo_process" ]; then
   intel-virtual-output
   sleep 3
fi

# Mode names on the primary output are simply wxh (at least on
#  my configuration...)
output1_mode=$wxh

echo Using mode for $output1: $output1_mode

# Mode names on the virtual output are like: VIRTUAL1.ID-wxh
# Try to find one in the list that matches what we want.
output2_mode=`xrandr |grep $output2\\\. |grep $wxh |awk '{print $1}'`
# There can be several modes, take the first one.
output2_mode=`echo $output2_mode |awk '{print $1}'` 

echo Using mode for $output2: $output2_mode

# Showtime !
xrandr --output $output1 --mode $output1_mode --output $output2 --mode $output2_mode --same-as $output1

আপডেট (10/07/2019)

নতুন ক্র্যাশের জন্য একটি "ফিক্স": একটি স্ক্রিপ্টে যা লিখবে তা লিখুন ( bumblebee-startx.shউদাহরণস্বরূপ এটি কল করুন ):

optirun ls # to load kernel driver
/usr/lib/xorg/Xorg :8 -config /etc/bumblebee/xorg.conf.nvidia \
 -configdir /etc/bumblebee/xorg.conf.d -sharevts \
 -nolisten -verbose 3 -isolateDevice PCI:01:00:0 \
 -modulepath /usr/lib/nvidia/nvidia,/usr/lib/xorg/modules/

(পিসিআই প্রতিস্থাপন করুন: এনএন: এনএন: এন আপনার এনভিডিয়া কার্ডের ঠিকানা সহ, এলএসপিসিএ দিয়ে প্রাপ্ত)

এই স্ক্রিপ্টটি টার্মিনাল উইন্ডো থেকে রুট হিসাবে চালান ( sudo bumblebee-startx.sh), টার্মিনালটি উন্মুক্ত রাখুন optirunএবং তারপরে intel-virtual-outputপ্রত্যাশা অনুযায়ী কাজ করুন (দ্রষ্টব্য: কখনও কখনও xrandrস্ক্রিন / ভিডিওপ্রজেক্টর সনাক্তকরণের জন্য আমাকে চালনার প্রয়োজন হয় )। এখন বুঝতে পারছি না কেন খুব একই কমান্ডটি ভোবাবি ক্র্যাশ থেকে শুরু হয়েছিল, এত রহস্য এখানে ... (তবে কমপক্ষে এটি একটি অস্থায়ী সমাধান দেয়)।

আমি কীভাবে জানতে পেরেছি: এক্সਸਰভার শুরু করার জন্য একটি 'র‍্যাপার' স্ক্রিপ্ট লিখেছি, এটিকে বোম্বলবি.কনফ-এ XorgBinary হিসাবে ঘোষণা করেছে, এটি একটি ফাইলে কমান্ড লাইন ($ *) সংরক্ষণ করেছে, এক্সসার্ভারে একটি প্যাচ এলডিপ্রেলড যুক্ত কিছু জিনিস চেষ্টা করেছে ওসলুকআপ কালারে ক্রাশটি ঠিক করে ফেলুন (কাজ হয়নি), কিন্তু যখন আমি একই কমান্ড লাইনটি হাতে নিয়ে চালানোর চেষ্টা করেছি তখন এটি কাজ করেছিল, এবং এটি আমার প্যাচ ছাড়াই কাজ চালিয়ে গেছে (তবে এখনও আমি বুঝতে পারি না) কেন।

11/15/2019 আপডেট করুন আপডেট করার পরে, আমি সিস্টেমটিকে অকেজো করে তোলে lick কার্নেল প্যারামিটার যোগ করে স্থির i915.enable_psr=0(ইন /etc/defaults/grub, তারপরে sudo update-grub)। আপনি যদি এখনই চান, পিএসআর এর অর্থ 'প্যানেল সেল্ফ রিফ্রেশ', ইন্টেল জিপিইউগুলির একটি বিদ্যুৎ-সঞ্চয় বৈশিষ্ট্য (এটি স্ক্রিনের ঝাঁকুনির কারণ হতে পারে)।


3
তুমি, আমি তোমাকে পছন্দ করি! : ডি আমি আর্চ লিনাক্সে আছি, আমি শুরু করতে পারিনি intel-virtual-output। প্রস্থান কোড সহ প্রস্থান করছিল 111। এমনকি এটি কী করছে তা নির্ধারণ করার চেষ্টা করছিলাম strace। আপনার পোস্টটি পেয়েছি, আমি এটি তৈরি করেছি /etc/X11/xorg.conf.d/20-intel.confঠিক আপনার মতো, BusID "PCI:2:0:0"ক্ষেত্রে আমার যুক্তও করেছেন। অনুরূপ সেটিংস /etc/bumblebee/xorg.conf.nvidiaএবং বাম ব্যবহার করা হয়েছে, দুর্দান্ত intel-virtual-outputচলছে। xrandrআমার অন্যান্য বন্দরগুলি এখন সনাক্ত করছে! : ডি <3 সমস্যা সমাধানের অংশটি /var/log/Xorg.8.logসত্যই সহায়তা করেছে
গ্যাবলেউক্স

কিছুটা পরীক্ষার পরে ঠিক আছে, হ্যাঁ আমি তালিকাভুক্ত ডিভাইসগুলি দেখতে পাচ্ছি xrandr, তবে কেবলটি আঁকানো আমাকে মাউস দেখায়, তবে উইন্ডোগুলি বাহ্যিক ডিসপ্লেতে প্রদর্শিত হচ্ছে না। কখনও কখনও এটি আমার মূল স্ক্রিনের একটি অনুলিপি দেখায় এবং তারপরে উভয় পর্দা কালো হয়ে যায় এবং কিছুই ঘটে না। এবং চালু সিস্টেমটি শুরু হয় /etc/X11/xorg.conf.d/20-intel.confনা এবং লগগুলিতে আমি কিছুই দেখতে পাই না। যাইহোক, এই ভাগ করে নেওয়ার জন্য ধন্যবাদ, আমি মনে করি আমি একটি সমাধান কাছাকাছি আসছি।
গ্যাবলেউক্স

এটি আপনি যে ডেস্কটপ পরিবেশটি ব্যবহার করছেন তার উপর নির্ভর করে। আমি কেডিএ ব্যবহার করছি, এবং পছন্দগুলিতে স্ক্রিন কনফিগারেশনটি সামান্য কিছুটা টুইঙ্ক করতে হবে।
ব্রুনোলেভি

আমি এখন এটি কাজ পেয়েছিলাম বলে মনে করি। এটি আমার টিভিতে ব্যর্থ হয়েছিল, তবে এটি আমার
ডিসপ্লেপোর্টের

1
@ ব্রুনোলাভি এটি অবশেষে কাজ করে। আমার পুরানো ল্যাপটপটি জীবনে নতুন একটি ইজারা দেওয়ার জন্য আপনাকে ধন্যবাদ!
জোসেফ আর।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.